Archiv der Kategorie: Aapche

ISPConfig3: Debian 6 Squeeze auf Debian 7 Wheezy Upgrade

Distribution Release End Of Life
Debian Squeeze 6.0 ca. Februar 2014

Heute Nacht hatte ich von 24 Uhr bis 7 Uhr 2 ISPConfig Server aktualisiert. Server1 läuft mit Apache, Postfix, Dovecot, BIND (Primary DNS), Pure-FTPd, MySQL (Master), Chroot_Jail SSH -> Server2 läuft mit Apache, Postfix, Dovecot, BIND (Secondary DNS), Pure-FTPd, MySQL (Master), Chroot_Jail SSH. Die Replikation zwischen der Master-Master MySQL Synchronisierung läuft über stunnel.

Wichtig: Das System auf jeden Fall vor dem Upgradevorgang sichern

— Sichert am besten das komplette System mit einem „dd“ Image weg. —

1. Punkt: Sicherung der DEB6 Konfigurationen

cp -prfv /etc /etc_deb6_ispconfig_backup

2. Punkt: das derzeitige System auf den aktuellen Stand bringen (optional apt-get dist-upgrade -u)

apt-get update
apt-get upgrade
apt-get dist-upgrade

3. Punkt: screen / tmux installieren und Session starten, falls zwischenzeitlich die SSH Verbindung unterbrochen werden sollte, genügt ein erneuter SSH Login und mit „tmux attach“ lässt sich die vorherige Setup-Session fortführen

apt-get install tmux
tmux

4. Punkt: die wichtigsten ISPConfig Dienste beenden, dabei sollte zeitgleich auf beiden Maschinen „MySQL“ beendet werden (sonst Out of Sync)

service mysql stop
service apache2 stop
service postfix stop
service dovecot stop

5. Punkt: die neuen Debian Wheezy Paket-Mirrors eintragen

vi /etc/apt/sources.list
### ### ### PLITC ### ### ###
deb http://ftp.de.debian.org/debian/ wheezy main
deb-src http://ftp.de.debian.org/debian/ wheezy main

deb http://ftp.de.debian.org/debian/ wheezy-updates main
deb-src http://ftp.de.debian.org/debian/ wheezy-updates main

deb http://ftp.de.debian.org/debian-security/ wheezy/updates main
deb-src http://ftp.de.debian.org/debian-security/ wheezy/updates main

deb http://ftp.de.debian.org/debian wheezy non-free
### ### ### PLITC ### ### ###
# EOF

6. Punkt: Debian Wheezy minimales Upgrade

apt-get update
apt-get upgrade

7. Punkt: Debian Wheezy Kernel Upgrade

dpkg -l | grep linux-image

meta-package linux-image Version installieren

apt-get install linux-image-amd64

manuell Grub erneut aktualisieren

update-grub

8. Punkt: Debian Wheezy udev Upgrade

apt-get install udev

9. Punkt: Vollständiges Debian Wheezy (dist) Upgrade durchführen

apt-get dist-upgrade

Hinweis: Der Updatevogang kann je nach installierten Komponenten einige Zeit in Anspruch nehmen und einige Eingabefelder (Grbu2 Parameter, Dienste restarten, etc) öffnen sich, welche eigentlich immer standardmäßig bestätigt werden können.

10. Punkt: System rebooten

reboot

ISPConfig foobar

Wer seine alten Konfigurationen beim apt-get dist-upgrade nicht ausgetauscht hat, bekommt jetzt ein kaputten:
Dovecot
MySQL (Master-Master Replikation geht komplett kaputt und muss neu eingerichtet werden)
Apache

Ich hatte mir zu diesem Zweck, in ca. 30 Minuten, ein kompletten Debian ISPConfig3 (in der VirtualBox) aufgesetzt -> um die „sauber“ erstellten Konfigurationen, aus dem frisch installierten Debian 7 + ISPConfig, mit meinem aktualisierten System vergleichen zu können.

Dovecot

Hier hat sich die komplette Konfigurationsstruktur geändert (Dovecot 1.x -> 2.x)

Die Vorlage gibts hier zum downloaden: plitc_deb6_upgrade_deb7_ispconfig3_dovecot_conf.tar.gz

Was nicht enthalten ist:

/etc/dovecot/private/dovecot.pem
/etc/dovecot/dovecot.pem

Zertifikate neu erstellen oder aus dem /etc_deb6_ispconfig_backup verwenden

Ebenso muss der ISPConfig MySQL Login Password-Hash in der Konfig angepasst werden:

vi /etc/dovecot/dovecot-sql.conf
#
connect = host=localhost dbname=dbispconfig user=ispconfig password= ...siehe /etc_deb6_ispconfig_backup...
#

MySQL

Hier hat sich eine Option verändert:

language auskommentieren

vi /etc/mysql/my.cnf
#language = /usr/share/mysql/english

lc-messages-dir einfügen

lc-messages-dir = /usr/share/mysql

