VHCS2 Fehler

#1
Hallo Leute

Habe ein Problem mit dem VHCS2.

Der Filemanager funktioniert nicht und auf meiner Seite bekomme ich immer folgende Fehlermeldung:

Code:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/files/listenbadbot.php) is not within the allowed path(s): (/var/www/virtual/top24preisvergleich.de:/var/www/virtual/top24preisvergleich.de/phptmp:/usr/share/php) in /var/www/virtual/top24preisvergleich.de/htdocs/pikomedia/search/index.php on line 36
Habe mir sagen lassen, das dies ein Fehler in VHCS2 ist, nur weiß ich nicht, wie ich das weg bekomme.


gruß tito
 

CentY

Registered User
#2
Wenn es das FAQ dazu noch gäbe würd ich dir den Link geben wos genau beschrieben steht ;)

So machst du einfach folgendes:
Such in der vhcs2.conf im Verzeichnis /etc/apache2/sites-available/ nach folgendem Block und pass ihn so an das er aussieht wie unten
<Directory /var/www/vhcs2/gui/tools/filemanager>
php_admin_value open_basedir "/var/www/vhcs2/gui/tools/filemanager/:/tmp/:/tmp:/usr/share/php/"
</Directory>
 
#3
ok, Danke, der Filemanager funktioniert nun.

Danke

Leider habe ich noch eine Fehlermeldung auf meiner Seite, die ich nicht wegbekomme.

Code:
Warning: file_exists() [function.file-exists]: open_basedir restriction in effect. File(/files/listenbadbot.php) is not within the allowed path(s): (/var/www/virtual/top24preisvergleich.de/:/usr/share/php/:/tmp) in /var/www/virtual/top24preisvergleich.de/htdocs/pikomedia/search/index.php on line 36
kann vll jemand was damit anfangen?
Kann es sein, daß dieser Fehler auch durch VHCS2 hervorgerufen wird?

gruß tito
 

Armadillo

Registered User
#4
Das ist kein Fehler von VHCS2, sondern ein Konfigurationsproblem. Du musst mit dem Ordner, in dass das Script will genau dasselbe wie beim Filemanager machen, also die open_basedirs anpassen, dann ist der Fehler auch weg. ;)
 
#5
ok, danke für deine Antwort, ich tu mit dem Fehler schon seit Tagen rum und komme nicht weiter.

Meinst du ein konfigurations Problem im Script oder in VHCS?

Mein Problem ist, das ich in dem Script nicht in alle Dateien reinschauen kann, da der Code nicht offen liegt(Zend Optimizer).

gruß tito
 

Armadillo

Registered User
#6
Die Fehlermeldung gibt doch alles her, was man braucht:
File(/files/listenbadbot.php) is not within the allowed path(s)
Da wills hin, das muss also in die vhcs2.conf an die richtige Stelle mit deiner Domain.
 
#8
also ich bekomme das nicht hin, hier mal die VHCS.Config

Code:
# httpd Data BEGIN.

#
# Web traffic accounting.
#

LogFormat "%B" traff

#
# GUI Location.
#

Alias /vhcs2 /var/www/vhcs2/gui
<Directory /var/www/vhcs2/gui>
    AllowOverride none
    Options MultiViews IncludesNoExec FollowSymLinks
    ErrorDocument 404 /vhcs2/errordocs/index.php
    DirectoryIndex index.html index.php
</Directory>

<Directory /var/www/vhcs2/gui/tools/filemanager>
    php_flag register_globals On
    php_admin_value open_basedir "/var/www/vhcs2/gui/tools/filemanager/:/tmp/:/usr/share/php/:/tmp/:/tmp"
</Directory>

Alias /vhcs_images /var/www/vhcs2/gui/images
<Directory /var/www/vhcs2/gui/images>
    AllowOverride none 
    Options MultiViews IncludesNoExec FollowSymLinks
</Directory>

#
# Default GUI.
#

<VirtualHost _default_:*> 

    DocumentRoot /var/www/vhcs2/gui

    <Directory /var/www/vhcs2/gui>
        Options Indexes Includes FollowSymLinks MultiViews
        AllowOverride None
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>

# httpd [217.172.165.96] virtual host entry BEGIN.

NameVirtualHost 217.172.165.96:80

# httpd [top24preisvergleich.de] dmn group entry BEGIN.

# httpd [{SUB_NAME}] sub entry BEGIN.
# httpd [{SUB_NAME}] sub entry END.

