Besucherstatistik
Online:
1
Besucher heute:
2
Besucher gesamt:
5863
Zugriffe heute:
2
Zugriffe gesamt:
11817
Besucher pro Tag: Ø
9
Zählung seit:
 2010-07-10
Andre Hellmund > Contao > Contao & Strato

In dieser Übersicht werden Probleme beschrieben, die beim Betrieb von TYPOlight auf einem Strato V-Power Server auftreten können. Die dort vorgeschlagenen Lösungen sind lediglich in der aktuellen Konfiguration meines V-Power Servers (SuSE 11 mit PLESK 9.2) getestet und erheben somit keinen Anspruch auf Allgemeingütigkeit ud Vollständigkeit. Desweiteren kann ich keine Verantwortung über die Folgen bei der Implementierung dieser Lösungen übernehmen. Das gilt auch und insbesondere für Sicherheitsrelevante Themen. Deshalb hier der dringende Hinweis: JEDER IST SELBST VERANTWORTLICH für das, was er auf seinem Webserver tut und sollte alle Änderungen genaustens testen und bezüglich möglicher SICHERHEITSRISIKEN bewerten.

icon
Avatar
ahellmund
Moderator
Beiträge: 19
Bei der Einrichtung einer Domain mittels PLESK wird per default PHP als Apache Modul ausgeführt. Dadurch läuft PHP unter dem User wwwrun/Gruppe www. Die Daten, die per FTP hochgeladen werden, werden aber mit einem anderen Benutzer/Gruppe angelegt. Somit kann TYPOlight nur mit dem Safe Mode Hack betrieben werden.

Will man das vermeiden, kann man über PLESK in den Domaineinstellungen definieren, dass PHP als FastCGI Script ausgeführt wird und SafeMode deaktiviert ist (Neustart des Apache Dienstes nicht vergessen). Das allerdings führt zu einem Fehler beim Schreiben der Session Daten (tritt u.a. auf, wenn man das Install Tool von TYPOlight aufruft):

iconCode:
Warning: Unknown: open(/var/lib/php5/sess_m68nntasd48hvkpflhtrit1hpk6da3o8, O_RDWR) failed: Permission denied (13) in Unknown on line 0
#0 [internal function]: __error(2, 'Unknown: open(/...', 'Unknown', 0, Array)
#1 {main}

Warning: Unknown: Failed to write session data (files). Please verify that the current setting of session.save_path is correct (/var/lib/php5) in Unknown on line 0
#0 [internal function]: __error(2, 'Unknown: Failed...', 'Unknown', 0, Array)
#1 {main}


Der Grund - Das Verzeichnis, in dem die Session Daten abgelegt werden (/var/lib/php5) hat den Besitzer/Gruppe wwwrun/www, PHP aber wird unter einem anderen User ausgeführt.

Lösung 1:
Dem Verzeichnis mittels chmod die Berechtigungen 777 geben. Das ist allerdings nur eine Notlösung, da somit jeder Zugriff auf dieses Verzeichnis hat.

Lösung 2:
Ein Verzeichnis für die Session Daten ausserhalb httpdocs anlegen, das dem User, unter dem PHP läuft, gehört und auf das der User Schreibrechte hat (700). Dann den Pfad in der php.ini (session.save_path) entsprechend anpassen und den Apache Dienst neu starten. Damit kein Unbefugter auf dieses Verzeichnis zugreifen kann, sollte dieses mittels .htaccess geschützt werden (deny from all).

Lösung 3:
Das Verzeichnis /var/lib/php5 mittels chown dem User und der Gruppe zuordnen, unter dem PHP läuft. Die Berechtigungen dann mittels chmod auf 700 setzen. Auch hier kann man das Verzeichnis mittels .htaccess schützen (wie unter Lösung 2 beschrieben).
2010-03-28 10:58
icon