Page 1 of 1
command not in docroot #500
Posted: 2005-01-09 23:42
by dtpfactory
Hallöchen ich hoffe ja das "wgot" mich nicht gleich haut, wenn ich den 5.000ten Threat zum Thema suexec/suexec2 und cgi Fehler 500 anfange, aber exakt mein Fehler habe ich suchtechnisch nicht finden können.
Also: Meine CGI's werden nicht ausgeführt:
Mein suexec2 -V gibt die Daten:
Code: Select all
-D AP_DOC_ROOT="/srv/www/htdocs"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/usr/local/apache2/logs/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
Der Fehler in der Suexec.log lautet:
Code: Select all
uid: (642/web4) gid: (642/642) cmd: main.cgi
command not in docroot (/home/htdocs/web4/html/cgi-bin/gbook/main.cgi)
Das Ganze auf einem Linux/Suse mit Confixx 3.0 Professional.
So langsam blick ich nicht mehr durch...
PS: "wgot" Dein Turitorial "Neu-Komiplierung der suexec" war echt gut! Nur hab ich jetzt den nächsten Fehler :-(
Danke für eure Hilfe!
Re: command not in docroot #500
Posted: 2005-01-10 00:17
by wgot
Hallo,
DTPfactory wrote:Hallöchen ich hoffe ja das "wgot" mich nicht gleich haut,
nö, wieso? Und falls er entsorgt werden sollte bin ich das nicht gewesen (das können nur die Mods und ich bin keiner).
-D AP_DOC_ROOT="/srv/www/htdocs"
command not in docroot (/home/htdocs/web4/html/cgi-bin...
Deine Cgis (und auch die Homepages) liegen also in /home/htdocs/ suexec2 ist aber für /srv/www/htdocs/ compiliert.
PS: "wgot" Dein Turitorial "Neu-Komiplierung der suexec" war echt gut!
Schön - dann wende es an.
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-10 23:15
by dtpfactory
Tja.... die suEXEC2 -V ist nun ok... das Errorlog bleibt zumindest leer.... Allerdings finde ich im Error_Log vom Apachen noch die Fehlermeldung:
Code: Select all
[Mon Jan 10 23:07:22 2005] [error] [client 80.143.183.253] Premature end of script headers: main.cgi
[Mon Jan 10 23:07:22 2005] [error] [client 80.143.183.253] failed to open log file
[Mon Jan 10 23:07:22 2005] [error] [client 80.143.183.253] fopen: Permission denied
Dann hab ich noch gefunden - rcapache2.out
Code: Select all
[Mon Jan 10 22:57:30 2005] [warn] NameVirtualHost 212.227.49.34:80 has no VirtualHosts
Syntax OK
Vielleicht hilfts ja noch weiter...
Ich frage mich nun was da noch falsch ist - den Pfad zum suexex.log hab ich geprüft. rechte liegen da bei 0777 besitzer und group ist ROOT (?!).
Noch jemand eine Idee...!?
Re: command not in docroot #500
Posted: 2005-01-11 00:46
by wgot
Hallo,
DTPfactory wrote: failed to open log file
falls ein altes suexec-log vorhanden ist löscht das mal (bzw umbenennen wenn Du es noch brauchst).
[warn] NameVirtualHost 212.227.49.34:80 has no VirtualHosts
das ist eine Warnung die auf allen Confixx-Systemen auftritt (Confixx-Konstruktionsfehler).
den Pfad zum suexex.log hab ich geprüft.
also auch geändert - der aus deiner alten Ausgabe von suexec2 -V war ziemlich sicher falsch.
rechte liegen da bei 0777 besitzer und group ist ROOT (?!).
wessen Rechte?
suexec.log - da macht 777 keinen Sinn. Wenn Du es löscht wird es mit korrekten Rechten neu erstellt.
Oder gar das Script? Das muß 755 haben und den User und Group des webXXX.
Wenn das nicht hilft:
Ausgabe des aktuellen suexec2 -V
Korrekten Pfad, Owner, Group und Chmod der suexec.log
Owner, Group und rechte des Scripts.
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-15 00:20
by dtpfactory
Hallo Wolfgang, ich komme immer noch nicht vorran....
mein error.log gibt mir immer noch nen fehler aus:
Code: Select all
[Fri Jan 14 23:38:34 2005] [error] [client 66.196.90.6] Premature end of script headers: main.cgi
[Fri Jan 14 23:38:34 2005] [error] [client 66.196.90.6] failed to open log file
[Fri Jan 14 23:38:34 2005] [error] [client 66.196.90.6] fopen: Permission denied
Das suexec.log hab ich mal gelöscht - kommt aber nicht wieder...
Mein Susexec2 -V gibt nun:
Code: Select all
-D AP_DOC_ROOT="/home/htdocs"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
der pfad zur suexec.log = /var/log/apache2/suexec.log (nicht existent)
das auszuführende cgi hat 755 - own:web0 - grp:web0
Wenn mir nur nicht möchtegern Kunden im Nachen sitzen würden....
Hast Du noch eine Idee... oder vielleicht sieht man sich mal per ICQ ?!
#38591672
Danke,
MacGyver
Re: command not in docroot #500
Posted: 2005-01-15 09:06
by Matthias Diehl
Kann es sein, das Du die Funktion fopen deaktiviert hast und die main.cgi die nutzen wil?
Re: command not in docroot #500
Posted: 2005-01-15 11:25
by dtpfactory
mh... keine ahnung,.... ich hab ein Update über YOU gemacht, danach ging mein CGI nicht mehr... Anscheinend wurden die suexec2 mit überschrieben und so...
Im Update waren Dateien wie "perfork" und ähnliches betroffen...
Da lass ich auf jeden Fall die Finger demnächst...
Wer ist den fuchsig genug, dass "gegen Entgeld" zu beheben?!
Ich hab "möchtegern" Kunden im Nacken, die mir langsam die Hölle heiß machen...
Danke!
Re: command not in docroot #500
Posted: 2005-01-15 15:17
by wgot
Hallo,
wird auch das neu compilierte suexec2 verwendet? Andere suexec2 suchen und löschen.
Primitivscript
Code: Select all
#!/usr/bin/perl
print "Content-type: text/htmlnnHallo!n";
hochladen, chmod 755 und starten.
Funktioniert das? Gibt's korrekten Eintrag in suexec.log?
Dann ist suexec ok und Du hast ein anderes Problem (sonstiges Update?).
DTPfactory wrote:Ich hab "möchtegern" Kunden im Nacken, die mir langsam die Hölle heiß machen...
Möchtegern
provider sind mir schon einige begegnet - aber was sind Möchtegern
kunden?
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-15 21:08
by dtpfactory
Möchtegernprovider sind mir schon einige begegnet - aber was sind Möchtegernkunden?
Schlagersänger, die meinen, dass Sie "Millionen" verlieren...
... Ich hab noch nie einen auf "Dicke" Hose gemacht, wenn ich nicht klar komme dann gebe ich das zu und sage es... so wie jetzt...
Ich für meinen Teil gebe nun auf und Installiere die Dose neu!
Dann gehts...
Re: command not in docroot #500
Posted: 2005-01-15 22:32
by wgot
DTPfactory wrote:Dann gehts...
... bis zum nächsten Update. :roll:
Re: command not in docroot #500
Posted: 2005-01-15 22:35
by dtpfactory
ich mag dann nicht mehr updaten... und wenn.. dann frag ich mal vorher was sinn macht - oder !?
Re: command not in docroot #500
Posted: 2005-01-15 22:47
by wgot
Hallo,
DTPfactory wrote:ich mag dann nicht mehr updaten
dann werden das früher oder später andere für Dich erledigen.
Die nehmen das aber dann nicht so genau und spielen schonmal ein komplettes WinXP auf einen Linuxserver. :oops:
... und wenn.. dann frag ich mal vorher was sinn macht
was vorher Sinn macht - ein Komplettbackup!
Was ist nu mit dem Suexec, willst Du wirklich aufgeben?
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-15 22:54
by dtpfactory
Naja... dass ich nun völlig auf ROOT gegangen bin ist mir neu... und ich muss aus fehlern lernen...
Aufgeben ist eigentlich nicht mein Ziel...
Hast Du denn noch ne Idee Wolfgang?!
Wie gesagt: ICQ 38591672 vielleicht ein kleines Quätschen.!?
Grüße Mirco...
Re: command not in docroot #500
Posted: 2005-01-15 23:07
by wgot
Hallo,
die hatte ich schon um 15:17 (sicherstellen daß auch das neue suexec verwendet wird und Miniscripttest).
ICQ - nein, danke.
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-15 23:19
by dtpfactory
Ok... hab eine /home/htdocs/web0/html/cgi-bin/test.cgi erstellt mit inhalt:
Code: Select all
#!/usr/bin/perl
print "Content-type: text/htmlnnHallo!n";
Owner & Group "web0" - Rechte ="755"
Aufruf der URL ergibt den Serverfehler:
Code: Select all
Fehler 500:
Die Anfrage kann nicht beantwortet werden, da im Server ein interner Fehler aufgetreten ist.
Fehlermeldung:
Premature end of script headers: test.cgi
die suexec2 sagt:
Code: Select all
-D AP_DOC_ROOT="/home/htdocs"
-D AP_GID_MIN=96
-D AP_HTTPD_USER="wwwrun"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=96
-D AP_USERDIR_SUFFIX="public_html"
Bringt Dich das wieder weiter!?
Grüße Mirco
Re: command not in docroot #500
Posted: 2005-01-15 23:36
by wgot
Hallo,
was steht in suexec.log?
Wurde die Datei ascii hochgeladen?
Läuft Apache unter wwwrun (sollte auf Suse sein)?
Und Du bist sicher, daß es nur eine suexec2 gibt?
Re: command not in docroot #500
Posted: 2005-01-15 23:49
by dtpfactory
-Wie kann ich herrausfinden ob der Apache2 auf wwwrun läuft?
-Die SuExec.log sagt:
Code: Select all
[2005-01-15 23:18:29]: too few arguments
-die dateien wurden auf dem rechner generiert und nicht hochgeladen...
-das text.cgi - natürlich im acii modus...
Und Du bist sicher, daß es nur eine suexec2 gibt
Code: Select all
locate suexec2 [enter]
/usr/sbin/suexec2
/usr/share/man/man8/suexec2.8.gz
/work/httpd-2.0.52/support/suexec2
Vielleicht noch den Apache2/error_log:
Code: Select all
[Sat Jan 15 23:15:10 2005] [error] [client 80.143.177.234] Premature end of script headers: test.cgi
[Sat Jan 15 23:15:10 2005] [error] [client 80.143.177.234] failed to open log file
[Sat Jan 15 23:15:10 2005] [error] [client 80.143.177.234] fopen: Permission denied
Re: command not in docroot #500
Posted: 2005-01-16 00:58
by wgot
Hallo,
DTPfactory wrote:-Wie kann ich herrausfinden ob der Apache2 auf wwwrun läuft?
top oder ps aux
/usr/sbin/suexec2
/work/httpd-2.0.52/support/suexec2
und die beiden sind identisch? Vorsichtshalber nochmal rüberkopieren und korrekte Rechte setzen und Apache neu starten:
Code: Select all
cp /work/httpd-2.0.52/support/suexec2 /usr/sbin
cd /usr/sbin
chmod 4755 suexec2
chown root:root suexec2
rcapache restart
Probier das mal aus, ich hab einfach den Eindruck, daß noch die falsche suexec2 läuft.
Gruß, Wolfgang
Re: command not in docroot #500
Posted: 2005-01-17 23:23
by dtpfactory
Lieber Wolfgang!
DU DARFST DICH WIRKLICH "WGOT(T)" NENNEN!
Danke!
Es klappt nun!!!
Wahrscheinlich hatte der Satz:
chmod 4755 suexec2
oder chown root:root suexec2
die Lösung!
Vielen Dank
Re: command not in docroot #500
Posted: 2008-01-29 09:47
by schettlu
Danke, wgot!
das hier war DER Hinweis für mein Problem :-D
.. bis zum nächsten Update. :roll:
=D>