# httpd [top24preisvergleich.de] dmn entry BEGIN.
<VirtualHost 217.172.165.96:80>

    #
    #User vu2002
    #Group vu2002
    #

    #
    #SuexecUserGroup vu2002 vu2002
    #

    ServerAdmin     root@top24preisvergleich.de
    DocumentRoot    /var/www/virtual/top24preisvergleich.de/htdocs

    ServerName      top24preisvergleich.de
    ServerAlias     www.top24preisvergleich.de top24preisvergleich.de *.top24preisvergleich.de

    ErrorLog        /var/log/apache2/users/top24preisvergleich.de-error.log
    TransferLog     /var/log/apache2/users/top24preisvergleich.de-access.log

    CustomLog       /var/log/apache2/top24preisvergleich.de-traf.log traff
    CustomLog       /var/log/apache2/top24preisvergleich.de-combined.log combined

    Alias /errors   /var/www/virtual/top24preisvergleich.de/errors/

    ErrorDocument 401 /errors/401/index.php
    ErrorDocument 403 /errors/403/index.php
    ErrorDocument 404 /errors/404/index.php
    ErrorDocument 500 /errors/500/index.php

    # httpd dmn entry cgi support BEGIN.
    ScriptAlias /cgi-bin/ /var/www/virtual/top24preisvergleich.de/cgi-bin/
    <Directory /var/www/virtual/top24preisvergleich.de/cgi-bin>
        AllowOverride None
        #Options ExecCGI
        Order allow,deny
        Allow from all
    </Directory>
    # httpd dmn entry cgi support END.

    <Directory /var/www/vhcs2/gui>
        php_admin_value open_basedir "/var/www/vhcs2/gui/:/etc/vhcs2/:/proc/:/var/www/virtual/:/tmp"
        php_admin_value session.save_path "/tmp/"
    </Directory>

    # httpd dmn entry PHP2 support BEGIN.
    php_admin_value open_basedir "/var/www/virtual/top24preisvergleich.de/:/usr/share/php/:/tmp"
    #php_admin_value upload_tmp_dir "/var/www/virtual/top24preisvergleich.de/phptmp"
    #php_admin_value session.save_path "/var/www/virtual/top24preisvergleich.de/phptmp"
    php_admin_value sendmail_path '/usr/sbin/sendmail -fvu2002 -t -i'

    # httpd dmn entry PHP2 support END.

    <Directory /var/www/virtual/top24preisvergleich.de/htdocs>
        # httpd dmn entry PHP support BEGIN.
        # httpd dmn entry PHP support END.
        Options -Indexes Includes FollowSymLinks MultiViews
        AllowOverride AuthConfig FileInfo
        Order allow,deny
        Allow from all
    </Directory>

</VirtualHost>
# httpd [top24preisvergleich.de] dmn entry END.

# httpd [top24preisvergleich.de] dmn group entry END.

# httpd [{DMN_GRP}] dmn group entry BEGIN.
# httpd [{DMN_GRP}] dmn group entry END.

# httpd [{ALS_NAME}] als entry BEGIN.
# httpd [{ALS_NAME}] als entry END.

# httpd [217.172.165.96] virtual host entry END.

# httpd [{IP}] virtual host entry BEGIN.
# httpd [{IP}] virtual host entry END.

# httpd Data END.

Wo genau muss ich änderungen machen, damit es funktioniert?
Gib mal bitte einen Tip wie der Pfad aussehen soll...

Danke
 

yavhcsu

Registered User
#9
Nun zunächst zu
Code:
File(/files/listenbadbot.php) is not within the allowed path(s)
Es ist Dir doch hoffentlich klar, dass hier ein Zugriff auf ein Script außerhalb des Root-Directory der Webpräsenz erfolgen soll. Wenn dem so ist, dann eben wie von @Armadillo schon beschrieben, dies mit der Direktive php_admin_value open_basedir entsprechend erlauben, z.B.:
Code:
php_admin_value open_basedir "/var/www/vhcs2/gui/tools/filemanager/:/usr/share/php/:/files/:/tmp/"
Ganz wichtig, ist zu wissen, dass das Änderungen in /etc/apache2/sites-available/vhcs2.conf nur so lange bestehen bleiben, bis Du eine neue Domain, Alias, Subdomain oder email-Adresse hinzufügst, änderst oder löschts.
Wenn die Tests erfolgreich waren, dann die Änderungen in /etc/vhcs2/apache/working/vhcs2.conf eintragen. So bleiben diese manuelle Anpassungen erhalten.
 
#10
also danke erstmal für die Hilfe hier.

Die Sache ist die, das ich erst seit 2 Wochen mit einem Server und auch mit VHCS2 arbeite und daher noch wenig von dieser Materie verstehe.

Wie muß ich es denn konkret in der vhcs.config eingeben und an welcher Stelle.

Über diesen Pfads steht ja immer so eine Variable"<Directory /var/www/vhcs2/gui>
", ist die Frage, an welcher Stelle muss mein Pfad hin und wie muss er aussehen?



gruß tito
 

yavhcsu

Registered User
#11
Also, im Bezug auf Deine vhcs2.conf und sofern das Script aus der hier konfigurierten Webpräsenz heraus ausgeführt werden soll, hinter folgenden Eintrag
Code:
# httpd [top24preisvergleich.de] dmn entry BEGIN.
<VirtualHost 217.172.165.96:80>
den folgenden Abschnitt suchen

Code:
# httpd dmn entry PHP2 support BEGIN.
php_admin_value open_basedir "/var/www/virtual/top24preisvergleich.de/:/usr/share/php/:/tmp"
Und diesen Eintrag wie folgt ändern:
Code:
php_admin_value open_basedir "/var/www/virtual/top24preisvergleich.de/:/usr/share/php/:/tmp:/files/"
Das sollte passen.

Aber, abgesehen von der Besonderheit der permanenten Speicherung der Änderungen an den PHP-Direktiven in VHCS2 steht diese Problematik mit VHCS2 eigentlich nicht direkt in Verbindung, sondern hat vielmehr mit dem Zusammenspiel von apache und php im Zusammenhang mit der Sicherheit des Servers an sich zu tun.
Gerade wenn man nicht fit in PHP ist, empfiehlt es sich jedoch dringend, sich zumindest im Bezug auf die Direktiven, die das Zusammenspiel zwischen php und apache steuern, zu befassen. Ein fehlerhafte Konfiguration dieser Direktiven kann weit mehr Probleme verursachen, als das schlichte Nichtfunktionieren von Elementen einer Webpräsenz.
 
Top