Article ID: 432, created on Jan 26, 2009, last review on May 10, 2014

  • Applies to:
  • Plesk for Linux/Unix
  • Plesk 11.5 for Windows

Ursache

Dieser Fehler bedeutet, dass das PHP-Script versucht, auf einen Ordner zuzugreifen, für den der Zugriff nicht erlaubt ist. Aus Sicherheitsgründen erlauben die PHP-Optionen für gehostete Domains in Plesk standardmäßig den Zugriff nur auf die Ordner /tmp und http(s)docs. Die Begrenzungen werden durch die PHP-Variable open_basedir für jeden virtuellen Host separat festgelegt.

Lösung

Wenn Sie den Zugriff von PHP-Scripts eines bestimmten virtuellen Hosts auf (einen) zusätzliche(n) Ordner zulassen möchten, sollte die Option 'open_basedir' für den virtuellen Host mit einem neuen Pfadwert definiert werden. Mehrere Ordnernamen werden durch einen Doppelpunkt getrennt. Dies kann von Nutzern mit Root-Berechtigungen nur in den Domain-Dateien vhost.conf oder vhost_ssl.conf (für den SSL-Virtual Host) vorgenommen werden, siehe Artikel 'Including Directives into Web Server Configuration File' in der Plesk-Dokumentation für weitere Einzelheiten.

Sobald die Änderungen vorgenommen wurden, müssen Sie die Apache-Konfigurationsdateien neu erstellen und den Apache-Dienst neu starten, indem Sie den folgenden Befehl in der Shell nutzen. Wenn die Datei vhost(_ssl).conf gefunden wird, wird sie automatisch der Datei httpd.include  der Domain hinzugefügt:

# /usr/local/psa/admin/sbin/websrvmng -v -a

Beispiele:

HINWEIS: HTTPD_VHOSTS_D sollte durch einen realen Pfad zu Domain-Homes ersetzt werden, der je nach Plesk-Version und Betriebssystem variieren kann; der aktuelle Wert kann der /etc/psa/psa.conf-Datei entommen werden. ADD_PATH sollte durch einen realen Pfad zu einem Ordner ersetzt werden, für den Sie den Zugriff erlauben müssen.

Erstellen Sie HTTPD_VHOSTS_D/domain.com/conf/vhost.conf:

<Directory HTTPD_VHOSTS_D/domain.com/httpdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/httpdocs:/tmp:/ADD_PATH"
</Directory>

Erstellen Sie HTTPD_VHOSTS_D/domain.com/conf/vhost_ssl.conf:

<Directory HTTPD_VHOSTS_D/domain.com/httpsdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/httpsdocs:/tmp:/ADD_PATH"
</Directory>

Für eine Subdomain erstellen Sie die Datei HTTPD_VHOSTS_D/domain.tld/subdomains/subdomain/conf/vhost.conf entsprechend:

<Directory HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs>
php_admin_value open_basedir "HTTPD_VHOSTS_D/domain.com/subdomains/subdomain/httpdocs:/tmp:/ADD_PATH"
</Directory>

Sie können beispielsweise ein allgemeines 'open_basedir' für einen benötigten Speicherort in /etc/php.ini erstellen:

open_basedir = "/tmp"

Starten Sie Apache nach der php.ini-Änderung neu.

a914db3fdc7a53ddcfd1b2db8f5a1b9c 56797cefb1efc9130f7c48a7d1db0f0c 29d1e90fd304f01e6420fbe60f66f838 85a92ca67f2200d36506862eaa6ed6b8 46a8e394d6fa13134808921036a34da8 bd7fc88cf1b01f097749ae6f87272128

Email subscription for changes to this article
Save as PDF