Upgrade von Debian 6 Squeeze mit ISPConfig und Courier/Postfix auf Debian 7 Wheezy

Dieses How-To wurde vom Howtoforge User @manarak aus den folgenden beiden Quellen zusammengestellt und durch zusätzliche Fixes ergänzt.

Vielen Dank auch an Till, dass du mir bei dem Problem mit suphp.conf geholfen hast.

Dieses How-To setzt voraus, dass Ihr Server läuft:

  • Debian 6 mit Kurier/Postfix
  • ISPconfig

Zumindest ist es das, was meins war.

Erster Teil: Debian aktualisieren

Überprüfen Sie, ob Ihre /etc/apt/sources.list ziemlich normal aussieht. Meins sieht so aus:

deb http://ftp.no.debian.org/debian/ squeeze main contrib non-free
deb-src http://ftp.no.debian.org/debian/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb-src http://security.debian.org/ squeeze/updates main contrib non-free
#squeeze-updates, previously known as ‘volatile’
deb http://ftp.no.debian.org/debian/ squeeze-updates main contrib non-free
deb-src http://ftp.no.debian.org/debian/ squeeze-updates main contrib non-free

Führen Sie als nächstes ein aktuelles Upgrade durch, um sicherzustellen, dass Squeeze vollständig auf dem neuesten Stand ist:

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

Nun werden wir überprüfen, ob keine Pakete auf Halten stehen. Diese müssen nichts zurückgeben:

dpkg -–audit
dpkg -–get-selections | grep hold

Letzter Durchlauf von aptitude, um zu überprüfen, ob Pakete darauf warten, installiert oder entfernt zu werden:

aptitude

Drücken Sie g, um die Liste anzuzeigen und diese zu korrigieren. Die Liste sollte sauber sein, damit keine Pakete installiert, entfernt oder aktualisiert werden können. Wenn Pakete angezeigt werden, gehen Sie im Menü „Aktionen“ und wählen Sie den ersten Punkt „Pakete installieren/entfernen“. Drücken Sie Q, um den Vorgang zu beenden.

Bearbeiten Sie nun Ihre /etc/apt/sources.list und aktualisieren Sie die Wheezy Repositories. Meins sieht so aus:

deb http://ftp.no.debian.org/debian wheezy main contrib non-free
deb-src http://ftp.no.debian.org/debian wheezy main contrib non-free
deb http://ftp.no.debian.org/debian wheezy-updates main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free

Führen Sie die Befehle zum Aktualisieren Ihres Systems mit Wheezy-Paketen aus:

apt-get update

(Das System beschwert sich über fehlende öffentliche Schlüssel…. kein Problem)

apt-get upgrade

(das System zeigt einige Textwände an, drücke Q zum Beenden)

(die installierte crontab beibehalten)

(Installation der Paketbetreuer-Version von rkhunter config)

(behalte meine awstats config Version)

(behalte meine Suphp-Konfiguration)

(nimm die Version des Pakets von phpmyadmin apache.conf)

apt-get dist-upgrade

(Version des Installationspakets von Rcs)

(Version des Installationspakets von my.cnf)

(mysql-Passwort nicht ändern)

…etc….. Ich denke, das waren all die wichtigen Entscheidungen.

Für alle anderen Fragen habe ich die Standardantwort gewählt.

Wenn alles erledigt ist, machen Sie einen

reboot.

Das Wheezy Upgrade ist nun abgeschlossen.

Teil zwei: Upgrade ISPconfig

Logge dich wieder auf deinem Server ein und stelle sicher, dass wir root sind:

su -

Wir müssen sicherstellen, dass der Apache alle Wheezy-Pakete erhält, die ISPConfig benötigt:

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

Führen Sie anschließend eine automatische Entfernung durch, um zu bereinigen:

apt-get autoremove

Gehen Sie zu /tmp dir, laden Sie das ISPConfig-Archiv herunter, extrahieren und starten Sie update.php, um sicherzustellen, dass ISPConfig richtig für Wheezy eingerichtet ist. Standardantwort für alle Fragen. Der wichtigste Teil ist, dass es die Dienste neu konfigurieren kann:

cd /tmp
wget http://www.ispconfig.org/downloads/ISPConfig-3-stable.tar.gz
tar xvfz ISPConfig-3-stable.tar.gz
cd ispconfig3_install/install/
php –q update.php

ISPConfig sollte nun korrekt eingerichtet sein. Machen Sie eine

reboot.

Teil Drei: Korrekturen

mod_security

Wenn Sie mod_security ausführen (das sollten Sie wirklich tun), benötigen Sie dies, damit phpmyadmin funktioniert:

in /etc/phpmyadmin/apache.conf hinzufügen

<IfModule mod_security2.c>
   SecRuleEngine Off
</IfModule>

Fehler: Syntaxfehler, proxy_html.load fehlgeschlagen, configtest fehlgeschlagen…..

Nach der Installation und Aktivierung von proxy_html (libapache2-mod-proxy-html) auf einer neuen 12.04er Serverinstallation erhalten wir den folgenden Fehler:

