Page 1 of 1

CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 20:44
by bernard
Hallo !
bevor ich mein Problem beschreibe, möcht ich echt betonen dass ich das Forum durchsucht habe, viel ähnliches (und nützliches) gefunden habe, aber leider nix kapiere. Bevor ich deshalb eine qual. Frage stellen kann, würde ich Euch bitten mir einige Fragen zu beantworten. Sorry wenn es sich wiederholt ...

Ausgangssituation:
- 1&1 Suse Linux, Confixx 2.0 (im Feb 03 aufgespielt)
- nix dazuinstalliert
- Im Confixx ist CGI für Kunde web1 erlaubt und die Option CGI/Perl außerhalb cgi-bin" ist aktiviert.
- CHOWN (web1/ftponly) und CHMOD (755) passen

Ziel:
- Kunde web1 soll CGI's Scripte in jedem Verz. ausführen dürfen

Problem:
- Geht nicht
- Fehler: 500 internal server error: Premature end of script headers:

Fragen:
- Was ist SuExec ? Woher weiss ich ob ich das installiert hab und warum brauch ich das (nicht) ?
- Was soll ich noch tun ? Testen, probieren ?

Auszug aus aktueller vhost.conf (von Confixx generiert):

UseCanonicalName Off
LogFormat "%V:#:%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"" confixx
LogFormat "%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-agent}i"" confixx2
CustomLog |/root/confixx/pipelog.pl confixx
<Directory "/home/www">
<Files ~ "^.ht">
deny from all
</Files>
AllowOverride None
AllowOverride Indexes AuthConfig Limit FileInfo
Options None
Options -FollowSymLinks -SymLinksIfOwnerMatch +Includes
</Directory>

<Directory "/home/www/web1/html">
Options +ExecCGI +Indexes
</Directory>

<VirtualHost 217.XXX.XXX.XXX:80>
ServerName XXX.XX
ServerAlias XXXXX.XXXXXXX.XX
DocumentRoot /home/www/web1/html
User web1
Group ftponly
ScriptAlias /cgi-bin/ /home/www/web1/html/cgi-bin/
php_admin_value open_basedir /home/www/web1/
php_admin_value upload_tmp_dir /home/www/web1/phptmp/
</VirtualHost>

Für alle Tips bin ich Euch echt herzlich dankbar. Ich blicks nimmer und weiss nicht mehr weiter. :cry:

Gruss
Bernard

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 20:53
by jamesb
SuExec ist ein Programm, das die CGI-Scripte unter anderen Rechten als die des Apache ausführt, also z.B. "web1" (o.ä.).

Um dir weiterhelfen zu können, wären Auszüge aus den Logdateien sehr hilfreich:

/var/log/apache/suexec.log (oder suexec_log)
/var/log/apache/error.log (oder wieder error_log, wenn ich mich noch richtig an SuSE erinnern kann)

JamesB

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 21:00
by bernard
Suexec log:suexec.log [----] 0 L:[ 63+56 119/119] *(11719/11719b)= <EOF>
[2003-02-07 20:26:41]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
[2003-02-07 20:26:41]: error: command not in docroot (/home/www/web1/html/cgi-bin/test.pl)
[2003-02-07 20:27:58]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
[2003-02-07 20:27:58]: error: command not in docroot (/home/www/web1/html/cgi-bin/test.pl)
[2003-02-07 20:28:53]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
[2003-02-07 20:28:53]: error: command not in docroot (/home/www/web1/html/cgi-bin/test.pl)
[2003-02-07 20:40:37]: info: (target/actual) uid: (web1/web1) gid: (ftponly/ftponly) cmd: test.pl
[2003-02-07 20:40:37]: error: command not in docroot (/home/www/web1/html/cgi-bin/test.pl)

