[5797] | 1 | #!/bin/bash |
---|
| 2 | # |
---|
| 3 | # set tabstop=5 |
---|
| 4 | # |
---|
| 5 | # Criado por William Fernando Merlotto <william@prognus.com.br> |
---|
[7118] | 6 | # Baseado no script original desenvolvido por Joao Alfredo Knopik Junior <jakjr@celepar.pr.gov.br> |
---|
| 7 | # com colaboracoes de: |
---|
[5837] | 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 |
---|
[5797] | 11 | # "Alexandre Felipe Muller de Souza" <amuller@celepar.pr.gov.br>, para Debian |
---|
[7118] | 12 | # "Cassio Luiz" <cassiolp@cnpq.br>, para Red Hat e CentOS |
---|
[5797] | 13 | # "M. Rodrigo Monteiro" <mrodrigom@gmail.com>, para Red Hat e CentOS |
---|
| 14 | # |
---|
| 15 | # |
---|
[7118] | 16 | # Versoes: |
---|
[5837] | 17 | # 27/03/2012 - v1.0 |
---|
| 18 | # Termino do instalador basico, para Debian Squeeze, CentOS 6 e Ubuntu Server 11.10 |
---|
[7503] | 19 | # 12/11/2012 - v1.1 |
---|
| 20 | # Adicionado suporte ao Ubuntu LTS 12.04 |
---|
[5797] | 21 | |
---|
| 22 | ################################################################################################# |
---|
| 23 | # # |
---|
| 24 | # MAIN # |
---|
| 25 | # # |
---|
| 26 | ################################################################################################# |
---|
| 27 | |
---|
[7105] | 28 | # TODO: Internacionalizar o script de instalacao: |
---|
[5797] | 29 | # http://www.linuxquestions.org/questions/programming-9/bash-script-how-to-get-locale-translations-802726/ |
---|
| 30 | # http://tldp.org/LDP/abs/html/localization.html |
---|
| 31 | # http://mywiki.wooledge.org/BashFAQ/098 |
---|
| 32 | |
---|
| 33 | alias cp='cp -f' |
---|
| 34 | |
---|
| 35 | # Variaveis globais |
---|
| 36 | ARQS="arquivos" |
---|
[7619] | 37 | VERSAO="2.5.0" |
---|
[5797] | 38 | # Inclusao dos scripts de apoio |
---|
| 39 | . $ARQS/scripts/aux.sh |
---|
| 40 | . $ARQS/scripts/ini.sh |
---|
| 41 | . $ARQS/scripts/http.sh |
---|
| 42 | . $ARQS/scripts/ldap.sh |
---|
| 43 | . $ARQS/scripts/bd.sh |
---|
| 44 | . $ARQS/scripts/smtp.sh |
---|
| 45 | . $ARQS/scripts/imap.sh |
---|
| 46 | |
---|
| 47 | # Verifica o usuario que esta executando o script |
---|
[7118] | 48 | # DEBUG: Comente esta linha para testar o script sem utilizar o usuario root. |
---|
[5837] | 49 | [ $UID != 0 ] && { echo "Este script deve ser executado como superusuario (root) ou com sudo"; exit 1; } |
---|
[5797] | 50 | |
---|
[6219] | 51 | # Identifica o SO |
---|
| 52 | qualSO |
---|
| 53 | # Verifica se o SO eh compativel com o instalador |
---|
| 54 | if ( validaSO "Debian" "6.0" ) |
---|
| 55 | then |
---|
[6261] | 56 | INSTALL="debian_6" |
---|
[7503] | 57 | elif ( validaSO "Ubuntu" "12.04" ) |
---|
[6219] | 58 | then |
---|
[7503] | 59 | INSTALL="ubuntu_1204" |
---|
[6219] | 60 | elif ( validaSO "CentOS" "6." || validaSO "RedHat" "6." ) |
---|
| 61 | then |
---|
[6261] | 62 | INSTALL="rhel_6" |
---|
[6219] | 63 | else |
---|
| 64 | echo "Sistema operacional desconhecido ou incompativel com o instalador do Expresso Livre!" |
---|
| 65 | echo "$OSSTR" |
---|
[7503] | 66 | echo "Por favor, utilize uma distribuicao GNU/Linux compativel: Debian 6.x, Ubuntu LTS 12.04 ou CentOS/RedHat 6.x" |
---|
[6219] | 67 | exit 1 |
---|
| 68 | fi |
---|
[5797] | 69 | |
---|
[6546] | 70 | # Telas da instalacao |
---|
[7118] | 71 | BACKTITLE="Instalacao do ExpressoLivre versao $VERSAO" |
---|
[6546] | 72 | |
---|
[6219] | 73 | BACKTITLE="$BACKTITLE, para $INSTALL" |
---|
[5797] | 74 | |
---|
[7118] | 75 | # Inicializacao basica de instalacao, como atualizacao de repositorio e criacao de variaveis de ambiente |
---|
[6219] | 76 | ini_$INSTALL |
---|
[5797] | 77 | |
---|
[6546] | 78 | INTRO=' |
---|
[7118] | 79 | Bem-Vindo(a) a instalacao do ExpressoLivre! |
---|
[6546] | 80 | |
---|
[7118] | 81 | O script de instalacao lhe permitira escolher entre instalar e configurar automaticamente todos os servicos necessario ao funcionamento do ExpressoLivre ou lhe permitira escolher quais servicos serao instalados e configurados. Esta Ultima alternativa e interessante para ambientes grandes, onde os servicos sao instalados e configurados em maquinas distintas. |
---|
[6546] | 82 | |
---|
[7118] | 83 | As informacoes de senha, dominio e organizacao serao requisitadas de acordo com o(s) servico(s) selecionado(s). |
---|
[6546] | 84 | |
---|
[7118] | 85 | A equipe ExpressoLivre nao se responsabiliza por danos ocasionados pelo uso deste instalador ou mesmo pelo proprio ExpressoLivre. |
---|
| 86 | Voce deseja prosseguir, por sua conta e risco, a instalacao ExpressoLivre?' |
---|
[6546] | 87 | |
---|
[7118] | 88 | # Se o usuario escolher "nao", sera retornado 1 e consequentemente o script sera encerrado. |
---|
[7503] | 89 | dialog --backtitle "$BACKTITLE" --cr-wrap --yesno "$INTRO" 20 80 || exit 0 |
---|
[6546] | 90 | |
---|
[5797] | 91 | # Inicia a escolha/instalacao e configuracao dos servicos nessarios ao ExpressoLivre |
---|
| 92 | SERVICOS=$( dialog --backtitle "$BACKTITLE" --stdout --separate-output \ |
---|
[7277] | 93 | --checklist 'Por favor, selecione quais servicos serao instalados neste sistema operacional:' 14 75 14 \ |
---|
| 94 | http 'Servidor http (apache) juntamente com os modulos do PHP5' on \ |
---|
| 95 | ldap 'Servidor ldap (openldap)' on \ |
---|
[5797] | 96 | bd 'Servidor de banco de dados (postgresql)' on \ |
---|
| 97 | smtp 'Sevirdor smtp (postfix)' on \ |
---|
| 98 | imap 'Servidor imap (cyrus-imap)' on ) |
---|
| 99 | |
---|
| 100 | # Executa funcao de instalacao/configuracao do servico no respectivo SO. |
---|
| 101 | for I in $SERVICOS |
---|
| 102 | do |
---|
[6219] | 103 | $I\_$INSTALL |
---|
[5797] | 104 | done |
---|
| 105 | |
---|
[7118] | 106 | dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "A comunidade do Expresso Livre agradece a sua participacao.\n\n\nEm caso de duvidas, por favor, visite: http://www.expressolivre.org" 8 75 |
---|