apache2: Syntax error on line 210 of /etc/apache2/apache2.conf: Syntax error on line 1 of /etc/apache2/mods-enabled/proxy_html.load: Cannot load /usr/lib/libxml2.so.2 into server: /usr/lib/libxml2.so.2: cannot open shared object file: No such file or directory
Action 'configtest' failed.
The Apache error log may have more information.

Erklärung: libxml2 ist installiert, aber wie bei der amd64-Architektur befindet sich die libxml2-Datei in : /usr/lib/x86_64-linux-gnu/libxml2.so.2

Die Lösung besteht darin, in /etc/apache2/mods-available/proxy_html.load zu ändern.

LoadFile /usr/lib/libxml2.so.2

in :

LoadFile /usr/lib/x86_64-linux-gnu/libxml2.so.2

ODER (meiner Meinung nach einfacher und wahrscheinlich upgradefester):

navigieren Sie zu /usr/lib und führen Sie aus

ln -s /usr/lib/x86_64-linux-gnu/libxml2.so.2 libxml2.so.2

Quelle: https://bugs.launchpad.net/ubuntu/+source/mod-proxy-html/+bug/964397

Fehler: dpkg: Warnungen beim Ausführen von Befehlen mit sudo:

dpkg: warning: ‘ldconfig’ not found in PATH or not executable
dpkg: warning: ‘start-stop-daemon’ not found in PATH or not executable
dpkg: error: 2 expected programs not found in PATH or not executable
Note: root’s PATH should usually contain /usr/local/sbin, /usr/sbin and /sbin
E: Sub-process /usr/bin/dpkg returned an error code (2)

Editiere /etc/sudoers als root und füge diese Zeile nach Defaults env_reset ein:

Defaults secure_path=“/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin”

Quelle: http://blog.coffeebeans.at/?p=380

Fehler: PHP-Warnungen beim Start von Apache

Beim Versuch, Apache zu starten, kam dies zur Sprache:

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

Die Lösung besteht darin, das Suhosin-Paket zu entfernen.

apt-get purge php5-suhosin

Quelle: http://blog.tordeu.com/?p=417

Fehler: Veraltete Kommentarmarkierungen führen zum Anschwellen der Protokolle.

Das ISPConfig Cron-Protokoll zeigte dies bei jedem Cron-Lauf, jede Minute:

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

Lösung: Führen Sie diesen Befehl aus, um Kommentare in allen .ini-Dateien zu finden und ersetzen Sie # durch ;

find /etc/php5/cli/conf.d/ -name “*.ini” -exec sed -i -re ‘s/^(\s)#(.)/\1;\2/g’ {} \;

oder

find /etc/php5/ -name “*.ini” -exec sed -i -re ‘s/^(\s)#(.)/\1;\2/g’ {} \;

Quelle: http://stackoverflow.com/questions/14074101/getting-comments-starting-with-are-deprecated-message-via-cli

Fehler: Saslauthd wird regelmäßig fehlschlagen und Benutzer können sich nicht in das Postfach einloggen oder E-Mails senden.

Ich habe keine Ahnung, ob der folgende Fix tatsächlich etwas behebt, das Problem scheint komplex zu sein und scheint einen Fehler zu beinhalten.

Das ist es, was ich versucht habe, das Problem zu lösen, saslauthd schlägt jetzt immer noch fehl, aber viel weniger oft.

Wenn du es versuchen möchtest: in /etc/default/saslauthd ändere die Optionen so, dass sie so aussehen:

OPTIONS="-n 0 -c -m /var/spool/postfix/var/run/saslauthd -r"

Quellen und Diskussionen rund um dieses Problem:

  • https://www.howtoforge.com/community/threads/saslauthd-stops-working-every-few-weeks.66123/
  • https://github.com/webmin/webmin/issues/58
  • https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=758660

Fehler: Nach dem Upgrade will sich phpmyadmin nicht mehr einloggen, sondern bietet stattdessen an, die Datei index.php herunterzuladen.

in /etc/apache2/mods-available/suphp.conf kommentieren die

<FilesMatch "\.ph(p3?|tml)$">

Abschnitt und fügen Sie die Zeile

AddType application/x-httpd-suphp .php .php3 .php4 .php5 .phtml

ansonsten werden alle PHP-Dateien von SuPHP ausgeführt.

(Danke Till)

Fehler: Protokolldateien zeigen SASL-Authentifizierungsfehler an.

Nach dem Upgrade kann dies in den Protokollen erscheinen:

...  SASL PLAIN authentication failed: no mechanism available

Lösung: Bearbeiten Sie /etc/postfix/sasl/smtpd.conf und ersetzen Sie diese.

auxprop_plugin: mysql

mit

auxprop_plugin: sql
sql_engine: mysql

und

%u

ist zu ersetzen durch

%u@%r

Quelle: Danke an den anonymen Benutzer

Das könnte Dich auch interessieren …