open_base dir FEHLER

kantiran

Registered User
Hallo,

ich habe einen Strato v-Server
Nun bekomme ich beim Ausführen einiger Scripte auf meiner Homepage
folgenden Fehler:

Code:
Warning: is_file() [function.is-file]: open_basedir restriction in effect. File(/views/metadata.xml) is not within the allowed path(s): (/var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/) in /var/www/vhosts/meinedomain.tld/httpdocs/libraries/joomla/filesystem/file.php on line 444

Warning: is_file() [function.is-file]: open_basedir restriction in effect. File(/metadata.xml) is not within the allowed path(s): (/var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/) in /var/www/vhosts/meinedomain.tld/httpdocs/libraries/joomla/filesystem/file.php on line 444

Nun habe ich versucht das mit einer vhost.conf Datei im conf-Verzeichnis
der betreffenden Domain zu korrgieren.
Leider benutzt Apache diese vhost.conf Datei in keinster Weise.
Ich kann da reinschreiben was ich will, das interresiert ihn gar nicht.

Ich habe nur in meinem /var/www/vhosts/meinedomain.tld/conf/ - Verzeichnis
eine bzw. mehrer Dateien mit dem Namen:
13116933970.90836900_httpd.include
13............................_httpd.include

Diese Dateien haben folgenden Inhalt:
Code:
# ATTENTION!
# DO NOT MODIFY THIS FILE OR ANY PART OF IT. THIS CAN RESULT IN IMPROPER PLESK
# FUNCTIONING OR FAILURE, CAUSE DAMAGE AND LOSS OF DATA. IF YOU REQUIRE CUSTOM
# MODIFICATIONS TO BE APPLIED TO THE CONFIGURATION, PLEASE, PERFORM THEM IN THE
# FOLLOWING FILE(S):
#/var/www/vhosts/meinedomain.tld/conf/vhost.conf
#/var/www/vhosts/meinedomain.tld/conf/vhost_ssl.conf
<IfModule mod_ssl.c>

<VirtualHost 85.214.87.60:443>
    ServerName "meinedomain.de:443"
        ServerAlias  "www.meinedomain.de"
    	UseCanonicalName Off

<IfModule mod_suexec.c>
    SuexecUserGroup "juergen" "psacln"
</IfModule>

    ServerAdmin  "xxx"

	DocumentRoot "/var/www/vhosts/meinedomain.tld/httpdocs"
    CustomLog /var/www/vhosts/meinedomain.tld/statistics/logs/access_ssl_log plesklog
    ErrorLog  "/var/www/vhosts/meinedomain.tld/statistics/logs/error_log"



<IfModule mod_userdir.c>
    UserDir "/var/www/vhosts/meinedomain.tld/web_users"
</IfModule>

    ScriptAlias  "/cgi-bin/" "/var/www/vhosts/meinedomain.tld/cgi-bin/"



    Alias  "/plesk-stat" "/var/www/vhosts/meinedomain.tld/statistics"
    <Location  /plesk-stat/>
        Options +Indexes
    </Location>
    <Location  /plesk-stat/logs/>
        Require valid-user
    </Location>
    Alias  /webstat /var/www/vhosts/meinedomain.tld/statistics/webstat
    Alias  /webstat-ssl /var/www/vhosts/meinedomain.tld/statistics/webstat-ssl
    Alias  /ftpstat /var/www/vhosts/meinedomain.tld/statistics/ftpstat
    Alias  /anon_ftpstat /var/www/vhosts/meinedomain.tld/statistics/anon_ftpstat

    Alias  /awstats-icon /usr/share/awstats/icon



    SSLEngine on
    SSLVerifyClient none
    SSLCertificateFile /opt/psa/var/certificates/certWz23968

SetEnv PP_CUSTOM_PHP_INI /var/www/vhosts/meinedomain.tld/etc/php.ini

<IfModule mod_fcgid.c>
	FcgidInitialEnv PP_CUSTOM_PHP_INI /var/www/vhosts/meinedomain.tld/etc/php.ini
</IfModule>

    <Directory /var/www/vhosts/meinedomain.tld/httpdocs>

<IfModule mod_perl.c>
    <Files ~ (\.pl$)>
        SetHandler perl-script
        PerlHandler ModPerl::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
    </Files>
</IfModule>
<IfModule mod_php4.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/
</IfModule>

<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/
</IfModule>
<IfModule mod_fcgid.c>
    <Files ~ (\.fcgi)>
        SetHandler fcgid-script
        Options +FollowSymLinks +ExecCGI
    </Files>
</IfModule>

        SSLRequireSSL

        Options -Includes +ExecCGI

    </Directory>


    <Directory /var/www/vhosts/meinedomain.tld/web_users>

<IfModule mod_php4.c>
php_admin_flag engine off
</IfModule>

<IfModule mod_php5.c>
php_admin_flag engine off
</IfModule>

    </Directory>






</VirtualHost>

</IfModule>

<VirtualHost 85.214.87.60:80>
    ServerName "meinedomain.tld:80"
        ServerAlias  "www.meinedomain.tld"
    	UseCanonicalName Off

<IfModule mod_suexec.c>
    SuexecUserGroup "juergen" "psacln"
</IfModule>

    ServerAdmin  "jjj.zzz@t-online.de"

	DocumentRoot "/var/www/vhosts/meinedomain.tld/httpdocs"
    CustomLog /var/www/vhosts/meinedomain.tld/statistics/logs/access_log plesklog
    ErrorLog  "/var/www/vhosts/meinedomain.tld/statistics/logs/error_log"



