source: sandbox/doc-expressolivre/expressoInstall.sh @ 2256

Revision 2256, 4.7 KB checked in by wmerlotto, 14 years ago (diff)

Ticket #965 - Criação dos scripts de inicialização do servidor http.

  • Property svn:executable set to *
  • Property svn:mime-type set to application/octet-stream
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 e Red Hat/CentOS
9#       "Alexandre Felipe Muller de Souza" <amuller@celepar.pr.gov.br>, para Debian
10#       "Cássio Luiz" <cassiolp@cnpq.br>, para Red Hat e CentOS
11#       "M. Rodrigo Monteiro" <mrodrigom@gmail.com>, para Red Hat e CentOS
12#
13# Versões:
14# 12/03/2010 - v0.1
15#
16
17#################################################################################################
18#                                                                                               #
19#                                       FUNÇÕES                                                       #
20#                                                                                               #
21#################################################################################################
22
23servicos ()
24{
25        SERVICOS=$( dialog --backtitle "$BACKTITLE" --stdout --separate-output \
26                --checklist 'Por favor, selecione quais os serviços serão instalados neste computador:' 14 75 14 \
27                http 'Servidor http (apache) juntamente com o módulo do PHP5' on \
28                ldap 'Servidor ldap (openldap)' on \
29                bd 'Servidor de banco de dados (postgresql)' on \
30                smtp 'Sevirdor smtp (postfix)' on \
31                imap 'Servidor imap (cyrus-imap)' on )
32        for I in $SERVICOS
33        do
34                # Executa funcao de instalacao/configuracao do servico no respectivo SO.
35                $I_$SO
36        done
37}
38
39get_pass ()
40{
41        LDAP_PWD=$( dialog --backtitle "$BACKTITLE" --stdout --passwordbox 'Digite uma senha:' 0 0 )
42        LDAP_PWD_CONF=$( dialog --backtitle "$BACKTITLE" --stdout --passwordbox 'Confirme a senha:' 0 0 )
43        if [ "x$LDAP_PWD" != "x$LDAP_PWD_CONF" ]
44        then
45                dialog --backtitle "$BACKTITLE" --title 'As senhas não conferem' \
46                        --msgbox 'Favor digitar as duas senhas iguais!!!' 6 40
47                senhas
48        fi
49}
50
51
52#################################################################################################
53#                                                                                               #
54#                                               MAIN                                            #
55#                                                                                               #
56#################################################################################################
57
58alias cp="cp"
59
60# Variaveis globais
61ARQS="arquivos"
62VERSAO="2.2.xxxx"
63# Inclusao dos outros arquivos
64. $ARQS/scripts/ini.sh
65#. $ARQS/scripts/http.sh
66#. $ARQS/scripts/ldap.sh
67#. $ARQS/scripts/bd.sh
68#. $ARQS/scripts/smtp.sh
69#. $ARQS/scripts/imap.sh
70
71# Verifica o usuario que esta executando o script
72#[ $UID != 0 ] && { echo "Este script deve ser executado como superusuario (root) ou com sudo"; exit 1; }
73
74# Como o SO ainda não foi escolhido, não dá para instalar automaticamente o dialogo
75`/usr/bin/which dialog | grep -q "^/usr/bin/dialog$"` || { echo "Dialog não está instalado!!"; exit 1; }
76
77# Telas da instalacao
78BACKTITLE="Instalação do ExpressoLivre versão $VERSAO"
79
80INTRO='
81Bem-Vindo(a) a instalação do ExpressoLivre!
82
83O 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.
84
85As informações de senha, domínio e organização serão requisitadas de acordo com o(s) serviço(s) selecionado(s).
86
87A equipe ExpressoLivre não se responsabiliza por danos ocasionados pelo uso deste instalador ou mesmo pelo próprio ExpressoLivre.
88Você deseja prosseguir, por sua conta e risco, a instalação ExpressoLivre?'
89# Se o usuario escolher "nao", será retornado 1 e consequentemente o script será encerrado.
90dialog --backtitle "$BACKTITLE" --cr-wrap --yesno "$INTRO" 18 80 || exit 0
91
92# Menu de selecao do SO
93SO=$( dialog --backtitle "$BACKTITLE" --stdout --menu 'Em qual sistema operacional (SO) o ExpressoLivre será instalado?' 13 70 10 \
94        debian-etch 'GNU/Linux Debian Etch (v.4.x)' \
95        debian-lenny 'GNU/Linux Debian Lenny (v.5.x)' \
96        rhel5 'GNU/Linux Red Hat (v5.x) ou CentOS (v5.x)' \
97        sles10 'GNU/Linux SuSe Enterprise Linux (v.10.x)' \
98        sles10 'GNU/Linux SuSe Enterprise Linux (v.11.x)' )
99
100BACKTITLE="$BACKTITLE, para $SO"
101
102# Inicializacao basica de instalacao, como atualização de repositório e criação de variáveis de ambiente
103ini_$SO
104
105
106ORG=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite uma organização:(ex.: celepar)' 0 55 )
107DOMAIN=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite seu domínio:(ex.: '$ORG'.com.br)' 0 55 )
108
109
110# Substitui o '.' por ',dc='
111LDAP_DN=`echo "dc=$DOMAIN" | sed 's/\./,dc=/g'`
112# Substitui qualquer coisa apos o primeiro '.' por 'nada'
113LDAP_DC=`echo $DOMAIN | sed 's/\..*//g'`
114
115LDAP_PWD_MD5=`$ARQS/scripts/md5pass.pl $LDAP_PWD`
116
117# Inicia a escolha/instalacao e configuracao dos servicos nessarios ao ExpressoLivre
118servicos
119
120#dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "FIM. www.expressolivre.org" 7 55 &&
Note: See TracBrowser for help on using the repository browser.