Error_log:
[Fri Feb 7 20:26:41 2003] [error] [client 80.145.64.63] Premature end of script headers: /home/www/web1/html/cgi-bin/test.pl
[Fri Feb 7 20:27:58 2003] [error] [client 80.145.64.63] Premature end of script headers: /home/www/web1/html/cgi-bin/test.pl
[Fri Feb 7 20:28:02 2003] [notice] SIGHUP received. Attempting to restart
[Fri Feb 7 20:28:03 2003] [notice] Apache/1.3.26 (Linux/SuSE) mod_ssl/2.8.10 OpenSSL/0.9.6g PHP/4.2.2 configured -- resuming normal operations
[Fri Feb 7 20:28:03 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Feb 7 20:28:03 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
[Fri Feb 7 20:28:53 2003] [error] [client 80.145.64.63] Premature end of script headers: /home/www/web1/html/cgi-bin/test.pl
[Fri Feb 7 20:36:01 2003] [notice] SIGHUP received. Attempting to restart
[Fri Feb 7 20:36:02 2003] [notice] Apache/1.3.26 (Linux/SuSE) mod_ssl/2.8.10 OpenSSL/0.9.6g PHP/4.2.2 configured -- resuming normal operations
[Fri Feb 7 20:36:02 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Fri Feb 7 20:36:02 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 21:01
by bernard
Im SuExec Log steht vorne der falsche User drin (ftponly/ftponly) anstatt (web1/ftponly) ... aber warum, weiß ich leider nicht.

- sorry hab mich verkuckt ... stimmt garnicht !

- was ist mit command gemeint !? also das script liegt definitiv in dem verzeichnis, hat den user (web1/ftponly) und die rechte 755

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 21:16
by jamesb
Das ist auch schon der Fehler:

[2003-02-07 20:26:41]: error: command not in docroot (/home/www/web1/html/cgi-bin/test.pl)

SuExec überprüft, ob sich dein CGI-Script innerhalb eines fest einkompilierten Document-Rootes befindet, was hier nicht der Fall ist. Im Downloadbereich gibt's extra für solche Fälle ein fertiges SuExec mit Docroot /home/www, das du einfach anstatt des Originalen einsetzen musst.


JamesB

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-07 22:09
by bernard
Leider gehts noch nicht:

Ich habe eine Sicherungskopie vom SuExec gemacht und das neue entpackt.

Dateiinfos:

/usr/sbin/suexec

Datum: 1 Jul 2002
User/Gruppe: (root/root)
Chmod: 755

Der Fehler ist der selbe allerdings wird das suexec.log nicht mehr geschrieben ? Ich hab den ganzen Server gebootet, nicht nur Apache Restart. Hab ich noch was falsch gemacht ? Hast Du noch einen Tip ?

Danke !
Bernard

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 00:29
by jamesb
Mach mal noch ein "chmod +s /usr/bin/suexec".

JamesB

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 10:05
by bernard
Geht leider immer noch nicht. Suexec kann irgendwelchen Libraries nicht (mehr) finden.

[Sat Feb 8 10:00:02 2003] [notice] caught SIGTERM, shutting down
[Sat Feb 8 10:00:10 2003] [notice] Apache/1.3.26 (Linux/SuSE) mod_ssl/2.8.10 OpenSSL/0.9.6g PHP/4.2.2 configured -- resuming normal operation
[Sat Feb 8 10:00:10 2003] [notice] suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Sat Feb 8 10:00:10 2003] [notice] Accept mutex: sysvsem (Default: sysvsem)
/usr/sbin/suexec: error while loading shared libraries: libexpat.so.1: cannot open shared object file: No such file or directory
[Sat Feb 8 10:00:29 2003] [error] [client 80.145.69.61] Premature end of script headers: /home/www/web1/html/cgi-bin/test.pl

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 15:51
by bernard
James hast Du noch eine Idee ? :)

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 16:33
by sascha
Ich hab eine

Code: Select all

ln -s /usr/lib/libexpat.so.1.2 libexpat.so.1
:wink:

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 18:29
by bernard
Hi Sascha !

die Fehlermeldung bleibt die selbe. Ich habe den Befehl im /usr/bin Verzeichnis ausgeführt. Dort gibt es allerdings keine libexpat.so.1.2, auf die ich einen SymLink erstellen könnte.

Ich habe nur die hier:
p15110922:/var/log/httpd # locate "libexpat.so"
/usr/lib/libexpat.so
/usr/lib/libexpat.so.0
/usr/lib/libexpat.so.0.3.0
Was kann ich noch tun ??? :cry: :cry: :cry:

Langsam ist das echt zum verzweifeln ...

Gruss
Bernard

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 18:44
by sascha
Hm hast du zufällig SuSE 8.1? Da solltest du das SuExec aus dem Download Bereich nicht verwenden. 1&1 stellt auf dem Updateserver spezielle Apache Pakete bereit. Du hast vermutlich ein Online Update gemacht und dadurch wurde dein Apache (und SuEXEC) durch die SuSE Version mit Doc Root /srv/www ersetzt.

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 18:48
by bernard
Ich hab zwar 8.1 aber hab nie ein Online Update gemacht. Kannst Du mir bitte noch sagen wo die speziellen Pakete liegen und wo sie hin sollen damit ich das auf die Reihe bekomme ?

Das wär echt nett, vielen Dank !

Gruss
Bernard

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 19:06
by sascha
Etwas Eigeninitiative bitte ;)

Die Pakete liegen auf dem Updateserver im Verzeichnis /local-updates/suse-8.1

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 19:29
by bernard
Na ja ganz so leicht isses nicht. Ich hab ziemlich Respekt vor meinem lauffähigen Server :D

Ich hab mal in den Verzeichnissen gestöbert. in suse/8.1/suse finde ich ein apache1.26 rpm. Aber ein rpm installiert sich doch automatisch ? Damit mach ich mir doch meine Installation kaputt, oder nicht ?

Ok ich informier mich mal nebenher wie es mit Updates aussieht. :D

Danke

Re: CGI Grundsatzfragen - Newbie und nix läuft

Posted: 2003-02-08 19:49
by bernard
Eigeninitiative und richtig lesen zahlt sich echt aus !! :D

DANKE LEUTE !!! Das Update hat's schliesslich gebracht !!!