Für den Betrieb einer MySQL Master-Master Replikation sind folgende Optionen aus der Konfig rausgeflogen (deprecated):

vi /etc/mysql/my.cnf
### ### ### PLITC ### ### ###
# MySQL Master / Master Replication
#
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1

!!!DEPRECATED!!! ###---> master-host = 8XX.XXX.XXX.XXX
!!!DEPRECATED!!! ###---> master-user = slaveuser
!!!DEPRECATED!!! ###---> master-password = GEHEIM
!!!DEPRECATED!!! ###---> master-connect-retry = 60

expire_logs_days        = 10
max_binlog_size         = 500M
log_bin                 = /var/log/mysql/mysql-bin.log
#
slave_skip_errors=1007,1008
sync_binlog = 1
binlog-format = mixed
### ### ### PLITC ### ### ###

Apache2

Fehler:

#
PHP Warning:  PHP Startup: Unable to load dynamic library '/usr/lib/php5/20100525/suhosin.so' - /usr/lib/php5/20100525/suhosin.so: cannot open shared object file: No such file or directory in Unknown on line 0
#

Lösung:

#
mv /etc/php5/conf.d/suhosin.ini /etc/php5/conf.d/.suhosin.ini_OLD
#

Postfix

Eine Option, betreffend Amavis, ist aus der master.cf rausgeflogen (DEPRECATED):

vi /etc/postfix/master.cf
127.0.0.1:10025 inet n - - - - smtpd
        -o content_filter=
        -o local_recipient_maps=
        -o relay_recipient_maps=
        -o smtpd_restriction_classes=
        -o smtpd_client_restrictions=
        -o smtpd_helo_restrictions=
        -o smtpd_sender_restrictions=
        -o smtpd_recipient_restrictions=permit_mynetworks,reject
        -o mynetworks=127.0.0.0/8
        -o strict_rfc821_envelopes=yes
        -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks
!!!DEPRECATED!!! ###---> -o smtpd_bind_address=127.0.0.1

zu guter Letzt -> immer fleißig syslogs anschauen

dmesg
cat /proc/mdstat
cat /var/log/messages
cat /var/log/syslog
cat /var/log/apache2/error.log
cat /var/log/mail.err
cat /var/log/mysql.err
cat /var/log/ispconfig/cron.log

24.11.2013

Fehler:

#
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::entities_decode() should not be called statically in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 9195, referer: https://my.little.server:8080/index.php
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::entities_decode() should not be called statically in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 9195, referer: https://my.little.server:8080/index.php
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::element_implode() should not be called statically, assuming $this from incompatible context in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 14990, referer: https://my.little.server:8080/index.php
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::entities_decode() should not be called statically in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 9195, referer: https://my.little.server:8080/index.php
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::entities_decode() should not be called statically in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 9195, referer: https://my.little.server:8080/index.php
[Mon Nov 18 14:27:44 2013] [warn] [client 146.XXX.XXX.XXX] mod_fcgid: stderr: PHP Strict Standards:  Non-static method SimplePie_Misc::entities_decode() should not be called statically in /usr/local/ispconfig/interface/lib/classes/simplepie.inc.php on line 9195, referer: https://my.little.server:8080/index.php
#

Lösung: weitere Module installieren:

$
apt-get install apache2 apache2.2-common apache2-doc apache2-mpm-prefork apache2-utils libexpat1 ssl-cert libapache2-mod-php5 php5 php5-common php5-gd php5-mysql php5-imap phpmyadmin php5-cli php5-cgi libapache2-mod-fcgid apache2-suexec php-pear php-auth php5-mcrypt mcrypt php5-imagick imagemagick libapache2-mod-suphp libruby libapache2-mod-ruby libapache2-mod-python php5-curl php5-intl php5-memcache php5-memcached php5-ming php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl memcached
$

und

vi /etc/apache2/mods-available/suphp.conf
<IfModule mod_suphp.c>
    #<FilesMatch "\.ph(p3?|tml)$">
    #    SetHandler application/x-httpd-suphp
    #</FilesMatch>
        AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml
        suPHP_AddHandler application/x-httpd-suphp

    <Directory />
        suPHP_Engine on
    </Directory>

    # By default, disable suPHP for debian packaged web applications as files
    # are owned by root and cannot be executed by suPHP because of min_uid.
    <Directory /usr/share>
        suPHP_Engine off
    </Directory>

# # Use a specific php config file (a dir which contains a php.ini file)
#       suPHP_ConfigPath /etc/php5/cgi/suphp/
# # Tells mod_suphp NOT to handle requests with the type <mime-type>.
#       suPHP_RemoveHandler <mime-type>
</IfModule>

Fehler:

#
PHP Deprecated:  Comments starting with '#' are deprecated in /etc/php5/cgi/conf.d/ming.ini on line 1 in Unknown on line 0
#

Lösung:

vi /etc/php5/cgi/conf.d/ming.ini
; configuration for php MING module
extension=ming.so