#!/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 # # # LC_TELEPHONE=es_VE.UTF-8 LC_CTYPE=es_VE.UTF-8 LANGUAGE=es_VE:pt_PT:pt LC_MONETARY=es_VE.UTF-8 LC_ADDRESS=es_VE.UTF-8 LC_COLLATE=es_VE.UTF-8 LC_PAPER=es_VE.UTF-8 LC_NAME=es_VE.UTF-8 LC_NUMERIC=es_VE.UTF-8 SYSFONT=lat1-16 LC_MEASUREMENT=es_VE.UTF-8 LC_TIME=es_VE.UTF-8 LANG=es_VE.UTF-8 LC_IDENTIFICATION=es_VE.UTF-8 LC_MESSAGES=es_VE.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 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 testadialog="`type dialog | awk '{print $1}'`" if [ "$testadialog" != "dialog" ]; then echo "O Dialog nao esta instalado." echo "" echo "" echo "Instalando o Dialog!!!" rpm -ivh arqs-conf-rhel5/rpms/dialog-1.0.20051107-1.2.2.i386.rpm else echo "Dialog instalado!!!" fi BACKTITLE='Instalación de ExpressoLivre 2.0' INTRO=' Bienvenido(a) a la instalación de ExpressoLivre! 3 (tres) preguntas seran hechas a usted. - Escriba una contraseña. - Escriba una organización. - Escriba un dominio. Con estas informaciones el script podrá instalar y configurar el ExpressoLivre. ' #..................................................................... dialog --backtitle "$BACKTITLE" \ --cr-wrap \ --msgbox "$INTRO" \ 17 55 && #..................................................................... LDAP_PWD=$( dialog --stdout --inputbox 'Escriba una contraseña:' 0 0 ) #..................................................................... ORG=$( dialog --stdout --inputbox 'Escriba una organización:(ej.: celepar)' 0 55 ) #..................................................................... DOMAIN=$( dialog --stdout --inputbox 'Escriba su dominio:(ej.: celepar.pr.gov.br) '$ORG'.pr.gov.br)' 0 55 ) #..................................................................... dialog --backtitle "$BACKTITLE" --cr-wrap --msgbox \ "Relación de los paquetes necesarios para que ExpressoLivre funcione." 10 65 && #..................................................................... dialog \ --title 'RPMS' \ --textbox arqs-conf-rhel5/rpms/listarpms.txt \ 0 0 dialog --yesno 'Desea verificar si los paquetes necesarios estan instalados?' 7 70 if [ $? = 0 ]; then dialog \ --title 'Aguarde' \ --infobox '\nVerificando la instalación de los paquetes necesarios...' \ 0 0 checa_httpd=`rpm -qa --qf '%{name}\n' | grep "httpd" | grep -v manual | grep -v config` if [ "$checa_httpd" != "httpd" ] ; then dialog \ --title 'Falta instalar el paquete' \ --msgbox 'El paquete httpd no fue instalado!!!' \ 6 40 exit 0 fi checa_postgresql=`rpm -qa --qf '%{name}\n' | grep postgresql | grep -v postgresql-` if [ "$checa_postgresql" != "postgresql" ] ; then dialog \ --title 'Falta instalar el paquete' \ --msgbox 'El paquete postgresql no fue instalado!!!' \ 6 40 exit 0 fi checa_postgresql_server=`rpm -qa --qf '%{name}\n' | grep postgresql-server` if [ "$checa_postgresql_server" != "postgresql-server" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete postgresql-server no fue instalado!!!' \ 6 40 exit 0 fi checa_openldap=`rpm -qa --qf '%{name}\n' | grep openldap | grep -v openldap-` if [ "$checa_openldap" != "openldap" ] ; then dialog \ --title 'Falta instalar el paquete' \ --msgbox 'El paquete openldap no fue instalado!!!' \ 6 40 exit 0 fi checa_openldap_clients=`rpm -qa --qf '%{name}\n' | grep openldap-clients` if [ "$checa_openldap_clients" != "openldap-clients" ] ; then dialog \ --title 'Falta instalar el paquete' \ --msgbox 'El paquete openldap-clients no fue instalado!!!' \ 6 40 exit 0 fi checa_libtool_ltdl=`rpm -qa --qf '%{name}\n' | grep libtool-ltdl` if [ "$checa_libtool_ltdl" != "libtool-ltdl" ] ; then dialog \ --title 'Falta instalar el paquete' \ --msgbox 'El paquete libtool-ltdl no fue instalado!!!' \ 6 40 exit 0 fi checa_openldap_servers=`rpm -qa --qf '%{name}\n' | grep openldap-servers | grep -v openldap-servers-` if [ "$checa_openldap_servers" != "openldap-servers" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete openldap-servers no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_imapd=`rpm -qa --qf '%{name}\n' | grep cyrus-imapd | grep -v cyrus-imapd-` if [ "$checa_cyrus_imapd" != "cyrus-imapd" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-imapd no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_imapd_perl=`rpm -qa --qf '%{name}\n' | grep cyrus-imapd-perl` if [ "$checa_cyrus_imapd_perl" != "cyrus-imapd-perl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-imapd-perl no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_imapd_utils=`rpm -qa --qf '%{name}\n' | grep cyrus-imapd-utils` if [ "$checa_cyrus_imapd_utils" != "cyrus-imapd-utils" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-imapd-utils no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_sasl=`rpm -qa --qf '%{name}\n' | grep cyrus-sasl | grep -v cyrus-sasl-` if [ "$checa_cyrus_sasl" != "cyrus-sasl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-sasl no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_sasl_ldap=`rpm -qa --qf '%{name}\n' | grep cyrus-sasl-ldap` if [ "$checa_cyrus_sasl_ldap" != "cyrus-sasl-ldap" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-sasl-ldap no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_sasl_md5=`rpm -qa --qf '%{name}\n' | grep cyrus-sasl-md5` if [ "$checa_cyrus_sasl_md5" != "cyrus-sasl-md5" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-sasl-md5 no fue instalado!!!' \ 6 40 exit 0 fi checa_cyrus_sasl_plain=`rpm -qa --qf '%{name}\n' | grep cyrus-sasl-plain` if [ "$checa_cyrus_sasl_plain" != "cyrus-sasl-plain" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete cyrus-sasl-plain no fue instalado!!!' \ 6 40 exit 0 fi checa_postfix=`rpm -qa --qf '%{name}\n' | grep postfix` if [ "$checa_postfix" != "postfix" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete postfix no fue instalado!!!' \ 6 40 exit 0 fi checa_unzip=`rpm -qa --qf '%{name}\n' | grep unzip` if [ "$checa_unzip" != "unzip" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete unzip no fue instalado!!!' \ 6 40 exit 0 fi checa_zip=`rpm -qa --qf '%{name}\n' | grep zip | grep -v bzip2 | grep -v gzip | grep -v unzip` if [ "$checa_zip" != "zip" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete zip no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_perl=`rpm -qa --qf '%{name}\n' | grep mod_perl` if [ "$checa_mod_perl" != "mod_perl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_perl no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_ssl=`rpm -qa --qf '%{name}\n' | grep mod_ssl` if [ "$checa_mod_ssl" != "mod_ssl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_ssl no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_python=`rpm -qa --qf '%{name}\n' | grep mod_python` if [ "$checa_mod_python" != "mod_python" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_python no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_auth_pgsql=`rpm -qa --qf '%{name}\n' | grep mod_auth_pgsql` if [ "$checa_mod_auth_pgsql" != "mod_auth_pgsql" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_auth_pgsql no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_nss=`rpm -qa --qf '%{name}\n' | grep mod_nss` if [ "$checa_mod_nss" != "mod_nss" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_nss no fue instalado!!!' \ 6 40 exit 0 fi checa_mod_authz_ldap=`rpm -qa --qf '%{name}\n' | grep mod_authz_ldap` if [ "$checa_mod_authz_ldap" != "mod_authz_ldap" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mod_authz_ldap no fue instalado!!!' \ 6 40 exit 0 fi checa_libc_client=`rpm -qa --qf '%{name}\n' | grep libc-client` if [ "$checa_libc_client" != "libc-client" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete libc-client no fue instalado!!!' \ 6 40 exit 0 fi checa_mysql=`rpm -qa --qf '%{name}\n' | grep mysql | grep -v mysql- | grep -v php-mysql | grep -v libdbi-dbd-mysql` if [ "$checa_mysql" != "mysql" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete mysql no fue instalado!!!' \ 6 40 exit 0 fi checa_net_snmp=`rpm -qa --qf '%{name}\n' | grep net-snmp | grep -v net-snmp-` if [ "$checa_net_snmp" != "net-snmp" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete net-snmp no fue instalado!!!' \ 6 40 exit 0 fi checa_php=`rpm -qa --qf '%{name}\n' | grep php | grep -v php-` if [ "$checa_php" != "php" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php no fue instalado!!!' \ 6 40 exit 0 fi checa_php_bcmath=`rpm -qa --qf '%{name}\n' | grep php-bcmath` if [ "$checa_php_bcmath" != "php-bcmath" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-bcmath no fue instalado!!!' \ 6 40 exit 0 fi checa_php_cli=`rpm -qa --qf '%{name}\n' | grep php-cli` if [ "$checa_php_cli" != "php-cli" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-cli no fue instalado!!!' \ 6 40 exit 0 fi checa_php_common=`rpm -qa --qf '%{name}\n' | grep php-common` if [ "$checa_php_common" != "php-common" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-common no fue instalado!!!' \ 6 40 exit 0 fi checa_php_dba=`rpm -qa --qf '%{name}\n' | grep php-dba` if [ "$checa_php_dba" != "php-dba" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-dba no fue instalado!!!' \ 6 40 exit 0 fi checa_php_gd=`rpm -qa --qf '%{name}\n' | grep php-gd` if [ "$checa_php_gd" != "php-gd" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-gd no fue instalado!!!' \ 6 40 exit 0 fi checa_php_imap=`rpm -qa --qf '%{name}\n' | grep php-imap` if [ "$checa_php_imap" != "php-imap" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-imap no fue instalado!!!' \ 6 40 exit 0 fi checa_php_ldap=`rpm -qa --qf '%{name}\n' | grep php-ldap` if [ "$checa_php_ldap" != "php-ldap" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-ldap no fue instalado!!!' \ 6 40 exit 0 fi checa_php_mysql=`rpm -qa --qf '%{name}\n' | grep php-mysql` if [ "$checa_php_mysql" != "php-mysql" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-mysql no fue instalado!!!' \ 6 40 exit 0 fi checa_php_mbstring=`rpm -qa --qf '%{name}\n' | grep php-mbstring` if [ "$checa_php_mbstring" != "php-mbstring" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-mbstring no fue instalado!!!' \ 6 40 exit 0 fi checa_php_ncurses=`rpm -qa --qf '%{name}\n' | grep php-ncurses` if [ "$checa_php_ncurses" != "php-ncurses" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-ncurses no fue instalado!!!' \ 6 40 exit 0 fi checa_php_odbc=`rpm -qa --qf '%{name}\n' | grep php-odbc` if [ "$checa_php_odbc" != "php-odbc" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-odbc no fue instalado!!!' \ 6 40 exit 0 fi checa_php_pdo=`rpm -qa --qf '%{name}\n' | grep php-pdo` if [ "$checa_php_pdo" != "php-pdo" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-pdo no fue instalado!!!' \ 6 40 exit 0 fi checa_php_pear=`rpm -qa --qf '%{name}\n' | grep php-pear` if [ "$checa_php_pear" != "php-pear" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-pear no fue instalado!!!' \ 6 40 exit 0 fi checa_php_pgsql=`rpm -qa --qf '%{name}\n' | grep php-pgsql` if [ "$checa_php_pgsql" != "php-pgsql" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-pgsql no fue instalado!!!' \ 6 40 exit 0 fi checa_php_snmp=`rpm -qa --qf '%{name}\n' | grep php-snmp` if [ "$checa_php_snmp" != "php-snmp" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-snmp no fue instalado!!!' \ 6 40 exit 0 fi checa_php_soap=`rpm -qa --qf '%{name}\n' | grep php-soap` if [ "$checa_php_soap" != "php-soap" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-soap no fue instalado!!!' \ 6 40 exit 0 fi checa_php_xml=`rpm -qa --qf '%{name}\n' | grep php-xml | grep -v php-xmlrpc` if [ "$checa_php_xml" != "php-xml" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-xml no fue instalado!!!' \ 6 40 exit 0 fi checa_php_xmlrpc=`rpm -qa --qf '%{name}\n' | grep php-xmlrpc` if [ "$checa_php_xmlrpc" != "php-xmlrpc" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete php-xmlrpc no fue instalado!!!' \ 6 40 exit 0 fi checa_perl=`rpm -qa --qf '%{name}\n' | grep perl | grep -v perl- | grep -v mod_perl | grep -v cyrus-imapd-perl` if [ "$checa_perl" != "perl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Compress_Zlib=`rpm -qa --qf '%{name}\n' | grep perl-Compress-Zlib` if [ "$checa_perl_Compress_Zlib" != "perl-Compress-Zlib" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Compress-Zlib no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_IO_Zlib=`rpm -qa --qf '%{name}\n' | grep perl-IO-Zlib` if [ "$checa_perl_IO_Zlib" != "perl-IO-Zlib" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-IO-Zlib no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Archive_Tar=`rpm -qa --qf '%{name}\n' | grep perl-Archive-Tar` if [ "$checa_perl_Archive_Tar" != "perl-Archive-Tar" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Archive-Tar no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Carp_Clan=`rpm -qa --qf '%{name}\n' | grep perl-Carp-Clan` if [ "$checa_perl_Carp_Clan" != "perl-Carp-Clan" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Carp-Clan no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Bit_Vector=`rpm -qa --qf '%{name}\n' | grep perl-Bit-Vector` if [ "$checa_perl_Bit_Vector" != "perl-Bit-Vector" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Bit-Vector no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_BSD_Resource=`rpm -qa --qf '%{name}\n' | grep perl-BSD-Resource` if [ "$checa_perl_BSD_Resource" != "perl-BSD-Resource" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-BSD-Resource no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Convert_ASN1=`rpm -qa --qf '%{name}\n' | grep perl-Convert-ASN1` if [ "$checa_perl_Convert_ASN1" != "perl-Convert-ASN1" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Convert-ASN1 no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Crypt_SSLeay=`rpm -qa --qf '%{name}\n' | grep perl-Crypt-SSLeay` if [ "$checa_perl_Crypt_SSLeay" != "perl-Crypt-SSLeay" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Crypt-SSLeay no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Date_Calc=`rpm -qa --qf '%{name}\n' | grep perl-Date-Calc` if [ "$checa_perl_Date_Calc" != "perl-Date-Calc" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Date-Calc no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_DBD_Pg=`rpm -qa --qf '%{name}\n' | grep perl-DBD-Pg` if [ "$checa_perl_DBD_Pg" != "perl-DBD-Pg" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-DBD-Pg no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_DBI=`rpm -qa --qf '%{name}\n' | grep perl-DBI` if [ "$checa_perl_DBI" != "perl-DBI" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-DBI no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_String_CRC32=`rpm -qa --qf '%{name}\n' | grep perl-String-CRC32` if [ "$checa_perl_String_CRC32" != "perl-String-CRC32" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-String-CRC32 no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_DBD_MySQL=`rpm -qa --qf '%{name}\n' | grep perl-DBD-MySQL` if [ "$checa_perl_DBD_MySQL" != "perl-DBD-MySQL" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-DBD-MySQL no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Digest_SHA1=`rpm -qa --qf '%{name}\n' | grep perl-Digest-SHA1` if [ "$checa_perl_Digest_SHA1" != "perl-Digest-SHA1" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Digest-SHA1 no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Digest_HMAC=`rpm -qa --qf '%{name}\n' | grep perl-Digest-HMAC` if [ "$checa_perl_Digest_HMAC" != "perl-Digest-HMAC" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Digest-HMAC no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_HTML_Tagset=`rpm -qa --qf '%{name}\n' | grep perl-HTML-Tagset` if [ "$checa_perl_HTML_Tagset" != "perl-HTML-Tagset" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-HTML-Tagset no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_HTML_Parser=`rpm -qa --qf '%{name}\n' | grep perl-HTML-Parser` if [ "$checa_perl_HTML_Parser" != "perl-HTML-Parser" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-HTML-Parser no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Socket6=`rpm -qa --qf '%{name}\n' | grep perl-Socket6` if [ "$checa_perl_Socket6" != "perl-Socket6" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Socket6 no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_IO_Socket_INET6=`rpm -qa --qf '%{name}\n' | grep perl-IO-Socket-INET6` if [ "$checa_perl_IO_Socket_INET6" != "perl-IO-Socket-INET6" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-IO-Socket-INET6 no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Net_SSLeay=`rpm -qa --qf '%{name}\n' | grep perl-Net-SSLeay` if [ "$checa_perl_Net_SSLeay" != "perl-Net-SSLeay" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Net-SSLeay no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_IO_Socket_SSL=`rpm -qa --qf '%{name}\n' | grep perl-IO-Socket-SSL` if [ "$checa_perl_IO_Socket_SSL" != "perl-IO-Socket-SSL" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-IO-Socket-SSL no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_IO_String=`rpm -qa --qf '%{name}\n' | grep perl-IO-String` if [ "$checa_perl_IO_String" != "perl-IO-String" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-IO-String no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_NamespaceSupport=`rpm -qa --qf '%{name}\n' | grep perl-XML-NamespaceSupport` if [ "$checa_perl_XML_NamespaceSupport" != "perl-XML-NamespaceSupport" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-NamespaceSupport no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_SAX=`rpm -qa --qf '%{name}\n' | grep perl-XML-SAX` if [ "$checa_perl_XML_SAX" != "perl-XML-SAX" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-SAX no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_URI=`rpm -qa --qf '%{name}\n' | grep perl-URI` if [ "$checa_perl_URI" != "perl-URI" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-URI no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_libwww_perl=`rpm -qa --qf '%{name}\n' | grep perl-libwww-perl` if [ "$checa_perl_libwww_perl" != "perl-libwww-perl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-libwww-perl no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_Parser=`rpm -qa --qf '%{name}\n' | grep perl-XML-Parser` if [ "$checa_perl_XML_Parser" != "perl-XML-Parser" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-Parser no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_LDAP=`rpm -qa --qf '%{name}\n' | grep perl-LDAP` if [ "$checa_perl_LDAP" != "perl-LDAP" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-LDAP no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_libxml_perl=`rpm -qa --qf '%{name}\n' | grep perl-libxml-perl` if [ "$checa_perl_libxml_perl" != "perl-libxml-perl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-libxml-perl no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Net_IP=`rpm -qa --qf '%{name}\n' | grep perl-Net-IP` if [ "$checa_perl_Net_IP" != "perl-Net-IP" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Net-IP no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Net_DNS=`rpm -qa --qf '%{name}\n' | grep perl-Net-DNS` if [ "$checa_perl_Net_DNS" != "perl-Net-DNS" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Net-DNS no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_Net_Telnet=`rpm -qa --qf '%{name}\n' | grep perl-Net-Telnet` if [ "$checa_perl_Net_Telnet" != "perl-Net-Telnet" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-Net-Telnet no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_NKF=`rpm -qa --qf '%{name}\n' | grep perl-NKF` if [ "$checa_perl_NKF" != "perl-NKF" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-NKF no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_SGMLSpm=`rpm -qa --qf '%{name}\n' | grep perl-SGMLSpm` if [ "$checa_perl_SGMLSpm" != "perl-SGMLSpm" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-SGMLSpm no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_suidperl=`rpm -qa --qf '%{name}\n' | grep perl-suidperl` if [ "$checa_perl_suidperl" != "perl-suidperl" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-suidperl no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_Dumper=`rpm -qa --qf '%{name}\n' | grep perl-XML-Dumper` if [ "$checa_perl_XML_Dumper" != "perl-XML-Dumper" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-Dumper no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_Grove=`rpm -qa --qf '%{name}\n' | grep perl-XML-Grove` if [ "$checa_perl_XML_Grove" != "perl-XML-Grove" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-Grove no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_LibXML_Common=`rpm -qa --qf '%{name}\n' | grep perl-XML-LibXML-Common` if [ "$checa_perl_XML_LibXML_Common" != "perl-XML-LibXML-Common" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-LibXML-Common no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_LibXML=`rpm -qa --qf '%{name}\n' | grep perl-XML-LibXML | grep -v perl-XML-LibXML-` if [ "$checa_perl_XML_LibXML" != "perl-XML-LibXML" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-LibXML no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_Simple=`rpm -qa --qf '%{name}\n' | grep perl-XML-Simple` if [ "$checa_perl_XML_Simple" != "perl-XML-Simple" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-Simple no fue instalado!!!' \ 6 40 exit 0 fi checa_perl_XML_Twig=`rpm -qa --qf '%{name}\n' | grep perl-XML-Twig` if [ "$checa_perl_XML_Twig" != "perl-XML-Twig" ] ; then dialog \ --title 'Falta instalar paquete' \ --msgbox 'El paquete perl-XML-Twig no fue instalado!!!' \ 6 40 exit 0 fi else dialog \ --title 'Aviso' \ --msgbox 'Ok, la verificacion de los paquetes necesarios no será realizada, eso puede ocasionar que Expresso Livre no 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 "Base de datos no existia. [OK]"; } su - postgres -c 'createdb -E LATIN1 expresso' || { echo "Problemas en la creacion de base de datos expresso. [Fallo]"; 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 "Diretorio ya 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 "Diretorio ya 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 '.'