Ich habe meinen Server umgestellt auf Suse 11 mit plesk 9.0.1
Der alte Server lief mit suse 10 und Serveradmin24. Diese von Strato bis vor kurzem fvorisierte Variante beinhaltet eine Besonderheit. Sie arbeitet mit suphp. Dadurch laufen alle Aktionen in einem Account als Accounteigentümer. Das ist ein Sicherheitsaspesk aber auch eine Frage der Bequemlichkeit. Es werden hierbei, anders als bei php als Apache-Module die hochgeladenen, oder von einem CMS-System erzeugten Dateien als Accounteigentümer abgelegt.
Plesk konnte diese Methode bisher nicht anbieten. Nun aber geht Plesk einen ähnlichen Weg über fastCGI.
Solch eine Umstellung ist leider immer mit viel Arbeit verbunden. Alle Domains mit ihren Dateien wieder aufzuspielen, Datenbanken neu anzulegen und einzuspielen ist ein heikles Unternehmen. Meist klappt das nicht, das die neue Konfiguration ganz anders ist. Zum Beispiel die Rechte. Sie müssen an vielen Punkten neu gesetzt werden. Auch direkte Pfade stimmen nicht mehr. Alles nötigen Änderungen vorab vorzunehmen ist nicht möglich und so wird der Eine oder Andere Fehler erst im nachhinein entdeckt und beseitigt werden müssen.
Der erste Kontakt mit der neuen Konfiguration führte dazu, das überhaupt nichts mehr von den alten Seiten lief. Ich habe glücklicherweise eine Ahnung gehabt und mich auf mod_rewrite konzentiert. Die Einstellungen verhinderten jeglichen Betrieb mit htaccess. Überall dort, wo eine .htaccess lag ging gar nichts. Trotz allem hat es mich eine Woche, immer abends nach der Arbeit, gekostet um alles zum laufen zu bekommen. Deshalb möchte ich hier in groben Schritten den Werdegang wiedergeben.
Für mod_rewrite und ein funktionierendes htaccess sind folgende Aktionen zu tätigen.
Im Verzeicnis
etc/apache2/sysconfig.d in der Datei
loadmodule.conf ist folgender Eintrag hinzuzufügen:
|
Source code
|
1
|
LoadModule rewrite_module /usr/lib/apache2-prefork/mod_rewrite.so
|
Im Verzeichnis
etc/sysconfig in der Datei
apache2 ist folgender Eintrag vorzunehmen:
|
Source code
|
1
|
APACHE_MODULES="... .... .... .... rewrite"
|
Da in der aktuellen Version von Plek noch ein Fehler ist und rewrite mit fastCGI richtig funktioniert, muss ein manuelles Update vorgenommen werden.
Das habe ich als Anleitung auf der Supporthomepage gefunden und 1 zu 1 genau so gemacht.
http://kb.parallels.com/en/6053
Als Auszug hänge ich den Text hier noch mal an:
|
Source code
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
|
[HOTFIX] Enabling PHP FastCGI application produces 403 Forbidden error
Article ID: 6053
Last Review: Mar,24 2009
Author: Bezborodova Anastasiya
Last updated by: Bezborodova Anastasiya APPLIES TO:
* Plesk 9.0 for Linux/Unix
Symptoms
In Parallels Plesk Panel 9.0 some Web Application is installed to document root (/) on domain DOMAIN.TLD through {Domains -> DOMAIN.TLD -> Web Applications}.
When set PHP to run as FastCGI application for the domain {Domains -> DOMAIN.TLD -> Web Hosting Settings -> PHP support} the domain generates error 403 when access it via http://DOMAIN.TLD or http://DOMAIN.TLD/index.php.
Forbidden
You don't have permission to access /index.php on this server.
And the following error is shown in domain's apache log $HTTPD_VHOSTS_D/DOMAIN.TLD/httpdocs/statistics/logs/error_log:
[Thu Feb 19 08:46:29 2009] [error] [client 123.123.123.123] Options FollowSymLinks or SymLinksIfOwnerMatch is off which implies that RewriteRule directive is forbidden: $HTTPD_VHOSTS_D/DOMAIN.TLD/httpdocs/index.php
Resolution
The problem is caused by rewrite engine that is enabled for the domain during installation of the Web Application.
$HTTPD_VHOSTS_D/DOMAIN.TLD/httpdocs/.htaccess
--
RewriteEngine on
To resolve the problem you should switch off rewrite engine in .htaccess (RewriteEngine off).
The problem is fixed in next update of Parallels Plesk Panel that is released after version 9.2. It allows to have rewrite engine enabled when PHP runs as FastCGI application.
Hotfix for version 9.0.1 is attached. To install it you should download the archive and unpack it with tar -zxf.
In resulted directory find file websrvmng appropriate to your operating system and architecture.
Replace existent file websrvmng with one you have found.
Location of the file is /usr/local/psa/admin/sbin/websrvmng for RedHat family and /opt/psa/admin/sbin/websrvmng for Debian family.
Do not forget to correct ownership and permissions. It should be root:psaadm, 550.
You may correct permissions with commands chown and chmod. For example:
~# chown root:psaadm /usr/local/psa/admin/sbin/websrvmng
~# chmod 550 /usr/local/psa/admin/sbin/websrvmng
After the hotfix is installed you should re-generate Apache configuration files for all domains. Do that with the command below.
~# /usr/local/psa/admin/sbin/websrvmng -av
|
Den Apachen neu starten und alles sollte funktionieren.
Das stimmt leider so nicht ganz. Es gab danach Probleme mit sessions. Die Ursache liegt im Pfad, bzw. den Rechten dazu.
Als Lösung habe ich folgendes getan:
Im Verzeichnis
etc/php5/fastcgi in der
php.ini ist der neu zu definieren.
;session.save_path = "/var/lib/php5"
session.save_path = "/var/tmp/session_safe_path"
Zwei Dinge habe ich damit gemacht. Einmal den alten Eintrag mit einem Semikolon auskommentiert und zum anderen einen neue Pfad gesetzt.
Das Verzeichnis muss vor der Aktivierung natürlich noch erstellt werden. Eigentümer und Gruppe sind
root.
Nach diesen Aktionen läuft erst mal alles ohne Fehlermeldung. Ob weitere Änderungen vorgenommen werden müssen, wird die Zukunft zeigen.
Die Aneitungen zu Plesk befinden sich übrigens hier:
http://www.parallels.com/de/products/plesk9/resources/
Ich möchte den Leidgeplagten noch 2 Links mit auf den Weg geben:
Serversupportforum:
http://serversupportforum.de/forum/
Und das deutsche Plesk-Forum:
http://www.plesk-forum.de/