source: companies/serpro/doc-expressolivre/expressoInstallDebian.sh @ 903

Revision 903, 6.1 KB checked in by niltonneto, 15 years ago (diff)

Importacao inicial do Expresso do Serpro

Line 
1#!/bin/bash
2
3apt-get install dialog
4
5BACKTITLE='Instalação do ExpressoLivre 1.1'
6INTRO='
7Bem-Vindo(a) a instalação do ExpressoLivre!
8
93 (três) perguntas serão feitas a você.
10- Escolha uma senha.
11- Escolha uma organização.
12- Escolha um domínio.
13
14Com estas informações o script poderá
15instalar e configurar o ExpressoLivre.
16'
17#.....................................................................
18dialog --backtitle "$BACKTITLE" \
19   --cr-wrap \
20   --msgbox "$INTRO" \
21   17 55 &&
22#.....................................................................
23LDAP_PWD=$( dialog --stdout --inputbox 'Digite uma senha:' 0 0 )
24#.....................................................................
25ORG=$( dialog --stdout --inputbox 'Digite uma organização:(ex.: celepar)' 0 55 )
26#.....................................................................
27DOMAIN=$( dialog --stdout --inputbox 'Digite seu domínio:(ex.: celepar.pr.gov.br) '$ORG'.pr.gov.br)' 0 55 )
28
29#.....................................................................
30dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox \
31"A instalação dos pacotes necessários para o ExpressoLivre
32começará agora. Para a configuração desses pacotes, consulte o manual expressoInstall.pdf." 10 65 &&
33#.....................................................................     
34
35echo "deb http://www.backports.org/debian/ sarge-backports main" >> /etc/apt/sources.list
36
37apt-get update
38apt-get -t sarge-backports install -y lsb-base openssl ssl-cert
39apt-get install -y apache2-mpm-prefork libapache2-mod-php5 apache2-common apache2-utils php5 php5-common php5-dev php5-gd php5-imap php5-ldap php5-pgsql php5-cgi php5-cli postgresql-8.1 postgresql-common postgresql-client-8.1 postgresql-client-common slapd ldap-utils db4.2-util cyrus-admin-2.2 cyrus-clients-2.2 cyrus-common-2.2 cyrus-doc-2.2 cyrus-imapd-2.2 libcyrus-imap-perl22 postfix postfix-ldap libsasl2 libsasl2-modules sasl2-bin nmap vim libmail-imapclient-perl libparse-recdescent-perl libterm-readkey-perl libterm-readline-perl-perl zip unzip graphviz
40
41############################################################################################
42# GET VARs
43LDAP_DN=$(echo dc=$DOMAIN | sed s/'\.'/','dc=/g)
44LDAP_DC=$(echo $DOMAIN | cut -d. -f1)
45LDAP_PWD_MD5=$(slappasswd -v -s $LDAP_PWD -h {MD5} | sed s#'/'#'\\''\/'#g)
46HEADER_PWD=$(printf $LDAP_PWD | md5sum | cut -d' ' -f 1)
47############################################################################################
48# POSTGRES
49cp ./arqs-conf/etc/postgresql/8.1/main/postgresql.conf /etc/postgresql/8.1/main/
50cp ./arqs-conf/etc/postgresql/8.1/main/pg_hba.conf /etc/postgresql/8.1/main/
51/etc/init.d/postgresql-8.1 restart
52
53su - postgres -c dropdb expresso
54su - postgres -c 'createdb -E LATIN1 expresso'
55
56sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf/expresso.dump > /tmp/expresso.dump
57/etc/init.d/postgresql-8.1 restart
58su - postgres -c 'psql -f /tmp/expresso.dump expresso'
59rm /tmp/expresso.dump
60
61############################################################################################
62# APACHE
63# descomente para gerar o certificado para o https
64#apache2-ssl-certificate;
65
66a2enmod rewrite;
67
68
69if [ -e /var/www/expresso/contactcenter/setup/external_catalogs.inc.php ]
70 then
71 cp /var/www/expresso/contactcenter/setup/external_catalogs.inc.php ../contactcenter/setup/external_catalogs.inc.php
72 #guarda contact_center do cliente
73 chown -R www-data.www-data ../contactcenter/setup/external_catalogs.inc.php
74 fi
75
76
77cp -r -p ../../expresso/ /var/www/
78cp ./arqs-conf/etc/apache2/apache2.conf /etc/apache2/
79cp ./arqs-conf/etc/apache2/ports.conf /etc/apache2/
80cp ./arqs-conf/etc/apache2/sites-available/default /etc/apache2/sites-available/
81cp -r -p ./arqs-conf/etc/apache2/ssl/ /etc/apache2/
82
83cp ./arqs-conf/etc/php5/apache2/php.ini /etc/php5/apache2/
84mkdir /php_sessions/
85chmod -R 777 /php_sessions/
86
87/etc/init.d/apache2 restart
88
89############################################################################################
90# OPENLDAP
91/etc/init.d/slapd stop
92sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD_MD5/$LDAP_PWD_MD5/g" ./arqs-conf/etc/ldap/slapd.conf > /etc/ldap/slapd.conf
93cp ./arqs-conf/etc/ldap/schema/* /etc/ldap/schema/
94rm -rf /var/lib/ldap
95mkdir /var/lib/ldap
96/etc/init.d/slapd start
97
98sleep 2
99sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD_MD5/$LDAP_PWD_MD5/g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" -e "s/LDAP_DC/$LDAP_DC/g" ./arqs-conf/expresso.ldif > /tmp/expresso.ldif
100
101sleep 2
102slapadd -v -l /tmp/expresso.ldif
103
104sleep 2
105/etc/init.d/slapd restart
106rm /tmp/expresso.ldif
107
108############################################################################################
109# CYRUS
110cp ./arqs-conf/etc/imapd.conf /etc/
111
112sed -e "s/LDAP_DN/$LDAP_DN/g" ./arqs-conf/etc/saslauthd.conf > /etc/saslauthd.conf
113cp ./arqs-conf/etc/default/saslauthd /etc/default/
114
115cp -p ./arqs-conf/usr/bin/cyradm_expresso /usr/bin/
116
117/etc/init.d/saslauthd start
118/etc/init.d/cyrus2.2 restart
119
120sleep 4
121./arqs-conf/cyrus.pl $LDAP_PWD
122
123############################################################################################
124# POSTFIX
125sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf/etc/postfix/main.cf > /etc/postfix/main.cf
126sed -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf/etc/postfix/expresso-dominios > /etc/postfix/expresso-dominios
127adduser postfix mail
128/etc/init.d/postfix restart
129postmap /etc/postfix/expresso-dominios
130postmap /etc/aliases
131echo "127.0.0.1         $DOMAIN" >> /etc/hosts
132############################################################################################
133# imapsync & mkpasswd
134mkdir /home/expressolivre
135cp ./arqs-conf/home/expressolivre/* /home/expressolivre/
136chown -R www-data.www-data /home/expressolivre/
137############################################################################################
138# HEADER_INC_PHP
139sed -e "s/HEADER_PWD/$HEADER_PWD/g" ./arqs-conf/header.inc.php > /var/www/expresso/header.inc.php
140chown www-data.www-data /var/www/expresso/header.inc.php
141
142############################################################################################
143
144dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "FIM !! by JakJr (jakjr@celepar.pr.gov.br) www.expressolivre.org" 7 55 &&
145
146echo '.'
Note: See TracBrowser for help on using the repository browser.