pl. & command not in docroot

Apache, Lighttpd, nginx, Cherokee
tsaenger
Posts: 414
Joined: 2003-08-13 01:14

pl. & command not in docroot

Post by tsaenger » 2008-03-15 14:30

Hallo

ich habe Probleme mit meinem Perl auf meinem Server.
Ich setze derzeit noch Debian3.1 sarge ein.
Wenn ich nun versuche im cgi-bin auf eine pl zuzugreifen, bekomme ich im suexec2-log diese meldung:

Code: Select all

[2008-03-15 14:18:50]: uid: (683/web8) gid: (683/683) cmd: tsc.pl
[2008-03-15 14:18:50]: command not in docroot (/home/htdocs/web8/html/cgi-bin/tsc.pl)

Die Dateiberechtigung sieht so aus:

Code: Select all

-rwxr-xr-x  1 web8 web8 119 2008-03-15 14:18 tsc.pl


Ein suexec2 -V ergab:

Code: Select all

-D AP_DOC_ROOT="/home/htdocs"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/usr/local/apache2/logs/suexec_log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="public_html"


Ich versehe nich ganz wieso das nicht im docroot liegen soll.

Kann mir bitte jemand von euch dabei helfen?

Vielen Dank

Tobias

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: pl. & command not in docroot

Post by Joe User » 2008-03-15 17:44

suexec will /home/htdocs/user/public_html und Du hast /home/htdocs/user/html
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 10:41

Hallo,

vielen Dank für deinen Hinweis.
Nun wollte ich mir den suexec2 neu kompilieren.
Dazu habe ich mir die passenden SRC des Apaches geladen.
Ein ./configure durchgeführt und dann im Support-Ordner die Datei "suexec.h" nach meinen wünschen editiert.
Als ich nun diesen mit "make suexec" erstellen wollte, bekam ich folgende Meldung:

Code: Select all

In file included from suexec.c:35:
suexec.h:97:21: missing terminating " character
make: *** [suexec.lo] Fehler 1

Kannst du mir sagen, wo da mein Fehler liegt/ was ich falsch gemacht habe?

Gruß und vielen Dank

Tobias

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 10:52

Hi,

habe meine Fehler gefunden. Hatte ein " vergessen.

Nun konnte ich es kompilieren.

mein suexec -V sieht nun so aus:

Code: Select all

 -D AP_DOC_ROOT="/home/htdocs"
 -D AP_GID_MIN=100
 -D AP_HTTPD_USER="www-data"
 -D AP_LOG_EXEC="/usr/local/apache2/logs/suexec_log"
 -D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
 -D AP_UID_MIN=100
 -D AP_USERDIR_SUFFIX="html"

Nur leider bekomme ich noch immer die selbe Fehlermeldung beim ausführen:

Code: Select all

[2008-03-16 10:44:09]: uid: (683/web8) gid: (683/683) cmd: tsc.pl
[2008-03-16 10:44:09]: command not in docroot (/home/htdocs/web8/html/cgi-bin/tsc.pl)

Woran könnte es noch liegen? Jemand ne Idee?

Gruß

Tobias

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: pl. & command not in docroot

Post by Roger Wilco » 2008-03-16 11:46

Ist /home/htdocs/web8/html/cgi-bin ein Symlink auf ein anderes Verzeichnis oder /home/htdocs/web8/html/cgi-bin/tsc.pl ein Symlink auf eine andere Datei? Hast du /cgi-bin als Alias im Apache eingerichtet?

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 11:54

Hallo,

also meines wissens ist es kein Symlink:

Code: Select all

:/home/htdocs/web8/html# ls -lah
insgesamt 40K
drwxr-xr-x   6 web8 www-data 4,0K 2008-03-15 14:31 .
drwxr-xr-x  10 root root     4,0K 2008-01-09 10:12 ..
drwxr-xr-x   3 web8 web8     4,0K 2008-03-16 10:58 cgi-bin

im CGI-Bin befindet sich die angegebene Datei.

Zum Alias:

Code: Select all

