Wie man die Funktion open_basedir in Hestia CP deaktiviert

2 Oktober, 2023

Wenn das Laden von Seiten auf der Website mit Problemen im Zusammenhang mit open_basedir einhergeht, kann die angegebene Funktion deaktiviert werden. Dies wird durch die Fehlermeldung open_basedir restriction in effect angezeigt, die in den [Fehlerprotokollen] auf dem Server oder auf den Seiten der Website erscheint.  

Der Kern von open_basedir besteht darin, den Zugriff von PHP-Skripten der Website auf andere Verzeichnisse und Skripte, die außerhalb ihrer Grenzen liegen, einzuschränken. Der Hauptzweck der Funktion besteht darin, Websites zu isolieren, sodass jede von ihnen Dateien oder Verzeichnisse ihres Stammverzeichnisses ohne Eingriffe in ähnliche Systeme anderer Websites abgrenzen kann.  

Die Relevanz des nachstehenden Algorithmus bleibt für das Hestia-Panel bestehen. Bevor der Benutzer mit der Arbeit beginnt, sollte er sicherstellen, dass ein [Server-Snapshot] durchgeführt wurde, da die Verantwortung für den Prozess beim Serverbesitzer liegt. Der Ablauf ist folgender:

  1. Kommentieren Sie die Zeile, die sich auf die angegebene Funktion bezieht, in der Template-Konfigurationsdatei. Der Speicherort der Template-Dateien kann unter /usr/local/hestia/data/templates/web/php-fpm/ gefunden werden. Ihre Namen ähneln den Bezeichnungen der PHP-Versionen. Zum Beispiel gibt es für die Version 7.4 ein Template mit dem Namen PHP-7_4.tpl.  Die Zeile php_admin_value[open_basedir] = muss kommentiert werden. Am Anfang der Zeile wird ein Semikolon hinzugefügt, wie z.B. ;php_admin_value[open_basedir] = … Die Aufgabe kann in jedem Texteditor erledigt werden – zum Beispiel vim oder nano. Der Befehl sed -i ‘s/php_admin_value\[open_basedir\]/;php_admin_value\[open_basedir\]/g’ /usr/local/hestia/data/templates/web/php-fpm/PHP-7_4.tpl hilft dabei. Dabei sollte auf den Dateinamen geachtet werden: Er muss der gewünschten PHP-Version entsprechen. Der Benutzer sollte den Namen nach Bedarf ändern. 
  2. Ändern Sie die Hauptkonfiguration der Website und starten Sie den PHP-Dienst neu. Die Aktionen werden manuell über das Steuerpanel oder durch den Befehl v-change-web-domain-backend-tpl admin example.pp.ua PHP-7_4 ausgeführt. In der angegebenen Zeile gibt es drei Variablen: den Benutzernamen, die Domain der Website und den Namen des Templates – entsprechend admin, example.pp.ua, PHP-7_4. Der Benutzer ändert die angegebenen Daten nach Bedarf, bevor er den Befehl ausführt.
  3. Überprüfen Sie die Deaktivierung der Funktion. 

Der letzte Schritt erfolgt unter Verwendung des Skripts phpinfo.