Nach Serverumzug kein Captcha

Begonnen von DanielMathe, 13 Januar 2008, 14:33:53

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

DanielMathe

GD Support    enabled
GD Version    2.0 or higher
FreeType Support    enabled
FreeType Linkage    with freetype
FreeType Version    2.3.5
T1Lib Support    enabled
GIF Read Support    enabled
GIF Create Support    enabled
JPG Support    enabled
PNG Support    enabled
WBMP Support    enabled

Umgebung:
CMS-Version: pragmaMx 0.1.9, 1.30/2007-04-05     
PHP-Version: 5.2.3-1ubuntu6.2  (PHP-Info)
MySQL-Version: 5.0.45-Debian_1ubuntu3.1-log
Server-Version: Apache/2.2.4 (Ubuntu) PHP/5.2.3-1ubuntu6.2

Auf mehreren pragmaMx 0.1.9.1 Systemen geht kein Captcha mehr. Ich bekomme nicht mal ein Kontrollbild angezeigt. Die Rechte der numbers.txt sind nat. auf 777 gesetzt. Geht weder bei Tabelle / noch bei Datei.

DanielMathe

Der Aufruf:

http://www.bdk.elbsandsteinportal.de/includes/captcha/captchaimg.php?debug

bringt eine Fehlermeldung.

Warning: chdir() [function.chdir]: open_basedir restriction in effect. File(../../) is not within the allowed path(s): (/var/www/web13/html/:/var/www/web13/phptmp/) in /var/www/web13/html/includes/captcha/captchaimg.php on line 28
mainfile-error

Kann es sein, dass der Befehl chdir() gesperrt ist. Ich verstehe nicht, warum der Fehler kommt, weil die mainfile.php ja unter /var/www/web13/html liegt, dort wo sie hingehört.

JoergK

Hoi ;)

Die Suche mit "open_basedir restriction" erbrachte gleich im ersten Ergebnis den Beitrag

http://www.pragmamx.org/Forum-topic-21630.html

in dessen letzer Antwort die warscheinliche Ursache für Dein Problem steht.
Ansprechpartner zur Behebing ist also der Provider bzw. Hoster des genutzten Webspace.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

DanielMathe

Betreibe den Server selbst. Wird in irgend einem config-file der tatsächliche Pfad bei der Installation von pragmamx eingetragen? Dann hätte ich einen Lösungsansatz. Vor der Spiegelung lagen die web-Verzeichnisse unter /home/htdocs/webXX/html und jetzt liegen Sie unter /var/www/webXX/html. Ich vermute, dass irgendwo der alte Pfad hinterlegt ist.

Die Anweisung in Zeile 28 fordert einen Verzeichniswechsel, der eigentlich im erlaubten Bereich liegen müsste. Liege ich da völlig falsch.

Sir-Mike

Hallo,

ich wuerde die suche nach denn pfaden aufgeben. Du kannst dein root hin und her kopieren soviel du willst das macht dem pragmaMX nichts aus das laeuft immer, so ist meine erfahrung. Bei einem umzug muss nur wenn noetig die DB-Daten und der pfad fuer den spaw-Editor neu zugeordnet werden das ist alles.

Wie JoergK schon drauf hingewiesen hat pruefe deine zugriffsrechte mann hat sich schnell mal ausgesperrt.

Gruss
Sir-Mike
Der Vorteil der Klugheit besteht darin, dass man sich dumm stellen kann. Das Gegenteil ist schon schwieriger.

DanielMathe

Zitatpruefe deine zugriffsrechte mann hat sich schnell mal ausgesperrt
Ich sehe dass so. Mit dem Aufruf der Datei
http://www.bdk.elbsandsteinportal.de/includes/captcha/captchaimg.php?debug
wird die Datei /var/www/web13/html/includes/captcha/captchaimg.php aufgerufen. In der Zeile
28 soll ein Verzeichniswechsel 2 Ebenen höher erfolgen, also nach /var/www/web13/html. Freigegeben ist der Pfad /var/www/web13/html. Wieso erfolgt nun die Fehlermeldung. Ich verstehe nicht, wo die Zugriffsverletzung entstehen soll, da der Verzeichnisprung im erlaubten Bereich vollzogen würde.

Andi

Moin :)

ZitatBetreibe den Server selbst.

Ok, wie und wo steuerst du die open_basedir Einstellung?

Über die php.ini, oder über die Apache Virtual Hosts?
Oder evtl. beies, so dass sich die Einstellungen beissen?

Was steht denn in der php.ini bei open_basedir?
Und was passiert, wenn das einfach mal testweise entfernst?


Auf jeden Fall ist diene Server/php Konfiguration dafür verantwortlich...
schön´s Grüssle, Andi

DanielMathe

#7
Danke für den Tipp. Ich steure open_basedir über die virtual hosts. Ich habe mal den Eintrag rausgenommen. Da funktoniert alles ohne Probleme, keine Fehler und captcha-Bild wird angezeigt.

In der php.ini steht:
;open_basedir =

In der vhost von web13 habe ich eingetragen:
php_admin_value open_basedir /var/www/web13/html/:/var/www/web13/phptmp/

So müsste es doch eigentlich richtig konfiguriert sein. Mit den o.a. Einstellung gehts nicht. Mit dem auskommentierten Eintrag in der vhost gehts - ?

<VirtualHost 213.239.221.103:80>
ServerName www.bdk-oeoe.de
ServerAlias bdk-oeoe.de www.bdk.elbsandsteinportal.de bdk.elbsandsteinportal.de

DocumentRoot /var/www/web13/html
ErrorLog /var/www/web13/logs/error_log
CustomLog /var/www/web13/logs/access_log combined

        SuexecUserGroup web13 web13
        #php_admin_value open_basedir /var/www/web13/html/:/var/www/web13/phptmp/
        php_admin_value file_uploads 1
        php_admin_value upload_tmp_dir /var/www/web13/phptmp/



<Directory /var/www/web13/html>
Options -Indexes -FollowSymLinks -SymLinksIfOwnerMatch +ExecCGI
Order allow,deny
allow from all
</Directory>

</VirtualHost>

DanielMathe

Bei der Einstellung

php_admin_value open_basedir /var/www/web13/

gehts auch ohne Probleme. Allerdings verstehe ich ehrlich gesagt den Grund nicht.