source: companies/celepar/doc-expressolivre/suse/expressoInstallSuse10.0.sh @ 763

Revision 763, 9.9 KB checked in by niltonneto, 15 years ago (diff)

Importação inicial do Expresso da Celepar

Line 
1#!/bin/bash
2############################################################
3### Ultima modificação: 16/08/06
4###
5### Lembrando que os pacotes abaixo são para uma instalação
6### completa usando uma única máquina.
7### Se for utilizar um servidor de e-mails ou ldap, por exemplo,
8### de outra máquina, alguns pacotes serão desnecessários.
9### Vai depender de cada implementação.
10### Leia todo esse script e ajuste as suas necessidades.
11############################################################
12
13
14### Instala todos os pacotes e dependências necessárias ao Expresso.
15### Esse processo é um pouco demorado e exige que os repositórios online
16### estejam configurados.
17### Descomente essa linha para resolver todas as dependências do Expresso.
18yast -i apache2 apache2-prefork apache2-mod_php4 apache2-mod_perl openssl openssl-devel php4 php4-devel php4-session php4-gd php4-imap php4-ldap php4-pgsql php4-fastcgi php4-mbstring postgresql postgresql-server openldap2 openldap2-client openldap2-devel openldap2-back-meta openldap2-back-perl db42 cyrus-imapd cyrus-sasl-devel cyrus-sasl cyrus-sasl-saslauthd postfix vim perl-Cyrus-IMAP imap-lib perl-Parse-RecDescent perl-TermReadKey perl-TermReadLine-Gnu perl-MLDBM perl-MLDBM-Sync perl-ldap perl-Apache-AuthNetLDAP perl-libwww-perl perl-HTML-Parser perl-Tie-IxHash perl-HTML-Tagset perl-Convert-ASN1 readline-devel readline zip uzip
19
20echo -e "\n\n\n\n\n\n##########################################################\n"
21echo -e "BEM VINDO A INSTALAÇÃO DO EXPRESSO LIVRE\n"
22echo -e "Este script foi feito para rodar no sistema Linux Suse 10.0.\n"
23echo -e "Qualquer outro sistema pode exigir modificações neste script."
24echo -e "\n##########################################################\n"
25echo -e "Digite a mesma senha utilizada na configuracao do LDAP."
26echo -ne "Esta senha sera utilizada para o usuario expresso-admin.\n"
27echo "Senha: "
28read LDAP_PWD
29echo -e "\nDigite sua organizacao, exemplo: suporte: "
30read ORG
31echo -e "\nDigite seu dominio, exemplo: netcom.inf.br: "
32read DOMAIN
33echo -e "\nDigite o dc para o LDAP, exemplo: dc=netcom,dc=inf,dc=br: "
34read DC_LDAP
35
36echo "##############################################"
37echo "###  DEFININDO AS VARIAVEIS ..."
38echo "##############################################"
39
40LDAP_DN="$DC_LDAP"
41NOME=`echo $DOMAIN | awk -F . '{print $1}'`
42LDAP_PWD_MD5=`slappasswd -v -s $LDAP_PWD -h {MD5}`
43LDAP_PWD_MD5=`php ./arqs-conf-suse/regexp.php $LDAP_PWD_MD5`
44HEADER_PWD=`php ./arqs-conf-suse/pass.php $LDAP_PWD`
45
46
47echo "##############################################"
48echo "###  PREPARANDO O POSTGRESQL ..."
49echo "##############################################"
50
51### Prepara a base de dados do Expresso baseada nas informações fornecidas.
52### Não precisa ser executado se preferir fazer manualmente na primeira vez que acessar o expresso.
53#sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" -e "s/DOMAIN/$DOMAIN/g" -e "s/ORG/$ORG/g" ./arqs-conf-suse/expresso.dump > /tmp/expresso.dump
54
55### Isso removerá qualquer informação do postgresql.
56### Comente essas linhas caso tenha outra base que não pode ser perdida.
57### Caso descomente essas linhas, pode comentar o dropdb abaixo.
58#rcpostgresql stop
59#rm -Rf /var/lib/pgsql/data/
60#rcpostgresql start
61
62### Copia os arquivos de configuração do postgresql prontos para o Expresso.
63cp /var/lib/pgsql/data/pg_hba.conf /var/lib/data/pgsql/pg_hba.conf.bkpexpresso
64cp ./arqs-conf-suse/var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/
65cp /var/lib/pgsql/data/postgresql.conf /var/lib/data/pgsql/postgresql.conf.bkpexpresso
66cp ./arqs-conf-suse/var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/
67
68### Confirma se o postgresql está rodando.
69rcpostgresql stop
70sleep 3
71rcpostgresql start
72
73### Remove a base "expresso" para não dar problema caso ela já exista.
74dropdb -U postgres expresso
75
76### Cria a base "expresso" no formato latin1.
77createdb -U postgres -E latin1 expresso
78
79### Importa as tabelas geradas para a base "expresso".
80### Isso pode ser feito pelo próprio expresso quando acessá-lo pela primeira vez.
81#psql -U postgres expresso < /tmp/expresso.dump
82#rcpostgresql restart
83#rm /tmp/expresso.dump
84
85
86echo "##############################################"
87echo "###  PREPARANDO O APACHE ..."
88echo "##############################################"
89
90### A linha abaixo é somente para o Debian. Não achei correspondente no Suse.
91#apache2-ssl-certificate;
92a2enmod rewrite;
93
94### Se já existir uma instalação no expresso no apache, ela será removida.
95rm -Rf /srv/www/htdocs/expresso/
96
97### Copia dos arquivos do expresso para o apache. Seta as permissões corretas.
98cp -R -p ../../../expresso/ /srv/www/htdocs/
99chown -R wwwrun:www /srv/www/htdocs/expresso/
100
101### Troca os arquivos de configuração do apache pelos corretos do Expresso.
102cp /etc/apache2/httpd.conf /etc/apache2/httpd.conf.bkpexpresso
103cp ./arqs-conf-suse/etc/apache2/httpd.conf /etc/apache2/
104
105cp /etc/apache2/server-tuning.conf /etc/apache2/server-tuning.conf.bkpexpresso
106cp ./arqs-conf-suse/etc/apache2/server-tuning.conf /etc/apache2/
107
108cp ./arqs-conf-suse/etc/apache2/vhosts.d/expresso.conf /etc/apache2/vhosts.d/
109
110cp /etc/apache2/sysconfig.d/global.conf /etc/apache2/sysconfig.d/global.conf.bkpexpresso
111cp ./arqs-conf-suse/etc/apache2/sysconfig.d/global.conf /etc/apache2/sysconfig.d/
112
113### Troca o arquivo de configurações do PHP com as exigências do Expresso.
114cp /etc/php.ini /etc/php.ini.bkpexpresso
115cp ./arqs-conf-suse/etc/php4/apache2/php.ini /etc/
116
117### Apaga a pasta php_sessions para evitar problemas, caso ela já exista. Cria novamente com as permissões.
118rm -Rf /php_sessions/
119mkdir /php_sessions/
120chmod -R 777 /php_sessions/
121
122### Reinicia o apache.
123rcapache2 restart
124
125
126echo "##############################################"
127echo "### PREPARANDO O OPENLDAP ..."
128echo "##############################################"
129
130### Gera o arquivo de configuração do Servidor LDAP personalizado e já o substitui.
131sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" ./arqs-conf-suse/etc/openldap/slapd.conf > /etc/openldap/slapd.conf
132
133### Copia os schemas usados pelo Expresso.
134cp ./arqs-conf-suse/etc/openldap/schema/* /etc/openldap/schema/
135rcldap stop
136
137### Gera a base padrão do LDAP para o expresso.
138sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/NOME/$NOME/g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf-suse/expresso.ldif > /tmp/expresso.ldif
139
140### Remove todas as entradas antigas do LDAP.
141rm -Rf /var/lib/ldap/*
142rcldap start
143
144### Importa a base LDAP.
145rcldap stop
146slapadd -v -f /etc/openldap/slapd.conf -l /tmp/expresso.ldif
147rcldap start
148#rm /tmp/expresso.ldif
149
150
151echo "##############################################"
152echo "### PREPARANDO O SASL ..."
153echo "##############################################"
154
155### Adapta o SASL para o Expresso.
156sed -e "s/LDAP_DN/$LDAP_DN/g" ./arqs-conf-suse/etc/saslauthd.conf > /etc/saslauthd.conf
157cp ./arqs-conf-suse/etc/default/saslauthd /etc/default/
158
159### Reinicia o SASL.
160rcsaslauthd restart
161
162echo "##############################################"
163echo "### PREPARANDO O CYRUS ..."
164echo "##############################################"
165
166### Joga o arquivo de configuração do IMAP. Cotas estão desabilitadas!!!
167cp ./arqs-conf-suse/etc/imapd.conf /etc/
168
169### Copia o executável do cyrus adaptado ao usuário expresso-admin. Somente para login.
170cp -p ./arqs-conf-suse/usr/bin/cyradm_expresso /usr/bin/
171
172### Reinicia os serviços.
173rccyrus restart
174sleep 4
175
176### Gera as pastas de IMAP para o expresso-admin.
177./arqs-conf-suse/cyrus.pl $LDAP_PWD
178
179
180echo "##############################################"
181echo "### PREPARANDO O POSTFIX ..."
182echo "##############################################"
183
184### Gera o arquivo expresso-dominios baseado no domínio informado.
185sed -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf-suse/etc/postfix/expresso-dominios > /etc/postfix/expresso-dominios
186postmap /etc/postfix/expresso-dominios
187
188### Substitui o main.cf original por outro com as informação personalizadas.
189sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf-suse/etc/postfix/main.cf > /etc/postfix/main.cf
190cp ./arqs-conf-suse/etc/postfix/master.cf /etc/postfix/
191rcpostfix restart
192
193### Adiciona os usuários "postfix" e "mail" e o grupo "postdrop".
194groupadd postdrop
195useradd postfix
196useradd mail
197
198
199echo "##############################################"
200echo "### PREPARANDO A PASTA HOME DO EXPRESSO ..."
201echo "##############################################"
202
203# imapsync & mkpasswd
204
205### Cria a pasta, copia os arquivos necessários para ela e seta as devidas permissões.
206mkdir /home/expressolivre
207cp ./arqs-conf-suse/home/expressolivre/* /home/expressolivre/
208chown -R wwwrun:www /home/expressolivre/
209
210echo "##############################################"
211echo "### PREPARANDO O HEADER_INC_PHP ..."
212echo "##############################################"
213
214##################
215### ATENÇÃO: No Suse 10.0 + php4 existe um "else" na linha 89 que da erro. Caso passe por algo parecido,
216### consulte o header.inc.php da pasta arqs-conf-suse para comparar a solução.
217##################
218#sed -e "s/HEADER_PWD/$HEADER_PWD/g" ./arqs-conf-suse/header.inc.php > /srv/www/htdocs/expresso/header.inc.php
219#chown wwwrun:www /srv/www/htdocs/expresso/header.inc.php
220
221### Para garantir a configuração manual do header_inc_php, ele é removido.
222rm -f /srv/www/htdocs/expresso/header.inc.php
223
224insserv apache2 ; insserv postgresql ; insserv saslauthd ; insserv cyrus ; insserv ldap ; insserv -r nscd
225
226echo "##############################################"
227echo "### TERMINADAS AS ROTINAS DE INSTALACAO DO EXPRESSO!"
228echo "###"
229echo "### Confira nas saídas do script se tudo ocorreu bem."
230echo "###"
231echo "### Instalador feito na versao Debian por"
232echo "### Joao Alfredo Knopik Junior "
233echo "### jakjr@celepar.pr.gov.br"
234echo "###"
235echo "### Reeditado, adaptado ao Suse e comentado por"
236echo "### Marcus Augustus Pereira Burghardt"
237echo "### marcus@netcom.inf.br"
238echo "###"
239echo "##############################################"
Note: See TracBrowser for help on using the repository browser.