Line 4: |
Line 4: |
| * The server must have internet access when te script is executed. | | * The server must have internet access when te script is executed. |
| * This is not a 'point and click' installation. A thorough understanding of Zarafa, SME Server and DB entries is required. Please study [[Zarafa_on_SME8|this]] page carefully. | | * This is not a 'point and click' installation. A thorough understanding of Zarafa, SME Server and DB entries is required. Please study [[Zarafa_on_SME8|this]] page carefully. |
− | * This script is '''intended for 64-bit architecture'''. For SME-32-bit adapt the script at the end, where it needs to download the 32-bit zcp-package (zcp-7.0.14-42060-rhel-5-i386-free.tar.gz) and be executed in the 32-bit-directory (zcp-7.0.14-42060-rhel-5-i386). Just change the x86_64-references to i386-references at the end of the script.}} | + | * Adjusted script to auto detect architecture and SME Version.}} |
| | | |
| What we actually need is a member that has RPM skills to create and maintain a SME8-Zarafa7 rpm. Interested anyone? | | What we actually need is a member that has RPM skills to create and maintain a SME8-Zarafa7 rpm. Interested anyone? |
Line 11: |
Line 11: |
| 1. Log in as root and create an installation directory and move to that directory | | 1. Log in as root and create an installation directory and move to that directory |
| | | |
− | 2. Copy the below script and paste it into the installation directory as install-zarafa7.sh | + | 2. Copy the below script and paste it into the installation directory as install-zarafa7.0.sh |
| | | |
− | 3. Make install-zarafa.sh executable (chmod 755 install-zarafa7.sh) | + | 3. Make install-zarafa7.0.sh executable (chmod 755 install-zarafa7.0.sh) |
| | | |
− | 4. Execute the script (./install-zarafa7.sh) | + | 4. Execute the script (./install-zarafa7.0.sh) |
| | | |
| The script will take care of all downloads, templates and custom templates (as per the how-to) and will leave you at the point where you have to select language (UTF) and zarafa mechanism db or unix. | | The script will take care of all downloads, templates and custom templates (as per the how-to) and will leave you at the point where you have to select language (UTF) and zarafa mechanism db or unix. |
Line 22: |
Line 22: |
| | | |
| | | |
− | ===install-zarafa7.sh=== | + | ===install-zarafa7.0.sh=== |
| (credits forum user frifri) | | (credits forum user frifri) |
| | | |
Line 1,011: |
Line 1,011: |
| fi | | fi |
| fi | | fi |
| + | |
| + | ####################################### |
| + | # Z-Push |
| + | ####################################### |
| + | |
| + | # |
| + | #--- /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/29ZarafaAliases --- |
| + | # |
| + | echo |
| + | echo "Creating /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/29ZarafaAliases ..." |
| + | echo |
| + | cat <<HERE14 > /etc/e-smith/templates/etc/httpd/conf/httpd.conf/VirtualHosts/29ZarafaAliases |
| + | { |
| + | # vim: ft=perl: |
| + | |
| + | \$haveSSL = (exists \${modSSL}{status} and \${modSSL}{status} eq "enabled") ? 'yes' : 'no'; |
| + | my \$zwebmailStatus = \$zarafa{'status'} || "disabled"; |
| + | my \$zwebmailAccessType = \$zarafa{'access'} || "SSL"; |
| + | |
| + | my \$dirs; |
| + | \$dirs{zarafa} = '/usr/share/zarafa-webaccess'; |
| + | \$dirs{webaccess} = '/usr/share/zarafa-webaccess'; |
| + | \$dirs{webmail} = '/usr/share/zarafa-webaccess'; |
| + | if (\$imp{'status'} eq 'enabled') {\$dirs{webmail} = ''}; |
| + | \$dirs{webapp} = '/usr/share/zarafa-webapp'; |
| + | \$dirs{'Microsoft-Server-ActiveSync'} = '/usr/share/z-push/index.php'; |
| + | |
| + | return " # Zarafa is disabled in this VirtualHost\n" |
| + | unless \$zwebmailStatus eq 'enabled'; |
| + | |
| + | foreach \$place ('zarafa','webmail','webaccess','webapp','Microsoft-Server-ActiveSync') |
| + | { |
| + | if ((\$port eq "80") && (\$haveSSL eq 'yes') && (\$zwebmailAccessType eq 'SSL')) |
| + | { |
| + | \$OUT .= " RewriteRule ^/\$place(/.*|\\$) https://%{HTTP_HOST}/\$place\\\$1 [L,R]\n"; |
| + | } else { |
| + | if ((\$dirs{\$place}) ne '') {\$OUT .= " Alias /\$place \$dirs{\$place}\n"}; |
| + | } |
| + | } |
| + | } |
| + | HERE14 |
| + | |
| + | # |
| + | #--- /etc/e-smith/templates/etc/httpd/conf/httpd.conf/86ZarafaAlias --- |
| + | # |
| + | echo |
| + | echo "Creating /etc/e-smith/templates/etc/httpd/conf/httpd.conf/86ZarafaAlias ..." |
| + | echo |
| + | cat <<HERE15 > /etc/e-smith/templates/etc/httpd/conf/httpd.conf/86ZarafaAlias |
| + | { |
| + | my \$zstatus = \$zarafa{'status'}; |
| + | |
| + | if (defined \$zstatus && \$zstatus eq 'enabled') |
| + | { |
| + | \$OUT .= qq( |
| + | #-------------------------------------------------------------------- |
| + | # Zarafa specific configuration files. |
| + | #-------------------------------------------------------------------- |
| + | |
| + | Alias /zarafa /usr/share/zarafa-webaccess/ |
| + | <Directory /usr/share/zarafa-webaccess/> |
| + | Options -Indexes |
| + | AllowOverride All |
| + | order allow,deny |
| + | allow from all |
| + | AddType application/x-httpd-php .php |
| + | php_flag magic_quotes_gpc off |
| + | php_flag track_vars on |
| + | </Directory> |
| + | |
| + | Alias /webapp /usr/share/zarafa-webapp/ |
| + | <Directory /usr/share/zarafa-webapp/> |
| + | Options -Indexes |
| + | AllowOverride All |
| + | order allow,deny |
| + | allow from all |
| + | AddType application/x-httpd-php .php |
| + | php_flag magic_quotes_gpc off |
| + | php_flag track_vars on |
| + | </Directory> |
| + | |
| + | <Directory /usr/share/z-push/> |
| + | Options -Indexes |
| + | AllowOverride All |
| + | order allow,deny |
| + | allow from all |
| + | AddType application/x-httpd-php .php .php3 |
| + | php_flag magic_quotes_gpc off |
| + | php_flag register_globals off |
| + | php_flag magic_quotes_runtime off |
| + | php_flag short_open_tag on |
| + | </Directory> |
| + | |
| + | ); |
| + | } |
| + | else |
| + | { |
| + | \$OUT .= "# Zarafa Webmail is not configured as it is disabled in the config db"; |
| + | } |
| + | } |
| + | HERE15 |
| + | |
| + | ###################################### |
| + | # Configuration of Z-push |
| + | ###################################### |
| + | |
| + | /bin/echo |
| + | /bin/echo "Configuration of Z-push" |
| + | /bin/echo |
| + | FILE=/var/lib/z-push; if [ -d $FILE ]; then /bin/echo -e "** $FILE already exists, skipping **\n"; else /bin/mkdir $FILE; fi |
| + | FILE=/var/lib/z-push; if [ -d $FILE ]; then /bin/chown -R www:www $FILE; fi |
| + | FILE=/var/lib/z-push; if [ -d $FILE ]; then /bin/chmod 755 $FILE; fi |
| + | FILE=/var/log/z-push; if [ -d $FILE ]; then /bin/echo -e "** $FILE already exists, skipping **\n"; else /bin/mkdir $FILE; fi |
| + | FILE=/var/log/z-push; if [ -d $FILE ]; then /bin/chown -R www:www $FILE; fi |
| + | FILE=/var/log/z-push; if [ -d $FILE ]; then /bin/chmod 755 $FILE; fi |
| + | |
| + | /bin/echo |
| + | /bin/echo "Expanding http.conf-template" |
| + | /bin/echo |
| + | /sbin/e-smith/expand-template /etc/httpd/conf/httpd.conf |
| + | |
| + | /bin/echo |
| + | /bin/echo "Restarting httpd" |
| + | /bin/echo |
| + | /usr/bin/sv restart /service/httpd-e-smith |
| | | |
| | | |
Line 1,061: |
Line 1,186: |
| /bin/echo | | /bin/echo |
| /bin/echo "You must perform a signal-event post-upgrade;signal-event reboot" | | /bin/echo "You must perform a signal-event post-upgrade;signal-event reboot" |
− |
| |
| fi | | fi |
| fi | | fi |
| } | | } |
| | | |
− | clear
| + | ############################################### |
− | # Start of the actual script | + | # Subroutine to set epel repo's if required |
− | # Setting up epel and epel-testing repo's | + | ############################################### |
| + | epelrepos () |
| + | { |
| /sbin/e-smith/db yum_repositories set epel repository \ | | /sbin/e-smith/db yum_repositories set epel repository \ |
| Name 'Epel - EL5' \ | | Name 'Epel - EL5' \ |
Line 1,088: |
Line 1,214: |
| Visible no \ | | Visible no \ |
| status disabled | | status disabled |
− |
| |
| signal-event yum-modify | | signal-event yum-modify |
| + | } |
| | | |
− | VERSION=7.0.15-4279
| + | clear |
− | if [ `$(cat /etc/redhat-release|grep -o 8)` = "8") | + | # Start of the actual script |
| + | # Setting Zarafa and Z-Push Version numbers, detect SME Server major version and architecture and set install directory |
| + | ZVERSION=7.0.13-41388 |
| + | PUSHVERSION=2.1.1-1788 |
| + | INSTALLDIR=/root/install/zarafa |
| + | TEMPLATEDIR=/etc/e-smith/templates/etc/zarafa/ |
| + | ################################################################################### |
| + | # Init zarafa-array to simplify code and reduce possible (future) mistakes |
| + | # http://tldp.org/LDP/abs/html/arrays.html |
| + | # Not used yet, please ignore for this note is just a placeholder |
| + | # zarafa-array=( unix licensed dagent gateway ical monitor spooler indexer server ) |
| + | # So zarafa-array ranges from 0 to 8 |
| + | ################################################################################### |
| + | if [ $(cat /etc/redhat-release | grep -o 8) = "8" ]; then |
| RHV=5 | | RHV=5 |
| else | | else |
| RHV=6 | | RHV=6 |
| + | # zarafa-array[7]=search # as per comment above, not used yet |
| fi | | fi |
| if [ `getconf LONG_BIT` = "64" ]; then | | if [ `getconf LONG_BIT` = "64" ]; then |
| CPUARCH=x86_64 | | CPUARCH=x86_64 |
− | else CPUARCH=i386fi | + | else |
− | mkdir -p /root/install/zarafa | + | CPUARCH=i386 |
− | cd /root/install/zarafa
| + | fi |
− | wget http://download.zarafa.com/community/final/7.0/$VERSION/zcp-$VERSION-rhel-$RHV-$CPUARCH-free.tar.gz | + | mkdir -p $INSTALLDIR |
− | tar -zxvf zcp-* | + | cd $INSTALLDIR |
− | cd zcp-$VERSION-rhel-$RHV-$CPUARCH | + | wget http://zarafa-deutschland.de/z-push-download/final/2.1/z-push-$PUSHVERSION.tar.gz |
| + | wget http://download.zarafa.com/community/final/7.0/$ZVERSION/zcp-$ZVERSION-rhel-$RHV-$CPUARCH-free.tar.gz |
| + | tar -zxvf $INSTALLDIR/z-push-$PUSHVERSION.tar.gz -C /usr/share |
| + | mv /usr/share/z-push-$PUSHVERSION /usr/share/z-push |
| + | tar -zxvf zcp-$ZVERSION-rhel-$RHV-$CPUARCH-free.tar.gz |
| + | cd zcp-$ZVERSION-rhel-$RHV-$CPUARCH |
| rm -f *-dev*.rpm | | rm -f *-dev*.rpm |
| yum -y localinstall *.rpm | | yum -y localinstall *.rpm |
− | rpm -e php-mapi --nodeps | + | if [ $RHV = "5" ]; then |
− | yum -y install php53-mapi --enablerepo=epel,epel-testing | + | epelrepos |
| + | rpm -e php-mapi --nodeps |
| + | yum -y install php53-mapi --enablerepo=epel,epel-testing |
| + | fi |
| + | yum -y install php-posix |
| zarafainstall | | zarafainstall |
| config setprop zarafa-server GlobalForward enabled | | config setprop zarafa-server GlobalForward enabled |