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

Revision 2245, 4.9 KB checked in by wmerlotto, 15 years ago (diff)

Ticket #965 - Arquivos duplicados e referencias foram removiadas.

  • 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        dialog --backtitle "$BACKTITLE" --yesno 'Deseja que os serviços sejam instalados e configurados automaticamente? ou irá fazer isso manualmente?' 7 70
26        # yes
27        if [ $? = 0 ]
28        then
29                http_$DISTRO
30                ldap_$DISTRO
31                bd_$DISTRO
32                smtp_$DISTRO
33                imap_$DISTRO
34        else
35                S=$( dialog --backtitle "$BACKTITLE" --stdout --separate-output \
36                        --checklist 'Por favor, selecione quais os serviços serão instalados neste computador:' 14 75 14 \
37                        http 'Servidor http (apache) juntamente com o módulo do PHP5' on \
38                        ldap 'Servidor ldap (openldap)' off \
39                        bd 'Servidor de banco de dados (postgresql)' off \
40                        smtp 'Sevirdor smtp (postfix)' off \
41                        imap 'Servidor imap (cyrus-imap)' off )
42                for I in $S
43                do
44                        echo $I
45                done
46        fi
47}
48
49senhas ()
50{
51        LDAP_PWD=$( dialog --backtitle "$BACKTITLE" --stdout --passwordbox 'Digite uma senha:' 0 0 )
52        LDAP_PWD_CONF=$( dialog --backtitle "$BACKTITLE" --stdout --passwordbox 'Confirme a senha:' 0 0 )
53        if [ "x$LDAP_PWD" != "x$LDAP_PWD_CONF" ]
54        then
55                dialog --backtitle "$BACKTITLE" --title 'As senhas não conferem' \
56                        --msgbox 'Favor digitar as duas senhas iguais!!!' 6 40
57                senhas
58        fi
59}
60
61
62#################################################################################################
63#                                                                                               #
64#                                               MAIN                                            #
65#                                                                                               #
66#################################################################################################
67
68alias cp="cp"
69
70# Variaveis globais
71ARQS="arquivos"
72VERSAO="2.1"
73# Inclusao dos outros arquivos
74source $ARQS/scripts/ini.sh
75
76# Verifica o usuario que esta executando o script
77#[ $UID != 0 ] && { echo "Este script deve ser executado como superusuario (root) ou com sudo"; exit 1; }
78
79# Como o SO ainda não foi escolhido, não dá para instalar automaticamente o dialogo
80`/usr/bin/which dialog | grep -q "^/usr/bin/dialog$"` || { echo "Dialog não está instalado!!"; exit 1; }
81
82# Telas da instalacao
83BACKTITLE="Instalação do ExpressoLivre versão $VERSAO"
84
85        servicos
86
87INTRO='
88Bem-Vindo(a) a instalação do ExpressoLivre!
89
90Quatro perguntas serão feitas a você:
91 1. Em qual sistema operacional o Expresso Livre será instalado;
92 2. Insira uma senha para o usuário administrador, o expresso-admin;
93 3. Escolha o nome da organização;
94 4. Escolha um domínio.
95Com estas informações o script poderá instalar e configurar o ExpressoLivre.
96
97Deseja continuar?'
98dialog --backtitle "$BACKTITLE" --cr-wrap --yesno "$INTRO" 15 80 || exit 0
99
100# Menu de selecao do SO
101SO=$( dialog --backtitle "$BACKTITLE" --stdout --menu 'Em qual SO o Expresso Livre será instalado?' 13 70 10 \
102        debian-etch 'GNU/Linux Debian Etch (v.4.x)' \
103        debian-lenny 'GNU/Linux Debian Lenny (v.5.x)' \
104        rhel5 'GNU/Linux Red Hat (v5.x) ou CentOS (v5.x)' \
105        sles10 'GNU/Linux SuSe Enterprise Linux (v.10.x)' \
106        sles10 'GNU/Linux SuSe Enterprise Linux (v.11.x)' )
107
108BACKTITLE="$BACKTITLE, para $SO"
109
110# Requisita a senha para o expresso-admin
111senhas
112
113ORG=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite uma organização:(ex.: celepar)' 0 55 )
114DOMAIN=$( dialog --backtitle "$BACKTITLE" --stdout --inputbox 'Digite seu domínio:(ex.: '$ORG'.com.br)' 0 55 )
115
116# Monta as variáveis
117# Substitui o '.' por ',dc='
118LDAP_DN=`echo "dc=$DOMAIN" | sed 's/\./,dc=/g'`
119# Substitui qualquer coisa apos o primeiro '.' por 'nada'
120LDAP_DC=`echo $DOMAIN | sed 's/\..*//g'`
121
122#LDAP_PWD_MD5=`slappasswd -v -s $LDAP_PWD -h {MD5}`
123LDAP_PWD_MD5=`echo $LDAP_PWD | md5sum -t | cut -d' ' -f1`
124#LDAP_PWD_MD5=`php ./arqs-conf-rhel5/regexp.php $LDAP_PWD_MD5`
125#LDAP_PWD_MD5=`echo $LDAP_PWD_MD5 | sed 's/\//\\//g'`
126#HEADER_PWD=`php ./arqs-conf-rhel5/pass.php $LDAP_PWD`
127HEADER_PWD=$LDAP_PWD_MD5
128
129dialog --backtitle "$BACKTITLE" --yesno 'A equipe ExpressoLivre não se responsabiliza por danos ocasionados pelo uso deste instalador ou mesmo pelo próprio Expresso.\n\nVocê deseja prosseguir, por sua conta e risco, a instalação ExpressoLivre?' 10 80
130# yes
131if [ $? = 0 ]
132then
133        # Inicializacao basica de instalacao, como atualização de repositório e criação de variáveis de ambiente
134        ini_$SO
135        # Inicia a escolha/instalacao e configuracao dos servicos nessarios ao ExpressoLivre
136        servicos
137
138        #dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "FIM. www.expressolivre.org" 7 55 &&
139
140else
141        exit 0;
142fi
143
144
Note: See TracBrowser for help on using the repository browser.