Scalix Update 11.x: Unterschied zwischen den Versionen
Keine Bearbeitungszusammenfassung |
|||
(2 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
Zeile 11: | Zeile 11: | ||
</pre> | </pre> | ||
In Version 11.4 war (mal wieder) ein Deb-Paket (leicht) fehlerhaft, ich zeige hier beispielhaft, wie solche Fehler korrigiert werden können. Nach Fehlerbereinigung einfach das Paket entfernen und neu installieren. | In Version 11.4.0 war (mal wieder) ein Deb-Paket (leicht) fehlerhaft, ich zeige hier beispielhaft, wie solche Fehler korrigiert werden können. Nach Fehlerbereinigung einfach das Paket entfernen und neu installieren. | ||
<pre> | <pre> | ||
scx:/usr/src# cd scalix-debian-11.4.0-GA/software/scalix_server/ | scx:/usr/src# cd scalix-debian-11.4.0-GA/software/scalix_server/ | ||
Zeile 36: | Zeile 36: | ||
dpkg -r scalix-iconv-extras | dpkg -r scalix-iconv-extras | ||
dpkg -i scalix-iconv-extras_1.2-1_i386.deb | dpkg -i scalix-iconv-extras_1.2-1_i386.deb | ||
</pre> | |||
In 11.4.3 musste ich die Apache Konfiguration fixen, da Scalix die Konfigfiles umbenannt hat, aber das nicht im entsprechendem Setup-File aktualisiert hat. | |||
<pre>scx:/etc/apache2/conf.d# grep 'ajp/' scal* | |||
scalix-tomcat-connector.conf:#Include /etc/opt/scalix-tomcat/connector/ajp/instance-*.conf | |||
scalix-tomcat-connector.conf:Include /etc/opt/scalix-tomcat/connector/ajp/app-*.conf | |||
</pre> | </pre> | ||
Zeile 50: | Zeile 56: | ||
Hier ist das Scalix Update-Script. | Hier ist das Scalix Update-Script. | ||
'''/usr/src/scx-update.sh''' | '''/usr/src/scx-update.sh''' | ||
<pre> | <pre>#!/bin/sh | ||
#!/bin/sh | |||
# Scalix 11.x update script | # Scalix 11.x update script | ||
# Author: neobiker | # Author: neobiker | ||
# Version: $Id: scx-update.sh,v 1.6 2009/02/04 17:30:28 root Exp root $ | # Version: $Id: scx-update.sh,v 1.6 2009/02/04 17:30:28 root Exp root $ | ||
scalix11version=11.4.6 | |||
dbpwd="" | dbpwd="" | ||
ldappwd="" | ldappwd="" | ||
# load and decompress scalix packages | |||
scalix11downloadurl="http://downloads.scalix.com/.community/${scalix11version}/scalix-${scalix11version}-GA-unsupported-debian-intel.bin" | |||
scalix11bin=`basename $scalix11downloadurl` | |||
scalix11dir=scalix-debian-${scalix11version}-GA | |||
usage () | usage () | ||
Zeile 79: | Zeile 90: | ||
scx_main="server postgres" | scx_main="server postgres" | ||
scx_apps="tomcat- tomcat_ swa sac mobile platform res sis" | scx_apps="tomcat- tomcat_ swa sac mobile platform res sis" | ||
# Extract and install packages | |||
if [ ! -e $scalix11dir ]; then | |||
# Download Scalix 11 | |||
if [ ! -e $scalix11bin ]; then | |||
cd $src_dir | |||
wget -N $scalix11downloadurl | |||
fi | |||
sh ./$scalix11bin | |||
fi | |||
cd $scalix11dir/software/scalix_server/ | |||
if [ `ls -1 scalix-*.deb 2>/dev/null | wc -l` -gt 0 ] ; then | if [ `ls -1 scalix-*.deb 2>/dev/null | wc -l` -gt 0 ] ; then | ||
Zeile 105: | Zeile 129: | ||
${base}/sis/sis.properties" | ${base}/sis/sis.properties" | ||
else | else | ||
echo 'Sorry, no scalix-\*.deb | echo 'Sorry, no scalix-\*.deb packages found.' | ||
echo "Please change to the directory which contains the files and try again." | echo "Please change to the directory which contains the files and try again." | ||
exit 1 | exit 1 | ||
fi | fi | ||
} | |||
# modify scalix deb packages (for lenny) | |||
fix_scalix_debs () | |||
{ | |||
deb=`/bin/ls -1 scalix-${1}*.deb` | |||
if [ -e "$deb" ]; then | |||
[ -d old ] || mkdir old | |||
[ -d new_$1 ] && rm -rf new_$1 | |||
[ -d new_$1/DEBIAN ] || mkdir -p new_$1/DEBIAN | |||
[ -e old/$deb ] || cp $deb old/$deb | |||
dpkg -x old/$deb new_$1 | |||
dpkg -e old/$deb new_$1/DEBIAN | |||
case $1 in | |||
iconv) | |||
file=new_$1/DEBIAN/preinst | |||
cat $file | sed -e 's/ "\$1" -gt 1 / -n "\$1" /g' >$file.neu | |||
mv $file.neu $file | |||
chmod a+x $file | |||
file=new_$1/DEBIAN/postrm | |||
cat $file | sed -e 's/ "\$1" -eq 0 / -z "\$1" /g' >$file.neu | |||
mv $file.neu $file | |||
chmod a+x $file | |||
dpkg -b new_$1 $deb | |||
;; | |||
server) | |||
file=new_$1/DEBIAN/control | |||
cat $file | sed -e 's/libsasl2,/libsasl2-2,/g' \ | |||
-e 's/libmilter[^,]*,//g' \ | |||
-e 's/libstdc++2[^,]*,//g' >$file.neu | |||
mv $file.neu $file | |||
file=new_$1/DEBIAN/postinst | |||
cat $file | sed -e "s#OMLOGFILE='~/sys/install/log'#OMLOGFILE='~/sys/install/log';#g" >$file.neu | |||
mv $file.neu $file | |||
chmod a+x $file | |||
dpkg -b new_$1 $deb | |||
;; | |||
postgres) | |||
file=new_$1/DEBIAN/control | |||
cat $file | sed -e 's/| postgresql-client-.\..//g' \ | |||
-e 's/| postgresql-.\..//g' >$file.neu | |||
mv $file.neu $file | |||
dpkg -b new_$1 $deb | |||
;; | |||
*) | |||
;; | |||
esac | |||
fi | |||
} | |||
apache_config () | |||
{ | |||
# Setup Apache | |||
file=/etc/apache2/conf.d/scalix-web-client.conf | |||
[ -e $file ] || ln -s /opt/scalix/global/httpd/scalix-web-client.conf $file | |||
cat << EOT > /etc/apache2/conf.d/scalix-access.conf | |||
<Location /> | |||
Allow from all | |||
</Location> | |||
EOT | |||
file=/etc/opt/scalix-tomcat/connector/ajp/instance-$mnode.conf | |||
if [ ! -e $file ]; then | |||
echo 'Include /etc/opt/scalix-tomcat/connector/ajp/app-*.conf' > $file | |||
fi | |||
files="/etc/opt/scalix-tomcat/connector/ajp/*-$mnode*.conf \ | |||
/etc/opt/scalix-tomcat/connector/jk/*-$mnode*.conf" | |||
for file in $files; do | |||
if [ -e $file ]; then | |||
sed -e 's;<VirtualHost;#<VirtualHost;g' \ | |||
-e 's;</VirtualHost;#</VirtualHost;g' \ | |||
$file > $file.neu | |||
mv $file.neu $file | |||
fi | |||
done | |||
} | } | ||
Zeile 119: | Zeile 231: | ||
done | done | ||
echo "removing ${pkgs}" | echo "removing ${pkgs}" | ||
aptitude remove ${pkgs} | |||
echo "Updating Scalix Server" | echo "Updating Scalix Server" | ||
dpkg -i $opt_update ${main_files} | dpkg -i --force-overwrite $opt_update ${main_files} | ||
dpkg -i $opt_update ${other_files} | dpkg -i --force-overwrite $opt_update ${other_files} | ||
echo "" | echo "" | ||
Zeile 136: | Zeile 243: | ||
pkg=`scx_pkgname ${file}` | pkg=`scx_pkgname ${file}` | ||
echo "updating ${pkg}: ${file}" | echo "updating ${pkg}: ${file}" | ||
if ! dpkg -i --force-overwrite ${file} ; then | if ! dpkg -i --force-overwrite ${file} ; then | ||
echo ">>> Warning: dpkg returned an error. <<<" | echo ">>> Warning: dpkg returned an error. <<<" | ||
Zeile 186: | Zeile 291: | ||
-e "s;%INDEX-WHITELIST%;$fqdn;g" \ | -e "s;%INDEX-WHITELIST%;$fqdn;g" \ | ||
-e "s;%SEARCH-WHITELIST%;$fqdn;g" \ | -e "s;%SEARCH-WHITELIST%;$fqdn;g" \ | ||
-e "s;%INDEXADMIN-WHITELIST%;;g" \ | -e "s;%INDEXADMIN-WHITELIST%;$fqdn;g" \ | ||
-e "s;%SIS-LANGUAGE%;German;g" \ | -e "s;%SIS-LANGUAGE%;German;g" \ | ||
${file} > ${file}.new | ${file} > ${file}.new | ||
Zeile 194: | Zeile 299: | ||
# some (optional) GERMAN settings | # some (optional) GERMAN settings | ||
for file in ${config_files}; do | for file in ${config_files}; do | ||
sed -e "s;ubermanager.console.defaultCountry=US;ubermanager.console.defaultCountry=DE;g" \ | |||
-e "s;ubermanager.console.defaultLanguage=AMERICAN;ubermanager.console.defaultLanguage=GERMAN;g" \ | |||
-e "s;swa.user.locale=en_US;swa.user.locale=de_DE;g" \ | -e "s;swa.user.locale=en_US;swa.user.locale=de_DE;g" \ | ||
-e "s;swa.user.preferredDateTimeFormat=1;swa.user.preferredDateTimeFormat=2;g" \ | -e "s;swa.user.preferredDateTimeFormat=1;swa.user.preferredDateTimeFormat=2;g" \ | ||
Zeile 208: | Zeile 312: | ||
# If SAC Login doesn't work, try this | # If SAC Login doesn't work, try this | ||
# Write Ldappassword to psdata | # Write Ldappassword to psdata | ||
file=${base}/caa/scalix.res/config/psdata | |||
if [ ! -e ${file} ]; then | |||
if [ "x$ldappwd" == "x" ]; then | if [ "x$ldappwd" == "x" ]; then | ||
echo "Scalix LDAP-Password [DB-Password]? " | echo "Scalix LDAP-Password [DB-Password]? " | ||
Zeile 214: | Zeile 319: | ||
[ -z "$ldappwd" ] && ldappwd=$dbpwd | [ -z "$ldappwd" ] && ldappwd=$dbpwd | ||
fi | fi | ||
echo "${ldappwd}" > ${ | echo "${ldappwd}" > ${file} | ||
chown root:root ${ | chown root:root ${file} | ||
chmod 400 ${ | chmod 400 ${file} | ||
ommodu sxqueryadmin -p $ldappwd | |||
fi | fi | ||
} | } | ||
Zeile 275: | Zeile 381: | ||
{ | { | ||
echo "Scalix tomcat restart..." | echo "Scalix tomcat restart..." | ||
/etc/init.d/apache2 restart | |||
/etc/init.d/scalix-tomcat restart | /etc/init.d/scalix-tomcat restart | ||
} | } | ||
Zeile 282: | Zeile 388: | ||
{ | { | ||
echo "Scalix restart..." | echo "Scalix restart..." | ||
for f in /etc/rc1.d/K*scalix*; do $f stop 2>/dev/null; done | for f in /etc/rc1.d/K*scalix* /etc/rc1.d/K*apache2; do $f stop 2>/dev/null; done | ||
for f in /etc/rc2.d/S*scalix*; do $f start; done | for f in /etc/rc2.d/S*apache2 /etc/rc2.d/S*scalix*; do $f start; done | ||
echo "Scalix restarted." | echo "Scalix restarted." | ||
} | } | ||
Zeile 318: | Zeile 423: | ||
scx_initvars | scx_initvars | ||
scx_backup_config | scx_backup_config | ||
fix_scalix_debs iconv | |||
fix_scalix_debs server | |||
fix_scalix_debs postgres | |||
[ -z "$opt_configure" ] && scx_update | [ -z "$opt_configure" ] && scx_update | ||
scx_configure | scx_configure | ||
apache_config | |||
scx_diff_config | scx_diff_config | ||
#scx_tomcat_restart | #scx_tomcat_restart |
Aktuelle Version vom 14. Februar 2010, 17:25 Uhr
Scalix Update
Scalix Sourcen laden und updaten.
scx:~# cd /usr/src wget -c http://downloads.scalix.com/.community/11.4/scalix-11.4.0-GA-unsupported-debian-intel.bin sh ./scalix-11.4.0-GA-unsupported-debian-intel.bin cd scalix-debian-11.4.0-GA/software/scalix_server /usr/src/scx-update.sh
In Version 11.4.0 war (mal wieder) ein Deb-Paket (leicht) fehlerhaft, ich zeige hier beispielhaft, wie solche Fehler korrigiert werden können. Nach Fehlerbereinigung einfach das Paket entfernen und neu installieren.
scx:/usr/src# cd scalix-debian-11.4.0-GA/software/scalix_server/ mkdir -p old new/DEBIAN mv scalix-iconv-extras_1.2-1_i386.deb old dpkg -x old/scalix-iconv-extras_1.2-1_i386.deb new dpkg -e old/scalix-iconv-extras_1.2-1_i386.deb new/DEBIAN vi new/DEBIAN/preinst # ... Zeile 3 korrigieren if [ -n "$1" ]; then # ... vi new/DEBIAN/postrm # ... Zeile 2 korrigieren if [ -z "$1" ]; then # ... # Jetzt das korrigierte Paket bauen dpkg -b new scalix-iconv-extras_1.2-1_i386.deb # Fertig :-) dpkg -r scalix-iconv-extras dpkg -i scalix-iconv-extras_1.2-1_i386.deb
In 11.4.3 musste ich die Apache Konfiguration fixen, da Scalix die Konfigfiles umbenannt hat, aber das nicht im entsprechendem Setup-File aktualisiert hat.
scx:/etc/apache2/conf.d# grep 'ajp/' scal* scalix-tomcat-connector.conf:#Include /etc/opt/scalix-tomcat/connector/ajp/instance-*.conf scalix-tomcat-connector.conf:Include /etc/opt/scalix-tomcat/connector/ajp/app-*.conf
Das Update-Script scx-update.sh habe ich unter /usr/src liegen, da ich dort auch die verschiedenen scalix-sourcen installiert habe:
scx:/usr/src# ls scalix-11.3.0-U1-GA-unsupported-debian-intel.bin scalix-11.4.0-GA-unsupported-debian-intel.bin scalix-debian-11.3.0-GA/ scalix-debian-11.4.0-GA/ scx-install.sh* scx-update.sh*
Hier ist das Scalix Update-Script. /usr/src/scx-update.sh
#!/bin/sh # Scalix 11.x update script # Author: neobiker # Version: $Id: scx-update.sh,v 1.6 2009/02/04 17:30:28 root Exp root $ scalix11version=11.4.6 dbpwd="" ldappwd="" # load and decompress scalix packages scalix11downloadurl="http://downloads.scalix.com/.community/${scalix11version}/scalix-${scalix11version}-GA-unsupported-debian-intel.bin" scalix11bin=`basename $scalix11downloadurl` scalix11dir=scalix-debian-${scalix11version}-GA usage () { cat << EOF Usage: $0 [-c|-i] # update scalix packages with: dpkg -i -E <package> Options are: -c configure scalix, don't update/install packages -i (re-)install scalix packages with: dpkg -i <package> EOF exit 0 } # Initialise some settings # get scalix pakage filenames: main_files, app_files, other_files # define config files etc. scx_initvars () { scx_main="server postgres" scx_apps="tomcat- tomcat_ swa sac mobile platform res sis" # Extract and install packages if [ ! -e $scalix11dir ]; then # Download Scalix 11 if [ ! -e $scalix11bin ]; then cd $src_dir wget -N $scalix11downloadurl fi sh ./$scalix11bin fi cd $scalix11dir/software/scalix_server/ if [ `ls -1 scalix-*.deb 2>/dev/null | wc -l` -gt 0 ] ; then for f in ${scx_main}; do main_files="${main_files} "`ls scalix-${f}*.deb` dropme="${dropme} | grep -v $f" done for f in ${scx_apps}; do app_files="${app_files} "`ls scalix-${f}*.deb` dropme="${dropme} | grep -v $f" done other_files=`eval "ls -1 scalix-*.deb ${dropme}"` pid=$$ host=$(hostname) fqdn=$(hostname -f) short=${host:0:1}${host: -1:1} base=/var/opt/scalix/${short} config_files="${base}/webmail/swa.properties \ ${base}/caa/scalix.res/config/ubermanager.properties \ ${base}/res/config/res.properties \ ${base}/platform/platform.properties \ ${base}/mobile/mobile.properties \ ${base}/sis/sis.properties" else echo 'Sorry, no scalix-\*.deb packages found.' echo "Please change to the directory which contains the files and try again." exit 1 fi } # modify scalix deb packages (for lenny) fix_scalix_debs () { deb=`/bin/ls -1 scalix-${1}*.deb` if [ -e "$deb" ]; then [ -d old ] || mkdir old [ -d new_$1 ] && rm -rf new_$1 [ -d new_$1/DEBIAN ] || mkdir -p new_$1/DEBIAN [ -e old/$deb ] || cp $deb old/$deb dpkg -x old/$deb new_$1 dpkg -e old/$deb new_$1/DEBIAN case $1 in iconv) file=new_$1/DEBIAN/preinst cat $file | sed -e 's/ "\$1" -gt 1 / -n "\$1" /g' >$file.neu mv $file.neu $file chmod a+x $file file=new_$1/DEBIAN/postrm cat $file | sed -e 's/ "\$1" -eq 0 / -z "\$1" /g' >$file.neu mv $file.neu $file chmod a+x $file dpkg -b new_$1 $deb ;; server) file=new_$1/DEBIAN/control cat $file | sed -e 's/libsasl2,/libsasl2-2,/g' \ -e 's/libmilter[^,]*,//g' \ -e 's/libstdc++2[^,]*,//g' >$file.neu mv $file.neu $file file=new_$1/DEBIAN/postinst cat $file | sed -e "s#OMLOGFILE='~/sys/install/log'#OMLOGFILE='~/sys/install/log';#g" >$file.neu mv $file.neu $file chmod a+x $file dpkg -b new_$1 $deb ;; postgres) file=new_$1/DEBIAN/control cat $file | sed -e 's/| postgresql-client-.\..//g' \ -e 's/| postgresql-.\..//g' >$file.neu mv $file.neu $file dpkg -b new_$1 $deb ;; *) ;; esac fi } apache_config () { # Setup Apache file=/etc/apache2/conf.d/scalix-web-client.conf [ -e $file ] || ln -s /opt/scalix/global/httpd/scalix-web-client.conf $file cat << EOT > /etc/apache2/conf.d/scalix-access.conf <Location /> Allow from all </Location> EOT file=/etc/opt/scalix-tomcat/connector/ajp/instance-$mnode.conf if [ ! -e $file ]; then echo 'Include /etc/opt/scalix-tomcat/connector/ajp/app-*.conf' > $file fi files="/etc/opt/scalix-tomcat/connector/ajp/*-$mnode*.conf \ /etc/opt/scalix-tomcat/connector/jk/*-$mnode*.conf" for file in $files; do if [ -e $file ]; then sed -e 's;<VirtualHost;#<VirtualHost;g' \ -e 's;</VirtualHost;#</VirtualHost;g' \ $file > $file.neu mv $file.neu $file fi done } scx_update () { echo "" echo "Removing Scalix applications:" for file in ${app_files}; do pkgs="${pkgs} "`scx_pkgname ${file}` done echo "removing ${pkgs}" aptitude remove ${pkgs} echo "Updating Scalix Server" dpkg -i --force-overwrite $opt_update ${main_files} dpkg -i --force-overwrite $opt_update ${other_files} echo "" echo "Reinstalling Scalix applications:" for file in ${app_files}; do pkg=`scx_pkgname ${file}` echo "updating ${pkg}: ${file}" if ! dpkg -i --force-overwrite ${file} ; then echo ">>> Warning: dpkg returned an error. <<<" echo "" fi done echo "Scalix Configuration files must be reconfigured." } # configure scalix scx_configure () { if [ "x$dbpwd" == "x" ]; then echo . echo "Scalix configuration:" echo "---------------------" echo "Scalix DB-Password ? " read dbpwd fi tomcatport=80 for file in ${config_files}; do sed -e "s;%LOCALDOMAIN%;$ldomain;g" \ -e "s;%LOCALHOST%;$fqdn;g" \ -e "s;%IMAPHOST%;$fqdn;g" \ -e "s;%SMTPHOST%;$fqdn;g" \ -e "s;%DBHOST%;$fqdn:5733;g" \ -e "s;%DBPASSWD%;$dbpwd;g" \ -e "s;%LDAPPORT%;389;g" \ -e "s;http://%PLATFORMURL%:8080/api;http://$fqdn/api;g" \ -e "s;%PLATFORMURL%;http://$fqdn/api;g" \ -e "s;swa.platform.enabled=false;swa.platform.enabled=true;g" \ -e "s;__SECURED_MODE__;false;g" \ -e "s;ubermanager/__FQHN_HOST__@__KERBEROS_REALM__;;g" \ -e "s;__KERBEROS_REALM__;;g" \ -e "s;__FQHN_FOR_KDC_HOST__;;g" \ -e "s;__FQHN_QUERY_SERVER_NAME__;$fqdn;g" \ -e "s;__UBERMGR_USE_EXTERNAL_AUTH__;false;g" \ -e "s;__UBERMGR_ALLOW_EXTERNAL_AUTH__;false;g" \ -e "s;__UBERMGR_MAXLIST_SIZE__;100;g" \ -e "s;__UBERMGR_MAIL_DOMAINS_LIST__;$ldomain;g" \ -e "s;__UBERMGR_EXTERNAL_DOMAIN_AUTH_LIST__;;g" \ -e "s;__CONFIGURED__;true;g" \ -e "s;__FQHN_FOR_UBERMANAGER__;$fqdn;g" \ -e "s;__TOMCAT_PORT__;$tomcatport;g" \ -e "s;localhost;$fqdn;g" \ -e "s;%INDEX-WHITELIST%;$fqdn;g" \ -e "s;%SEARCH-WHITELIST%;$fqdn;g" \ -e "s;%INDEXADMIN-WHITELIST%;$fqdn;g" \ -e "s;%SIS-LANGUAGE%;German;g" \ ${file} > ${file}.new mv $file.new $file done # some (optional) GERMAN settings for file in ${config_files}; do sed -e "s;ubermanager.console.defaultCountry=US;ubermanager.console.defaultCountry=DE;g" \ -e "s;ubermanager.console.defaultLanguage=AMERICAN;ubermanager.console.defaultLanguage=GERMAN;g" \ -e "s;swa.user.locale=en_US;swa.user.locale=de_DE;g" \ -e "s;swa.user.preferredDateTimeFormat=1;swa.user.preferredDateTimeFormat=2;g" \ -e "s;swa.user.dateSeparatorChar=/;swa.user.dateSeparatorChar=.;g" \ -e "s;swa.user.weekStart=0;swa.user.weekStart=1;g" \ -e "s;swa.user.defaultCalendarView=0;swa.user.defaultCalendarView=2;g" \ ${file} > ${file}.new mv $file.new $file done # If SAC Login doesn't work, try this # Write Ldappassword to psdata file=${base}/caa/scalix.res/config/psdata if [ ! -e ${file} ]; then if [ "x$ldappwd" == "x" ]; then echo "Scalix LDAP-Password [DB-Password]? " read ldappwd [ -z "$ldappwd" ] && ldappwd=$dbpwd fi echo "${ldappwd}" > ${file} chown root:root ${file} chmod 400 ${file} ommodu sxqueryadmin -p $ldappwd fi } # backup scalix config files scx_backup_config () { for f in ${config_files}; do mkdir -p `dirname ${base}/scalix-config-backup-${pid}${f}` cp ${f} ${base}/scalix-config-backup-${pid}${f} cp ${f} ${f}.bak done } # show differences to new config files scx_diff_config () { for file in ${config_files}; do sed -e 's/#.*//g' \ -e '/^$/ D' \ ${file} | sort > ${file}.new sed -e 's/#.*//g' \ -e '/^$/ D' \ ${base}/scalix-config-backup-${pid}${file} | sort > ${file}.old if ! diff -q ${file}.old ${file}.new; then echo "-------------------------------------------------" echo "Check changes in ${file}:" diff ${file}.old ${file}.new echo ">>> Restore old Configfile [y] ?" read a if [ -z "$a" -o "$a" == "y" -o "$a" == "Y" ]; then cp ${file} ${file}.new.update cp ${base}/scalix-config-backup-${pid}${file} ${file} echo "restored ${file} !!! <<<" fi echo "-------------------------------------------------" echo "" fi done echo ">>> Remove temp. Backupfiles (${base}/scalix-config-backup-${pid}) [y] ?" read a if [ -z "$a" -o "$a" == "y" -o "$a" == "Y" ]; then rm -rf ${base}/scalix-config-backup-${pid} echo "${base}/scalix-config-backup-${pid} deleted" fi } scx_tomcat_restart () { echo "Scalix tomcat restart..." /etc/init.d/apache2 restart /etc/init.d/scalix-tomcat restart } scx_restart () { echo "Scalix restart..." for f in /etc/rc1.d/K*scalix* /etc/rc1.d/K*apache2; do $f stop 2>/dev/null; done for f in /etc/rc2.d/S*apache2 /etc/rc2.d/S*scalix*; do $f start; done echo "Scalix restarted." } # get pakage name (used by dpkg -r <package>) scx_pkgname () { dpkg -I $1 | awk '/Package/ {print $2}' } # set script options opt_update="-E" while getopts "chi" option do case $option in c) opt_configure=1 ;; h) usage ;; i) opt_update="" ;; *) usage ;; esac done # Update scalix pakages: # backup config-files # update scalix pakages: Web applications need 'remove' first # reconfigure scalix scx_initvars scx_backup_config fix_scalix_debs iconv fix_scalix_debs server fix_scalix_debs postgres [ -z "$opt_configure" ] && scx_update scx_configure apache_config scx_diff_config #scx_tomcat_restart scx_restart
Das Skript konfiguriert Scalix, z.B. nach einem update, da die Konfig-Files beim Update überschrieben werden.
Siehe auch mein (Re-)Installationsskript für Scalix.