source: trunk/INSTALL/expressoInstall.sh @ 6207

Revision 6207, 4.5 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - A instalacao do dialog deve ser a primeira coisa e deve ser feito automaticamente.

  • Property svn:executable set to *
Line 
1#!/bin/bash
2#
3# set tabstop=5
4#
5# Criado por William Fernando Merlotto <william@prognus.com.br>
6# Baseado no script original desenvolvido por João Alfredo Knopik Junior <jakjr@celepar.pr.gov.br>
7# com colaborações de:
8#       "William Fernando Merlotto" <william@prognus.com.br>, para Debian, Ubuntu, Red Hat e CentOS
9#       "Gustavo Nakahara" <gustavonk@prognus.com.br>, para Debian, Ubuntu, Red Hat e CentOS
10#       "Rafael Cristaldo" <rafael@prognus.com.br>, para Debian, Ubuntu, Red Hat e CentOS
11#       "Alexandre Felipe Muller de Souza" <amuller@celepar.pr.gov.br>, para Debian
12#       "Cássio Luiz" <cassiolp@cnpq.br>, para Red Hat e CentOS
13#       "M. Rodrigo Monteiro" <mrodrigom@gmail.com>, para Red Hat e CentOS
14#
15#
16# Versões:
17# 27/03/2012 - v1.0
18#       Termino do instalador basico, para Debian Squeeze, CentOS 6 e Ubuntu Server 11.10
19
20#################################################################################################
21#                                                                                               #
22#                                               MAIN                                            #
23#                                                                                               #
24#################################################################################################
25
26# TODO: Internacionalizar o script de instalação:
27# http://www.linuxquestions.org/questions/programming-9/bash-script-how-to-get-locale-translations-802726/
28# http://tldp.org/LDP/abs/html/localization.html
29# http://mywiki.wooledge.org/BashFAQ/098
30
31alias cp='cp -f'
32
33# Variaveis globais
34ARQS="arquivos"
35VERSAO="2.4.0"
36# Inclusao dos scripts de apoio
37. $ARQS/scripts/aux.sh
38. $ARQS/scripts/ini.sh
39. $ARQS/scripts/http.sh
40. $ARQS/scripts/ldap.sh
41. $ARQS/scripts/bd.sh
42. $ARQS/scripts/smtp.sh
43. $ARQS/scripts/imap.sh
44
45# Verifica o usuario que esta executando o script
46# DEBUG: Comente esta linha para testar o script sem utilizar o usuário root.
47[ $UID != 0 ] && { echo "Este script deve ser executado como superusuario (root) ou com sudo"; exit 1; }
48
49# Instala o dialog
50# Se o arquivo existir, eh Debian ou variante ( ls /etc/*[-_]{release,version} )
51if [ -f /etc/lsb-release ]
52then
53        apt-get -y install dialog || { echo "Falha ao instalar o dialog! Por favor, instale manualmente."; exit 1; }
54else
55        yum -y install dialog || { echo "Falha ao instalar o dialog! Por favor, instale manualmente."; exit 1; }
56fi
57
58# Telas da instalacao
59BACKTITLE="Instalação do ExpressoLivre versão $VERSAO"
60
61INTRO='
62Bem-Vindo(a) a instalação do ExpressoLivre!
63
64O script de instalação lhe permitirá escolher entre instalar e configurar automaticamente todos os serviços necessário ao funcionamento do ExpressoLivre ou lhe permitirá escolher quais serviços serão instalados e configurados. Esta última alternativa é interessante para ambientes grandes, onde os serviços são instalados e configurados em máquinas distintas.
65
66As informações de senha, domínio e organização serão requisitadas de acordo com o(s) serviço(s) selecionado(s).
67
68A equipe ExpressoLivre não se responsabiliza por danos ocasionados pelo uso deste instalador ou mesmo pelo próprio ExpressoLivre.
69Você deseja prosseguir, por sua conta e risco, a instalação ExpressoLivre?'
70
71# Se o usuario escolher "nao", será retornado 1 e consequentemente o script será encerrado.
72dialog --backtitle "$BACKTITLE" --cr-wrap --yesno "$INTRO" 18 80 || exit 0
73
74# Menu de selecao do SO
75SO=$( dialog --backtitle "$BACKTITLE" --stdout --menu 'Em qual sistema operacional (SO) o ExpressoLivre será instalado?' 13 70 10 \
76        rhel6 'GNU/Linux Red Hat (v6.x) ou CentOS (v6.x)' \
77        debian-squeeze 'GNU/Linux Debian Squeeze (v6.x)'  \
78        ubuntu-11.10 'GNU/Linux Ubuntu Server (11.10)' )
79       
80        # TODO: Precio de ajuda para implementar e testar nestas distros
81        #sles10 'GNU/Linux SuSe Enterprise Linux (v10.x)' \
82        #sles11 'GNU/Linux SuSe Enterprise Linux (v11.x)' \
83
84BACKTITLE="$BACKTITLE, para $SO"
85
86# Inicializacao basica de instalacao, como atualização de repositório e criação de variáveis de ambiente
87ini_$SO
88
89# Inicia a escolha/instalacao e configuracao dos servicos nessarios ao ExpressoLivre
90SERVICOS=$( dialog --backtitle "$BACKTITLE" --stdout --separate-output \
91        --checklist 'Por favor, selecione quais serviços serão instalados neste sistema operacional:' 14 75 14 \
92        http 'Servidor http (apache) juntamente com os módulos do PHP5' on \
93        ldap 'Servidor ldap (openldap)' on \
94        bd 'Servidor de banco de dados (postgresql)' on \
95        smtp 'Sevirdor smtp (postfix)' on \
96        imap 'Servidor imap (cyrus-imap)' on )
97
98# Executa funcao de instalacao/configuracao do servico no respectivo SO.
99for I in $SERVICOS
100do
101        $I\_$SO
102done
103
104dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "A comunidade do Expresso Livre agradece a sua participação.\n\n\nEm caso de dúvidas, por favor, visite: http://www.expressolivre.org" 8 75
Note: See TracBrowser for help on using the repository browser.