CGI Grundsatzfragen - Newbie und nix läuft

Apache, Lighttpd, nginx, Cherokee
Post Reply
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

CGI Grundsatzfragen - Newbie und nix läuft

Post 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
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe
Contact:
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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)
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe
Contact:
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
jamesb
Posts: 661
Joined: 2002-05-08 15:35
Location: Karlsruhe
Contact:
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post by jamesb »

Mach mal noch ein "chmod +s /usr/bin/suexec".

JamesB
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post by bernard »

James hast Du noch eine Idee ? :)
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post by sascha »

Ich hab eine

Code: Select all

ln -s /usr/lib/libexpat.so.1.2 libexpat.so.1
:wink:
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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.
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
sascha
Posts: 1325
Joined: 2002-04-22 23:08
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post by sascha »

Etwas Eigeninitiative bitte ;)

Die Pakete liegen auf dem Updateserver im Verzeichnis /local-updates/suse-8.1
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post 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
bernard
Posts: 45
Joined: 2002-12-24 18:52
 

Re: CGI Grundsatzfragen - Newbie und nix läuft

Post by bernard »

Eigeninitiative und richtig lesen zahlt sich echt aus !! :D

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