Zum Inhalt springen

Problem - not within the allowed path

Erstellt am 13. Februar 2005 · 12 Antworten · letzte Antwort am 1. August 2007

Tags: Frage

kiserv ·

Warning: Unknown(): open_basedir restriction in effect. File(/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php) is not within the allowed path(s): (/home/httpd/vhosts/xyz/httpdocs:/tmp) in Unknown on line 0

Warning: Unknown(/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening '/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php' for inclusion (include_path='.:') in Unknown on line 0

System: 1und1 Root mit Suse9.1 und Plesk7.5
Typo3 ist unter /home/typo3_src-3.7.0 installiert und es soll darauf mit Symlinks aus den jeweiligen Verzeichnissen heraus verwiesen werden.

mstuebner ·
kiserv schrieb

Warning: Unknown(): open_basedir restriction in effect. File(/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php) is not within the allowed path(s): (/home/httpd/vhosts/xyz/httpdocs:/tmp) in Unknown on line 0

Warning: Unknown(/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php): failed to open stream: Operation not permitted in Unknown on line 0

Warning: (null)(): Failed opening '/home/typo3_src-3.7.0/typo3/sysext/cms/tslib/index_ts.php' for inclusion (include_path='.:') in Unknown on line 0

System: 1und1 Root mit Suse9.1 und Plesk7.5
Typo3 ist unter /home/typo3_src-3.7.0 installiert und es soll darauf mit Symlinks aus den jeweiligen Verzeichnissen heraus verwiesen werden.

Das ist ja schön und gut, nur befindet sich die T3 Installation trotzdem nicht in den bei open_basedir angegebenen Verzeichnissen. Das ist ein Fakt, steht ja aber auch deutlich da.

Da Du ja selbst Admin bist, setz halt die korrekten Verzeichnisse ins open_basedir und fertig isses.

kiserv ·
mstuebner schrieb

Das ist ja schön und gut, nur befindet sich die T3 Installation trotzdem nicht in den bei open_basedir angegebenen Verzeichnissen. Das ist ein Fakt, steht ja aber auch deutlich da.

Der entsprechenden Eintrag in der php.ini lautet bei mir:
"open_basedir = /home/typo3_src-3.7.0"

Unter php.info wird das auch so angezeigt. Vielleicht liegt es doch an etwas anderem?

Pluto ·

Laß' das mal lieber mit der php.ini...

Bei der Disti SUSE9.1 i.V. mit PLESK gibt es im Verzeichnis eines jeden VHOST ein Verzeichnis "conf".
Dort erstellt Du eine Datei "vhost.conf" mit dem Inhalt analog zum u.g. Beispiel:

<Directory "/home/httpd/vhosts/yourdomain.de">
Options -Indexes +FollowSymLinks +Includes
DirectoryIndex index.php
php_admin_value open_basedir /home/httpd/vhosts/yourdomain.de/httpdocs/
php_admin_flag safe_mode Off
</Directory>

Du brauchst diese Datei auch nirgends einzubinden, das ist bereits in einer der vielen "included inis" per Wildcard geschehen.

mstuebner ·
kiserv schrieb

Der entsprechenden Eintrag in der php.ini lautet bei mir:
"open_basedir = /home/typo3_src-3.7.0"

Dann musst Du ja nur noch herauszubekommen wo allowed path(s): (/home/httpd/vhosts/xyz/httpdocs:/tmp) definiert ist.

kiserv ·
mstuebner schrieb
kiserv schrieb

Der entsprechenden Eintrag in der php.ini lautet bei mir:
"open_basedir = /home/typo3_src-3.7.0"

Dann musst Du ja nur noch herauszubekommen wo allowed path(s): (/home/httpd/vhosts/xyz/httpdocs:/tmp) definiert ist.

Besten Dank für die Hinweise. Es steht zwar meist alles dar, aber dann legt man den Focus auf einen anderen Punkt, verrennt sich und . . .

Ich habe den Eintrag in der "/home/httpd/vhosts/xyz/conf/httpd.include gefunden" Diese Datei hatte ich zwar schon früher wahrgenommen, aber da im Kopf der Datei ausdrücklich davor gewarnt wird, hier Änderungen vorzunehmen, hab die die Datei erstmal nicht weiter beachtet und wie vorgeschlagen versucht in der vhost.conf die Änderungen einzutragen, was aber irgendwie nicht funktioniert hat. NUn habe ich die Datei doch direkt editiert und es scheint zu funktionieren. Wie ist es aber, wenn Plesk Änderungen an dieser Datei vornehmen will. Wir mein Zusatz dann (ähnlich wie bei Confixx) einfach gelöscht. Wie funktioniert hier Plesk?
Kann vielleich jemand mal einen kompletten Beispieleintrag für eine vhost.conf für eine typische zentrale typo3 Installation mit symlinks posten?
Danke

kiserv ·

Irgendwie komme ich nicht weiter.
Wie vermutet überschreibt Pleskt die httpd.include bei Konfigurationsänderungen und der Eintrag verschwindet wieder.
Also habe ich nochmal die vhost.conf ausprobiert.

Der Eintrag lautet:
php_admin_value open_basedir "/home/httpd/vhosts/xyz/httpdocs:/tmp:/home/typo3_src-3.7.0

Der Eintrag zeigt aber keinerlei Wirkungen.

Ich habe auch die php.ini versuchsweise bearbeitet. Dort habe ich mal folgenden Eintrag gemacht: open_basedir = /home/typo3_src-3.7.0

In php.info steht dann:
open_basedir /home/httpd/vhosts/yxz/httpdocs:/tmp /home/typo3_src-3.7.0, wobei der letzte Eintrag in der Spalte "master value" steht.

Auch dass zeigt aber keinen Erfolg.
Über weitere Tips / Hinweise wäre ich dankbar.

kiserv ·

manchmal ist es erstaunlich, - da probiert man stundenlang herum und alles funktioniert nicht. So habe ich natürlich den Eintrag in der vhost, wie Pluto in ohen beschrieben hatte, mehrfach ausprobiert, und es funktionierte nicht, auch bevor ich hier im Forum schrieb.
Was ich schlicht übersehen hatte ist, dass Änderungen an der vhost erst nach Aufruf von "/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=example.tld" übernommen werden.

Also wieder ein Fall von "Handbuch nicht gründlich gelesen". 😃
Sorry!

hiefman ·

Ich sitze grade vor dem selben Problem, allerdings noch etwas weiter "vorne". Aus irgendeinem Grund schluckt der Server (Suse9.1 + Plesk) FollowSymlinks nicht 🙁 Ich habe in die vhost.conf folgendes eingetragen und anschliessend das oben genannte Skript ausgeführt + den Apache manuell neu gestartet:

<Directory "/home/httpd/vhosts/meinedomain.tld/httpdocs">
AllowOverride All
Options FollowSymlinks
</Directory>

Leider zeigt der Server sich unbeeindruckt:

[error] [client XXX.XXX.XXX.XXX] Symbolic link not allowed: /home/httpd/vhosts/meinedomain.tld/httpdocs/index.php

Ich habe nun mal ausprobiert, ob er die vhost.conf generell nicht included und safe_mode mal auf on gesetzt. Lustigerweise wird das vom Server umgesetzt. Jemand zufällig ein ähnliches Problem gehabt? Ich bin auch Confixx - Plesk Umsteiger, deshalb wusst ich nu auch nich genau wie die Dateien geCHOWNED werden müssen. Hab alerdings alle möglichen Kombination auch mal ausprobiert, ohne Erfolg.

Für Tipps wäre ich sehr dankbar ...

gotoralf ·

Probier´s doch mal hiermit:

<Directory "/home/http/vhosts/meinedomain.tld/httpdocs">
AllowOverride All
Options +FollowSymLinks
</Directory>

hiefman ·

Habe schon alle möglichen Kombinationen ausprobiert, ohne Erfolg. Bin nun vorerst den Umweg über den Application Vault gegangen, wobei ich festgestellt hab, das Plesk da ja schlauerweise einfach ohne symlinks arbeitet ...
Wie sieht das eigentlich aus, wenn eine neue Version einer AppVault Application vorhanden ist. Wird da automatisch geupdated oder gibts Hinweise o.ä.?

InforMedic ·
hiefman schrieb

Wie sieht das eigentlich aus, wenn eine neue Version einer AppVault Application vorhanden ist. Wird da automatisch geupdated oder gibts Hinweise o.ä.?

Das würde mich auch interessieren, vorallem ob man auch selber dies appVault pakete erstellen kann um plesk zu adden?!? #paralyzed#

InforMedic ·

Ja geil, nach 500 Jahren habe ich das mit dem open_basedir auch hinbekommen. Erhalte jetzt nur noch permission probleme - das sollte jetzt aber schnell behoben sein!

Danke euch für den Juwelen Tipp die vhost.conf direkt unter "/srv/www/vhosts/mein-server.de/conf" (enthält httpd.include) anzulegen und plesk mittles "/usr/local/psa/admin/sbin/websrvmng --reconfigure-vhost --vhost-name=mein-server.de" dies mitzuteilen.

Ich hatte ständig versucht diese Datei unter ".../vhosts/mein-server.de/httpdocs/conf/" anzulegen und anschliessend plesk dies mitzuteilen.

Liebe Grüße
Info