<VirtualHost ip:80>
  ServerName web8.xx.de
  DocumentRoot /home/htdocs/web8/html
  SuexecUserGroup web8 web8
  ScriptAlias /cgi-bin/ /home/htdocs/web8/html/cgi-bin/
  suPHP_ConfigPath /etc/apache2/confixx_phpini/web8
</VirtualHost>

Gruß

Tobias

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: pl. & command not in docroot

Post by Joe User » 2008-03-16 12:50

Der ScriptAlias ist überflüssig...
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: pl. & command not in docroot

Post by oxygen » 2008-03-16 14:05

Wie sieht denn das Script aus? Verweißt vielleicht die Shebang Zeile auf einem falschen Pfad?

Roger Wilco
Administrator
Administrator
Posts: 5924
Joined: 2004-05-23 12:53

Re: pl. & command not in docroot

Post by Roger Wilco » 2008-03-16 14:11

oxygen wrote:Wie sieht denn das Script aus? Verweißt vielleicht die Shebang Zeile auf einem falschen Pfad?

Das dürfte SuExec nicht interessieren.

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 14:19

Hallo,

Die "Shebang Zeile" habe ich schon varriert. Das hat wie von Roger Wilco geschrieben nichts an der Fehlermeldung geändert.
Der Script-Alias ist standardmäßig bei jedem User der CGI/pl ausführen darf automatisch gesetzt.

Noch jemand ne Idee?

Gruß und Danke

Tobias

User avatar
Joe User
Project Manager
Project Manager
Posts: 11139
Joined: 2003-02-27 01:00
Location: Hamburg

Re: pl. & command not in docroot

Post by Joe User » 2008-03-16 15:52

Werden im Script Binaries aufgerufen die nicht im Docroot liegen?
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 15:57

Hi,

Nein.
Das Script sieht so aus:

Code: Select all

#!/usr/bin/perl

# hello.pl -- my first perl script!

print "Content-type: text/htmlnn";

print "Hello, world!n";


Gruß

Tobias

wgot
Posts: 1675
Joined: 2003-07-06 02:03

Re: pl. & command not in docroot

Post by wgot » 2008-03-16 16:42

Hallo,

sind mehrere suexec bzw suexec2 auf dem Server? Wird vom Apachen auch das gleiche verwendet wie bei Konsolenaufruf?

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 16:53

Hallo,

ich habe tatsächlich 2 suexec2 Versionen finden können:
h1081716:/home/admin# find / -name suexec2
/usr/lib/apache2/suexec2
/usr/sbin/suexec2

ich habe nun mal die neu erstellte von usr/sbin auch noch usr/lib/apache2/ kopiert.

Nun erhalte ich in suexec.log keine Meldung mehr.
In error.log steht allerdings:

Code: Select all

[Sun Mar 16 16:44:33 2008] [error] [client 79.211.140.164] failed to open log file
[Sun Mar 16 16:44:33 2008] [error] [client 79.211.140.164] fopen: No such file or directory
[Sun Mar 16 16:44:33 2008] [error] [client 79.211.140.164] Premature end of script headers: tsc.pl

Laut apache2 liegt auch suexec2 im lib-verz:

Code: Select all

:/usr/lib/apache2# apache2ctl -V
Server version: Apache/2.0.54
Server built:   Aug 16 2007 18:44:42
Server's Module Magic Number: 20020903:9
Architecture:   32-bit
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_HAVE_IPV6 (IPv4-mapped addresses enabled)
 -D APR_USE_SYSVSEM_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D HTTPD_ROOT=""
 -D SUEXEC_BIN="/usr/lib/apache2/suexec2"
 -D DEFAULT_PIDLOG="/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="/etc/apache2/mime.types"
 -D SERVER_CONFIG_FILE="/etc/apache2/apache2.conf"


Gruß
Tobias

tsaenger
Posts: 414
Joined: 2003-08-13 01:14

Re: pl. & command not in docroot

Post by tsaenger » 2008-03-16 17:03

Hallo,

Vielen Dank für eure Hilfen.
Ich habe nun mein letzes Problem auch gelöst.
Der Fehler des fopens lag an nem falschen log-File Pfad.
Habe diesen korrigiert und nun funktioniert es auch alles.

Vielen Dank nochmals

Gruß

Tobias