Wie verändere ich die PHP-Sicherheitseinstellungen?
Oft erreichen uns Anfragen, die man bestimmte Sicherheitseinstellungen von PHP bei Plesk-Servern abschalten kann. Hier erfahren Sie mehr.
Zunächst möchten wir Sie in aller Deutlichkeit darauf Hinweisen, dass die recht strengen Sicherheitseinstellungen in Plesk nicht ohne Grund getroffen wurden. Oft funktionieren neuere Versionen von Webanwendungen auch einfach so, ohne dass Sie hier Änderungen vornehmen müssen.
Wenn Sie ganz sicher sind, dass Sie auf andere, potentiell unsicherere Werte umstellen wollen, können Sie dies wie folgt erreichen. Bitte beachten Sie, dass die Änderungen pro Domain erfolgen. Änderungen in der /etc/php.ini werden ggf. durch spezifischere Werte in den Plesk-Konfigurationen wieder überschrieben.
Unter Plesk 8 und höher ist die Änderung des safe_mode in den Hosting-Einstellungen („Setup“ der jew. Domain direkt möglich; Änderungen in der vhost.conf werden dadurch unwirksam! Ändern Sie die Einstellung daher bitte in Plesk. Andere Einstellungen können wie hier beschrieben verändert werden.
Loggen Sie sich zunächst per SSH auf dem Server als root ein:
Erzeugen Sie eine „vhost.conf“-Datei in dem Konfiguationsverzeichnis der Domain. Wenn Sie SSL-Inhalte Nutzen heißt die Datei „vhost_ssl.conf“, ggf. sind beide Dateien (mit gleichem Inhalt) anzulegen. Je nach Distribution finden Sie das Verzeichnis unter
* /home/httpd/vhosts/hier-bitte-ihren-domainnamen-einsetzen.de/conf/vhost.conf,
* /srv/www/vhosts/hier-bitte-ihren-domainnamen-einsetzen.de/conf/vhost.conf oder
* /var/www/vhosts/hier-bitte-ihren-domainnamen-einsetzen.de/conf/vhost.conf
mit dem gewünschte Inhalt, also z.B.:
php_admin_flag safe_mode Off
oder/und
php_admin_flag register_globals On
Auch andere PHP-Einstellungen können Sie, je nach Bedarf, so setzen.
Starten Sie danach „/usr/local/psa/admin/bin/websrvmng -a -v“.
Bitte beachten Sie, dass eine Änderung am open_basedir innerhalb einer „Directory“-Direktive geschehen muss, also z.B.:
<Directory /home/httpd/vhosts/nur-ein-beispiel.de/httpdocs>
php_admin_value open_basedir „/home/httpd/vhosts/nur-ein-beispiel.de/“
</Directory>
Im Gegensatz zur früheren Version wird PHP im Webserver heute oft so konfiguriert, dass PHP-Fehlermeldungen aus Sicherheitsgründen nicht mehr beim Aufruf der Seite angezeigt werden. Die Seite bleibt dann einfach leer. Dies können Sie während der Entwicklung der Seiten ändern und die Fehlermeldungen aktivieren.
php_admin_flag display_errors on
php_admin_value error_reporting 2047