#!/bin/bash # Criado por João Alfredo Knopik Junior # Colaborações: # "William Fernando Merlotto" # "Alexandre Felipe Muller de Souza" # # # # Adaptação feita para o Red Hat EL 5 e Centos 5 # Cássio Luiz # - Altera��es feitas por M. Rodrigo Monteiro # # LC_TELEPHONE=pt_BR.UTF-8 LC_CTYPE=pt_BR.UTF-8 LANGUAGE=pt_BR:pt_PT:pt LC_MONETARY=pt_BR.UTF-8 LC_ADDRESS=pt_BR.UTF-8 LC_COLLATE=pt_BR.UTF-8 LC_PAPER=pt_BR.UTF-8 LC_NAME=pt_BR.UTF-8 LC_NUMERIC=pt_BR.UTF-8 SYSFONT=lat1-16 LC_MEASUREMENT=pt_BR.UTF-8 LC_TIME=pt_BR.UTF-8 LANG=pt_BR.UTF-8 LC_IDENTIFICATION=pt_BR.UTF-8 LC_MESSAGES=pt_BR.UTF-8 export LC_TELEPHONE LC_CTYPE LANGUAGE LC_MONETARY LC_ADDRESS LC_COLLATE LC_PAPER LC_NAME LC_NUMERIC SYSFONT LC_MEASUREMENT LC_TIME LANG LC_IDENTIFICATION LC_MESSAGES #alterado - mostrar as msgs de erro #set -e # Para caso de erro if [ $UID != 0 ]; then { echo "Este script deve ser executado como superusuario, root ou sudo"; exit 1; } fi # # Testa se o Dialog esta instalado #alterado testadialog=$(/usr/bin/which dialog | grep "^/usr/bin/dialog$") #alterado if [ "$testadialog" != "/usr/bin/dialog" ]; then echo "O Dialog n�o est� instalado." echo "" echo "" echo "Instalando o Dialog!!!" #alterado - tenta instalar o Dialog com o yum, caso contr�rio instala com o rpm e mostra a msg se foi instalado ou n�o yum install dialog || rpm -ivh arqs-conf-rhel5/rpms/dialog-1.0.20051107-1.2.2.i386.rpm && echo "Dialog foi instalado instalado!!!" || echo "N�o foi poss�vel instalar o Dialog" && exit 0 else echo "Dialog instalado!!!" fi BACKTITLE='Instalação do ExpressoLivre 1.2' INTRO=' Bem-Vindo(a) a instalação do ExpressoLivre! 3 (três) perguntas serão feitas a você. - Escolha uma senha. - Escolha uma organização. - Escolha um domínio. Com estas informações o script poderá instalar e configurar o ExpressoLivre. ' #..................................................................... dialog --backtitle "$BACKTITLE" \ --cr-wrap \ --msgbox "$INTRO" \ 17 55 && #..................................................................... #alterado - confirmar a senha LDAP_PWD=$( dialog --stdout --passwordbox 'Digite uma senha:' 0 0 ) LDAP_PWD_CONF=$( dialog --stdout --passwordbox 'Confirme a senha:' 0 0 ) if [ "$LDAP_PWD" != "$LDAP_PWD_CONF" ] ; then dialog \ --title 'As senhas não conferem ' \ --msgbox 'Favor digitar as duas senhas iguais!!!' \ 6 40 exit 0 fi #..................................................................... ORG=$( dialog --stdout --inputbox 'Digite uma organização:(ex.: celepar)' 0 55 ) #..................................................................... DOMAIN=$( dialog --stdout --inputbox 'Digite seu domínio:(ex.: '$ORG'.com.br)' 0 55 ) #..................................................................... dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox \ "Relação dos pacotes necessários para o ExpressoLivre funcionar." 10 65 && #..................................................................... dialog \ --title 'RPMS' \ --textbox arqs-conf-rhel5/rpms/listarpms.txt \ 0 0 dialog --yesno 'Deseja verificar se os pacotes necessários estão instalados?' 7 70 if [ $? = 0 ]; then dialog \ --title 'Aguarde' \ --infobox '\nVerificando a instalação dos pacotes necessários...' \ 0 0 #alterado - o comando rpm -qa demora para executar, entao � gerado um arquivo com a sua saida e depois verificado se os pacotes est�o instalados rm -rf /tmp/expresso-arquivos > /dev/null 2> /dev/null rpm -qa --qf '%{name}\n' | sort > /tmp/expresso-arquivos #alterado - para cada pacote, foi colocado no grep o ^ e $ para que delimite o nome do pacote checa_httpd=`grep "^httpd$" /tmp/expresso-arquivos` if [ "$checa_httpd" != "httpd" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote httpd não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_postgresql=`grep "^postgresql$" /tmp/expresso-arquivos` if [ "$checa_postgresql" != "postgresql" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote postgresql não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_postgresql_server=`grep "^postgresql-server$" /tmp/expresso-arquivos` if [ "$checa_postgresql_server" != "postgresql-server" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote postgresql-server não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_openldap=`grep "^openldap$" /tmp/expresso-arquivos` if [ "$checa_openldap" != "openldap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote openldap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_openldap_clients=`grep "^openldap-clients$" /tmp/expresso-arquivos` if [ "$checa_openldap_clients" != "openldap-clients" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote openldap-clients não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_libtool_ltdl=`grep "^libtool-ltdl$" /tmp/expresso-arquivos` if [ "$checa_libtool_ltdl" != "libtool-ltdl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote libtool-ltdl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_openldap_servers=`grep "^openldap-servers$" /tmp/expresso-arquivos` if [ "$checa_openldap_servers" != "openldap-servers" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote openldap-servers não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_imapd=`grep "^cyrus-imapd$" /tmp/expresso-arquivos` if [ "$checa_cyrus_imapd" != "cyrus-imapd" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-imapd não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_imapd_perl=`grep "^cyrus-imapd-perl$" /tmp/expresso-arquivos` if [ "$checa_cyrus_imapd_perl" != "cyrus-imapd-perl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-imapd-perl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_imapd_utils=`grep "^cyrus-imapd-utils$" /tmp/expresso-arquivos` if [ "$checa_cyrus_imapd_utils" != "cyrus-imapd-utils" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-imapd-utils não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_sasl=`grep "^cyrus-sasl$" /tmp/expresso-arquivos` if [ "$checa_cyrus_sasl" != "cyrus-sasl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-sasl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_sasl_ldap=`grep "^cyrus-sasl-ldap$" /tmp/expresso-arquivos` if [ "$checa_cyrus_sasl_ldap" != "cyrus-sasl-ldap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-sasl-ldap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_sasl_md5=`grep "^cyrus-sasl-md5$" /tmp/expresso-arquivos` if [ "$checa_cyrus_sasl_md5" != "cyrus-sasl-md5" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-sasl-md5 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_cyrus_sasl_plain=`grep "^cyrus-sasl-plain$" /tmp/expresso-arquivos` if [ "$checa_cyrus_sasl_plain" != "cyrus-sasl-plain" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote cyrus-sasl-plain não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_postfix=`grep "^postfix$" /tmp/expresso-arquivos` if [ "$checa_postfix" != "postfix" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote postfix não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_unzip=`grep "^unzip$" /tmp/expresso-arquivos` if [ "$checa_unzip" != "unzip" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote unzip não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_zip=`grep "^zip$" /tmp/expresso-arquivos` if [ "$checa_zip" != "zip" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote zip não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_perl=`grep "^mod_perl$" /tmp/expresso-arquivos` if [ "$checa_mod_perl" != "mod_perl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_perl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_ssl=`grep "^mod_ssl$" /tmp/expresso-arquivos` if [ "$checa_mod_ssl" != "mod_ssl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_ssl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_python=`grep "^mod_python$" /tmp/expresso-arquivos` if [ "$checa_mod_python" != "mod_python" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_python não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_auth_pgsql=`grep "^mod_auth_pgsql$" /tmp/expresso-arquivos` if [ "$checa_mod_auth_pgsql" != "mod_auth_pgsql" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_auth_pgsql não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_nss=`grep "^mod_nss$" /tmp/expresso-arquivos` if [ "$checa_mod_nss" != "mod_nss" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_nss não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mod_authz_ldap=`grep "^mod_authz_ldap$" /tmp/expresso-arquivos` if [ "$checa_mod_authz_ldap" != "mod_authz_ldap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mod_authz_ldap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_libc_client=`grep "^libc-client$" /tmp/expresso-arquivos` if [ "$checa_libc_client" != "libc-client" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote libc-client não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_mysql=`grep "^mysql$" /tmp/expresso-arquivos` if [ "$checa_mysql" != "mysql" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote mysql não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_net_snmp=`grep "^net-snmp$" /tmp/expresso-arquivos` if [ "$checa_net_snmp" != "net-snmp" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote net-snmp não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php=`grep "^php$" /tmp/expresso-arquivos` if [ "$checa_php" != "php" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_bcmath=`grep "^php-bcmath$" /tmp/expresso-arquivos` if [ "$checa_php_bcmath" != "php-bcmath" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-bcmath não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_cli=`grep "^php-cli$" /tmp/expresso-arquivos` if [ "$checa_php_cli" != "php-cli" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-cli não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_common=`grep "^php-common$" /tmp/expresso-arquivos` if [ "$checa_php_common" != "php-common" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-common não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_dba=`grep "^php-dba$" /tmp/expresso-arquivos` if [ "$checa_php_dba" != "php-dba" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-dba não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_gd=`grep "^php-gd$" /tmp/expresso-arquivos` if [ "$checa_php_gd" != "php-gd" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-gd não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_imap=`grep "^php-imap$" /tmp/expresso-arquivos` if [ "$checa_php_imap" != "php-imap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-imap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_ldap=`grep "^php-ldap$" /tmp/expresso-arquivos` if [ "$checa_php_ldap" != "php-ldap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-ldap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_mysql=`grep "^php-mysql$" /tmp/expresso-arquivos` if [ "$checa_php_mysql" != "php-mysql" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-mysql não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_mbstring=`grep "^php-mbstring$" /tmp/expresso-arquivos` if [ "$checa_php_mbstring" != "php-mbstring" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-mbstring não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_ncurses=`grep "^php-ncurses$" /tmp/expresso-arquivos` if [ "$checa_php_ncurses" != "php-ncurses" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-ncurses não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_odbc=`grep "^php-odbc$" /tmp/expresso-arquivos` if [ "$checa_php_odbc" != "php-odbc" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-odbc não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_pdo=`grep "^php-pdo$" /tmp/expresso-arquivos` if [ "$checa_php_pdo" != "php-pdo" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-pdo não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_pear=`grep "^php-pear$" /tmp/expresso-arquivos` if [ "$checa_php_pear" != "php-pear" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-pear não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_pgsql=`grep "^php-pgsql$" /tmp/expresso-arquivos` if [ "$checa_php_pgsql" != "php-pgsql" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-pgsql não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_snmp=`grep "^php-snmp$" /tmp/expresso-arquivos` if [ "$checa_php_snmp" != "php-snmp" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-snmp não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_soap=`grep "^php-soap$" /tmp/expresso-arquivos` if [ "$checa_php_soap" != "php-soap" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-soap não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_xml=`grep "^php-xml$" /tmp/expresso-arquivos` if [ "$checa_php_xml" != "php-xml" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-xml não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_php_xmlrpc=`grep "^php-xmlrpc$" /tmp/expresso-arquivos` if [ "$checa_php_xmlrpc" != "php-xmlrpc" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote php-xmlrpc não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl=`grep "^perl$" /tmp/expresso-arquivos` if [ "$checa_perl" != "perl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Compress_Zlib=`grep "^perl-Compress-Zlib$" /tmp/expresso-arquivos` if [ "$checa_perl_Compress_Zlib" != "perl-Compress-Zlib" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Compress-Zlib não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_IO_Zlib=`grep "^perl-IO-Zlib$" /tmp/expresso-arquivos` if [ "$checa_perl_IO_Zlib" != "perl-IO-Zlib" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-IO-Zlib não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Archive_Tar=`grep "^perl-Archive-Tar$" /tmp/expresso-arquivos` if [ "$checa_perl_Archive_Tar" != "perl-Archive-Tar" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Archive-Tar não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Carp_Clan=`grep "^perl-Carp-Clan$" /tmp/expresso-arquivos` if [ "$checa_perl_Carp_Clan" != "perl-Carp-Clan" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Carp-Clan não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Bit_Vector=`grep "^perl-Bit-Vector$" /tmp/expresso-arquivos` if [ "$checa_perl_Bit_Vector" != "perl-Bit-Vector" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Bit-Vector não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_BSD_Resource=`grep "^perl-BSD-Resource$" /tmp/expresso-arquivos` if [ "$checa_perl_BSD_Resource" != "perl-BSD-Resource" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-BSD-Resource não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Convert_ASN1=`grep "^perl-Convert-ASN1$" /tmp/expresso-arquivos` if [ "$checa_perl_Convert_ASN1" != "perl-Convert-ASN1" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Convert-ASN1 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Crypt_SSLeay=`grep "^perl-Crypt-SSLeay$" /tmp/expresso-arquivos` if [ "$checa_perl_Crypt_SSLeay" != "perl-Crypt-SSLeay" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Crypt-SSLeay não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Date_Calc=`grep "^perl-Date-Calc$" /tmp/expresso-arquivos` if [ "$checa_perl_Date_Calc" != "perl-Date-Calc" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Date-Calc não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_DBD_Pg=`grep "^perl-DBD-Pg$" /tmp/expresso-arquivos` if [ "$checa_perl_DBD_Pg" != "perl-DBD-Pg" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-DBD-Pg não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_DBI=`grep "^perl-DBI$" /tmp/expresso-arquivos` if [ "$checa_perl_DBI" != "perl-DBI" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-DBI não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_String_CRC32=`grep "^perl-String-CRC32$" /tmp/expresso-arquivos` if [ "$checa_perl_String_CRC32" != "perl-String-CRC32" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-String-CRC32 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_DBD_MySQL=`grep "^perl-DBD-MySQL$" /tmp/expresso-arquivos` if [ "$checa_perl_DBD_MySQL" != "perl-DBD-MySQL" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-DBD-MySQL não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Digest_SHA1=`grep "^perl-Digest-SHA1$" /tmp/expresso-arquivos` if [ "$checa_perl_Digest_SHA1" != "perl-Digest-SHA1" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Digest-SHA1 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Digest_HMAC=`grep "^perl-Digest-HMAC$" /tmp/expresso-arquivos` if [ "$checa_perl_Digest_HMAC" != "perl-Digest-HMAC" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Digest-HMAC não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_HTML_Tagset=`grep "^perl-HTML-Tagset$" /tmp/expresso-arquivos` if [ "$checa_perl_HTML_Tagset" != "perl-HTML-Tagset" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-HTML-Tagset não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_HTML_Parser=`grep "^perl-HTML-Parser$" /tmp/expresso-arquivos` if [ "$checa_perl_HTML_Parser" != "perl-HTML-Parser" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-HTML-Parser não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Socket6=`grep "^perl-Socket6$" /tmp/expresso-arquivos` if [ "$checa_perl_Socket6" != "perl-Socket6" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Socket6 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_IO_Socket_INET6=`grep "^perl-IO-Socket-INET6$" /tmp/expresso-arquivos` if [ "$checa_perl_IO_Socket_INET6" != "perl-IO-Socket-INET6" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-IO-Socket-INET6 não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Net_SSLeay=`grep "^perl-Net-SSLeay$" /tmp/expresso-arquivos` if [ "$checa_perl_Net_SSLeay" != "perl-Net-SSLeay" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Net-SSLeay não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_IO_Socket_SSL=`grep "^perl-IO-Socket-SSL$" /tmp/expresso-arquivos` if [ "$checa_perl_IO_Socket_SSL" != "perl-IO-Socket-SSL" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-IO-Socket-SSL não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_IO_String=`grep "^perl-IO-String$" /tmp/expresso-arquivos` if [ "$checa_perl_IO_String" != "perl-IO-String" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-IO-String não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_NamespaceSupport=`grep "^perl-XML-NamespaceSupport$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_NamespaceSupport" != "perl-XML-NamespaceSupport" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-NamespaceSupport não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_SAX=`grep "^perl-XML-SAX$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_SAX" != "perl-XML-SAX" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-SAX não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_URI=`grep "^perl-URI$" /tmp/expresso-arquivos` if [ "$checa_perl_URI" != "perl-URI" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-URI não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_libwww_perl=`grep "^perl-libwww-perl$" /tmp/expresso-arquivos` if [ "$checa_perl_libwww_perl" != "perl-libwww-perl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-libwww-perl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_Parser=`grep "^perl-XML-Parser$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_Parser" != "perl-XML-Parser" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-Parser não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_LDAP=`grep "^perl-LDAP$" /tmp/expresso-arquivos` if [ "$checa_perl_LDAP" != "perl-LDAP" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-LDAP não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_libxml_perl=`grep "^perl-libxml-perl$" /tmp/expresso-arquivos` if [ "$checa_perl_libxml_perl" != "perl-libxml-perl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-libxml-perl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Net_IP=`grep "^perl-Net-IP$" /tmp/expresso-arquivos` if [ "$checa_perl_Net_IP" != "perl-Net-IP" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Net-IP não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Net_DNS=`grep "^perl-Net-DNS$" /tmp/expresso-arquivos` if [ "$checa_perl_Net_DNS" != "perl-Net-DNS" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Net-DNS não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_Net_Telnet=`grep "^perl-Net-Telnet$" /tmp/expresso-arquivos` if [ "$checa_perl_Net_Telnet" != "perl-Net-Telnet" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-Net-Telnet não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_NKF=`grep "^perl-NKF$" /tmp/expresso-arquivos` if [ "$checa_perl_NKF" != "perl-NKF" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-NKF não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_SGMLSpm=`grep "^perl-SGMLSpm$" /tmp/expresso-arquivos` if [ "$checa_perl_SGMLSpm" != "perl-SGMLSpm" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-SGMLSpm não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_suidperl=`grep "^perl-suidperl$" /tmp/expresso-arquivos` if [ "$checa_perl_suidperl" != "perl-suidperl" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-suidperl não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_Dumper=`grep "^perl-XML-Dumper$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_Dumper" != "perl-XML-Dumper" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-Dumper não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_Grove=`grep "^perl-XML-Grove$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_Grove" != "perl-XML-Grove" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-Grove não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_LibXML_Common=`grep "^perl-XML-LibXML-Common$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_LibXML_Common" != "perl-XML-LibXML-Common" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-LibXML-Common não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_LibXML=`grep "^perl-XML-LibXML$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_LibXML" != "perl-XML-LibXML" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-LibXML não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_Simple=`grep "^perl-XML-Simple$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_Simple" != "perl-XML-Simple" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-Simple não foi instalado!!!' \ 6 40 exit 0 fi #alterado checa_perl_XML_Twig=`grep "^perl-XML-Twig$" /tmp/expresso-arquivos` if [ "$checa_perl_XML_Twig" != "perl-XML-Twig" ] ; then dialog \ --title 'Falta instalar pacote' \ --msgbox 'O pacote perl-XML-Twig não foi instalado!!!' \ 6 40 exit 0 fi else dialog \ --title 'Aviso' \ --msgbox 'Ok, a verificação de pacotes necessários não será feita, isso poderá fazer como que o Expresso Livre não funcione!!!' \ 10 40 fi ############################################################################################ # GET VARs LDAP_DN=`php ./arqs-conf-rhel5/makedn.php $DOMAIN` LDAP_DC=`php ./arqs-conf-rhel5/makedc.php $DOMAIN` LDAP_PWD_MD5=`slappasswd -v -s $LDAP_PWD -h {MD5}` LDAP_PWD_MD5=`php ./arqs-conf-rhel5/regexp.php $LDAP_PWD_MD5` HEADER_PWD=`php ./arqs-conf-rhel5/pass.php $LDAP_PWD` ############################################################################################ service sendmail stop chkconfig --del sendmail alias cp="cp" # POSTGRES service postgresql stop service postgresql start sleep 3 service postgresql stop cp -f ./arqs-conf-rhel5/var/lib/pgsql/data/postgresql.conf /var/lib/pgsql/data/ cp -f ./arqs-conf-rhel5/var/lib/pgsql/data/pg_hba.conf /var/lib/pgsql/data/ service postgresql start su - postgres -c 'dropdb expresso' || { echo "Banco expresso não existia. [OK]"; } su - postgres -c 'createdb -E LATIN1 expresso' || { echo "Problemas na criação do banco expresso. [Falhou]"; exit 1;} sed -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-rhel5/expresso.dump > /tmp/expresso.dump service postgresql start su - postgres -c 'psql -f /tmp/expresso.dump expresso' rm /tmp/expresso.dump ############################################################################################ # APACHE cp -r -p ../../../expresso/ /var/www/ cp ./arqs-conf-rhel5/etc/httpd/conf/httpd.conf /etc/httpd/conf/ cp ./arqs-conf-rhel5/etc/httpd/conf.d/expresso.conf /etc/httpd/conf.d/ chown -R apache.apache /var/www/expresso cp ./arqs-conf-rhel5/etc/php.ini /etc/ mkdir /php_sessions/ || { echo "Diretório já existe. [OK]"; } chmod -R 777 /php_sessions/ service httpd restart ############################################################################################ # OPENLDAP service ldap stop sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD_MD5/$LDAP_PWD_MD5/g" ./arqs-conf-rhel5/etc/openldap/slapd.conf > /etc/openldap/slapd.conf cp ./arqs-conf-rhel5/etc/openldap/schema/* /etc/openldap/schema/ rm -rf /var/lib/ldap/* cp ./arqs-conf-rhel5/etc/openldap/DB_CONFIG /var/lib/ldap/ chown -R ldap.ldap /var/lib/ldap/ sleep 2 sed -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-rhel5/expresso.ldif > /tmp/expresso.ldif sleep 2 slapadd -v -l /tmp/expresso.ldif chown -R ldap.ldap /var/lib/ldap/ sleep 2 service ldap start rm /tmp/expresso.ldif ############################################################################################ # CYRUS cp ./arqs-conf-rhel5/etc/imapd.conf /etc/ cp ./arqs-conf-rhel5/etc/cyrus.conf /etc/ sed -e "s/LDAP_DN/$LDAP_DN/g" ./arqs-conf-rhel5/etc/saslauthd.conf > /etc/saslauthd.conf cp ./arqs-conf-rhel5/etc/sysconfig/saslauthd /etc/sysconfig/ cp -p ./arqs-conf-rhel5/usr/bin/cyradm_expresso /usr/bin/ service saslauthd restart sleep 4 service cyrus-imapd restart sleep 4 ./arqs-conf-rhel5/cyrus.pl $LDAP_PWD ############################################################################################ # POSTFIX sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf-rhel5/etc/postfix/main.cf > /etc/postfix/main.cf sed -e "s/DOMAIN/$DOMAIN/g" ./arqs-conf-rhel5/etc/postfix/expresso-dominios > /etc/postfix/expresso-dominios #cp ./arqs-conf-rhel5/etc/postfix/master.cf /etc/postfix/ service postfix restart postmap /etc/postfix/expresso-dominios ############################################################################################ mkdir /home/expressolivre || { echo "Diretório já existe. [OK]"; } cp ./arqs-conf-rhel5/home/expressolivre/* /home/expressolivre/ chown -R apache.apache /home/expressolivre/ ############################################################################################ # HEADER_INC_PHP sed -e "s/HEADER_PWD/$HEADER_PWD/g" ./arqs-conf-rhel5/header.inc.php > /var/www/expresso/header.inc.php chown apache.apache -R /var/www/expresso ############################################################################################ dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox "FIM. www.expressolivre.org" 7 55 && dialog \ --title 'Aviso Importante!!!' \ --textbox arqs-conf-rhel5/rpms/listalang.txt \ 0 0 echo '.'