<IfModule mod_userdir.c>
    UserDir "/var/www/vhosts/meinedomain.tld/web_users"
</IfModule>

    ScriptAlias  "/cgi-bin/" "/var/www/vhosts/meinedomain.tld/cgi-bin/"



    Redirect permanent /plesk-stat https://meinedomain.tld/plesk-stat
    Redirect permanent /webstat https://meinedomain.tld/webstat
    Redirect permanent /webstat-ssl https://meinedomain.tld/webstat-ssl
    Redirect permanent /ftpstat https://meinedomain.tld/ftpstat
    Redirect permanent /anon_ftpstat https://meinedomain.tld/anon_ftpstat
    Redirect permanent /awstats-icon https://meinedomain.tld/awstats-icon


    <IfModule mod_ssl.c>
        SSLEngine off
    </IfModule>

SetEnv PP_CUSTOM_PHP_INI /var/www/vhosts/meinedomain.tld/etc/php.ini

<IfModule mod_fcgid.c>
	FcgidInitialEnv PP_CUSTOM_PHP_INI /var/www/vhosts/meinedomain.tld/etc/php.ini
</IfModule>

    <Directory /var/www/vhosts/meinedomain.tld/httpdocs>

<IfModule mod_perl.c>
    <Files ~ (\.pl$)>
        SetHandler perl-script
        PerlHandler ModPerl::Registry
        Options ExecCGI
        allow from all
        PerlSendHeader On
    </Files>
</IfModule>
<IfModule mod_php4.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/
</IfModule>

<IfModule mod_php5.c>
php_admin_flag engine on
php_admin_flag safe_mode off
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs/:/tmp/
</IfModule>
<IfModule mod_fcgid.c>
    <Files ~ (\.fcgi)>
        SetHandler fcgid-script
        Options +FollowSymLinks +ExecCGI
    </Files>
</IfModule>


        Options -Includes +ExecCGI

    </Directory>


    <Directory /var/www/vhosts/meinedomain.tld/web_users>

<IfModule mod_php4.c>
php_admin_flag engine off
</IfModule>

<IfModule mod_php5.c>
php_admin_flag engine off
</IfModule>

    </Directory>






</VirtualHost>


Da sind dann einige open_basdir Kommandos zu finden.
Allerdings verstehe ich nicht warum ich überhaupt obigen Fehler bekomme, wo doch die Pfadangaben im open_base_dir korrekt in der ......httpd_include-Datei angeben wurde.

Wie kann ich diesen Fehler beseitigen?

Gruß,
kantiran
 
Beachte dass die Pfade absolut sind und somit dein PHP-Skript seine Datei unter /views/metadata.xml
und nicht unter /var/www/vhosts/meinedomain.tld/httpdocs/views/metadata.xml
sucht
 
Beachte dass die Pfade absolut sind und somit dein PHP-Skript seine Datei unter /views/metadata.xml
und nicht unter /var/www/vhosts/meinedomain.tld/httpdocs/views/metadata.xml
sucht

Ok.
Das heißt dann aber das der Fehler in meinem Fall in der Software (hier Joomla 1.7) liegt.
Da ändere ich mal lieber nichts an dem betreffenden PHP-Script.
Dann versuch ich mal lieber eine ältere Version der Software, die hat den Fehler offensichtlich nicht.



Trotzdem danke,
kantiran
 
Hm - also meines Wissens nach läuft Joomla 1.5-1.7 einwandfrei auf Strato Servern mit Plesk (so wie es aussieht hast du Plesk drauf?).

Du musst in den besagten kryptischen _httpd.include Dateien die open_basedir Einträge ändern:

Code:
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs[COLOR="Red"]/[/COLOR]:/tmp[COLOR="Red"]/[/COLOR]

in

Code:
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs:/tmp

Versuch es mal danach erneut ;) Dann sollte es gehen.
Apache2 restart/graceful nicht vergessen ;) um sicherzugehen.

lg zhizhi778
 
Der trailing slash ist schon korrekt da ansonsten alle Ordner welche mit diesem Teil anfangen ebenfalls eingeschlossen werden.
 
Hm - also meines Wissens nach läuft Joomla 1.5-1.7 einwandfrei auf Strato Servern mit Plesk (so wie es aussieht hast du Plesk drauf?).

Du musst in den besagten kryptischen _httpd.include Dateien die open_basedir Einträge ändern:

Code:
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs[COLOR="Red"]/[/COLOR]:/tmp[COLOR="Red"]/[/COLOR]

in

Code:
php_admin_value open_basedir /var/www/vhosts/meinedomain.tld/httpdocs:/tmp

Versuch es mal danach erneut ;) Dann sollte es gehen.
Apache2 restart/graceful nicht vergessen ;) um sicherzugehen.

lg zhizhi778

Das bringt alles nix.
Es muss schon an Joomla liegen.
Denn er behauptet ja das die betreffenden Dateien NICHT im open_base_dir
liegen. Aber so wie der Fehler angezeigt wird ist ja klar ersichtlich, daß
eben die open_base_dir doch richtig gesetzt ist.
Joomla kapiert das lediglich nicht.

Ich hab inwzischen recherchiert. Bei Joomla 1.5 ist das ein bekannter Fehler.
Scheinbar zieht sich der Fehler zumindest auf manchen Systemen bis 1.7 durch.

Vielleicht sind einige Dateirechte falsch, wer weiß.
Da sich der Fehler aber zumindest bisher nicht auf die Funktionalität von
Joomla auwirkt, ignorier ich den künftig einfach.

Gruß,
kantiran
 
Back
Top