PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Probleme mit CGI und qmailadmin



Healthmaster
23.08.05, 19:15
Hallo miteinander,

ich hab ein kleines Problem ;)
Beim versuch qmailadmin über http://localhost/cgi-bin/qmailadmin zu öffnen bekomm ich den "internal Server Fehler 500". Im error_log steht folgendes:

[Tue Aug 24 19:10:38 2005] [error] [client 192.168.0.1] Premature end of script headers: qmailadmin

Der Pfad in der printenv im cgi-bin Verzeichniss ist korrekt. Die test-cgi konnte ich nach rumspielen an der Rechtevergabe öffnen. Ich hab gelesen das es ev. was mit Zeilenumbrüchen in der qmailadmin-File zu tun haben kann, ich hab die Datei aber nicht angerührt.

Was könnte das denn nur sein? Danke schonmal im vorraus.

System: SuSE 9.2 / Apache2 / PHP 5.04 / SqWebMail 5.03 / qmailadmin 1.2.8

Tomek
23.08.05, 19:16
Sollte dir helfen:
http://httpd.apache.org/docs/2.0/howto/cgi.html

Healthmaster
23.08.05, 19:40
Danke für die schnelle Antwort.
Das hab ich mir aber schonmal durchgelesen :(
Bringt mich leider nicht wirklich weiter. Andere Skripte funktionieren ja, nur qmailadmin nicht. Ich poste euch einfach mal meine httpd.conf ;)


erverRoot "/var/apache"
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
</IfModule>
</IfModule>
<IfModule !mpm_netware.c>
<IfModule !perchild.c>
</IfModule>
</IfModule>
<IfModule !mpm_netware.c>
PidFile logs/httpd.pid
</IfModule>
Timeout 300
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 15
<IfModule prefork.c>
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxClients 150
MaxRequestsPerChild 0
</IfModule>
<IfModule worker.c>
StartServers 2
MaxClients 150
MinSpareThreads 25
MaxSpareThreads 75
ThreadsPerChild 25
MaxRequestsPerChild 0
</IfModule>
<IfModule perchild.c>
NumServers 5
StartThreads 5
MinSpareThreads 5
MaxSpareThreads 10
MaxThreadsPerChild 20
MaxRequestsPerChild 0
</IfModule>
<IfModule mpm_winnt.c>
ThreadsPerChild 250
MaxRequestsPerChild 0
</IfModule>
<IfModule beos.c>
StartThreads 10
MaxClients 50
MaxRequestsPerThread 10000
</IfModule>
<IfModule mpm_netware.c>
ThreadStackSize 65536
StartThreads 250
MinSpareThreads 25
MaxSpareThreads 250
MaxThreads 1000
MaxRequestsPerChild 0
MaxMemFree 100
</IfModule>
<IfModule mpmt_os2.c>
StartServers 2
MinSpareThreads 5
MaxSpareThreads 10
MaxRequestsPerChild 0
</IfModule>
Listen 80
LoadModule php5_module modules/libphp5.so
AddType application/x-httpd-php .php
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
User nobody
Group #-1
ServerAdmin info@bla.de
UseCanonicalName Off
DocumentRoot "/var/apache/htdocs/"
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory "/var/apache/htdocs">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
UserDir public_html
DirectoryIndex index.html index.html.var index.php
AccessFileName .htaccess
<Files ~ "^\.ht">
Order allow,deny
Deny from all
</Files>
TypesConfig conf/mime.types
DefaultType text/plain
<IfModule mod_mime_magic.c>
MIMEMagicFile conf/magic
</IfModule>
HostnameLookups Off
ErrorLog logs/error_log
LogLevel warn
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
LogFormat "%h %l %u %t \"%r\" %>s %b" common
LogFormat "%{Referer}i -> %U" referer
LogFormat "%{User-agent}i" agent
CustomLog logs/access_log common
ServerTokens Full
ServerSignature On
Alias /icons/ "/var/apache/icons/"
<Directory "/var/apache/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
AliasMatch ^/manual(?:/(?:de|en|es|fr|ja|ko|ru))?(/.*)?$ "/var/apache/manual$1"
<Directory "/var/apache/manual">
Options Indexes
AllowOverride None
Order allow,deny
Allow from all
<Files *.html>
SetHandler type-map
</Files>
SetEnvIf Request_URI ^/manual/(de|en|es|fr|ja|ko|ru)/ prefer-language=$1
RedirectMatch 301 ^/manual(?:/(de|en|es|fr|ja|ko|ru)){2,}(/.*)?$ /manual/$1$2
</Directory>
ScriptAlias /cgi-bin/ "/var/apache/cgi-bin/"
<IfModule mod_cgid.c>
</IfModule>
<Directory "/var/apache/cgi-bin">
AllowOverride None
Options None
Order allow,deny
Allow from all
</Directory>
IndexOptions FancyIndexing VersionSort
AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip
AddIconByType (TXT,/icons/text.gif) text/*
AddIconByType (IMG,/icons/image2.gif) image/*
AddIconByType (SND,/icons/sound2.gif) audio/*
AddIconByType (VID,/icons/movie.gif) video/*
AddIcon /icons/binary.gif .bin .exe
AddIcon /icons/binhex.gif .hqx
AddIcon /icons/tar.gif .tar
AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv
AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip
AddIcon /icons/a.gif .ps .ai .eps
AddIcon /icons/layout.gif .html .shtml .htm .pdf
AddIcon /icons/text.gif .txt
AddIcon /icons/c.gif .c
AddIcon /icons/p.gif .pl .py
AddIcon /icons/f.gif .for
AddIcon /icons/dvi.gif .dvi
AddIcon /icons/uuencoded.gif .uu
AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl
AddIcon /icons/tex.gif .tex
AddIcon /icons/bomb.gif core
AddIcon /icons/back.gif ..
AddIcon /icons/hand.right.gif README
AddIcon /icons/folder.gif ^^DIRECTORY^^
AddIcon /icons/blank.gif ^^BLANKICON^^
DefaultIcon /icons/unknown.gif
ReadmeName README.html
HeaderName HEADER.html
IndexIgnore .??* *~ *# HEADER* README* RCS CVS *,v *,t
AddLanguage ca .ca
AddLanguage cs .cz .cs
AddLanguage da .dk
AddLanguage de .de
AddLanguage el .el
AddLanguage en .en
AddLanguage eo .eo
AddLanguage es .es
AddLanguage et .et
AddLanguage fr .fr
AddLanguage he .he
AddLanguage hr .hr
AddLanguage it .it
AddLanguage ja .ja
AddLanguage ko .ko
AddLanguage ltz .ltz
AddLanguage nl .nl
AddLanguage nn .nn
AddLanguage no .no
AddLanguage pl .po
AddLanguage pt .pt
AddLanguage pt-BR .pt-br
AddLanguage ru .ru
AddLanguage sv .sv
AddLanguage zh-CN .zh-cn
AddLanguage zh-TW .zh-tw
LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW
ForceLanguagePriority Prefer Fallback
AddCharset ISO-8859-1 .iso8859-1 .latin1
AddCharset ISO-8859-2 .iso8859-2 .latin2 .cen
AddCharset ISO-8859-3 .iso8859-3 .latin3
AddCharset ISO-8859-4 .iso8859-4 .latin4
AddCharset ISO-8859-5 .iso8859-5 .latin5 .cyr .iso-ru
AddCharset ISO-8859-6 .iso8859-6 .latin6 .arb
AddCharset ISO-8859-7 .iso8859-7 .latin7 .grk
AddCharset ISO-8859-8 .iso8859-8 .latin8 .heb
AddCharset ISO-8859-9 .iso8859-9 .latin9 .trk
AddCharset ISO-2022-JP .iso2022-jp .jis
AddCharset ISO-2022-KR .iso2022-kr .kis
AddCharset ISO-2022-CN .iso2022-cn .cis
AddCharset Big5 .Big5 .big5
AddCharset WINDOWS-1251 .cp-1251 .win-1251
AddCharset CP866 .cp866
AddCharset KOI8-r .koi8-r .koi8-ru
AddCharset KOI8-ru .koi8-uk .ua
AddCharset ISO-10646-UCS-2 .ucs2
AddCharset ISO-10646-UCS-4 .ucs4
AddCharset UTF-8 .utf8
AddCharset GB2312 .gb2312 .gb
AddCharset utf-7 .utf7
AddCharset utf-8 .utf8
AddCharset big5 .big5 .b5
AddCharset EUC-TW .euc-tw
AddCharset EUC-JP .euc-jp
AddCharset EUC-KR .euc-kr
AddCharset shift_jis .sjis
AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz
AddHandler cgi-script .cgi .pl
<Directory /var/apache/htdocs/>
Options +ExecCGI
</Directory>
AddHandler type-map var
BrowserMatch "Mozilla/2" nokeepalive
BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0
BrowserMatch "RealPlayer 4\.0" force-response-1.0
BrowserMatch "Java/1\.0" force-response-1.0
BrowserMatch "JDK/1\.0" force-response-1.0
BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully
BrowserMatch "^WebDrive" redirect-carefully
BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully
BrowserMatch "^gnome-vfs" redirect-carefully
<IfModule mod_ssl.c>
Include conf/ssl.conf
</IfModule>
NameVirtualHost *
<VirtualHost *>
ServerAdmin info@localhost
ServerName www.localhost.de
ScriptAlias /cgi-bin/ "/var/apache/cgi-bin/"
DocumentRoot /var/apache/htdocs/localhost
ErrorLog logs/localhost-error_log
CustomLog logs/localhost-access_log common
</VirtualHost>

[WCM]Manx
23.08.05, 19:50
http://sylvestre.ledru.info/howto/howto_qmail_vpopmail.php
If you get an error like : [Tue Aug 10 18:10:23 2004] [error] [client xx.xx.xx.xx] Premature end of script headers: /var/www/cgi-bin/qmailadmin in the apache error logfile, it should be linked with your apache configuration. I met some problems with suexec which was enabled : comment the User/Group lines should be enough (Thanks Julien Lefevre).

Grüße

Manx

PS: HTH

Tomek
23.08.05, 19:59
Healthmaster: Würdest du bitte lesen, wie man hier richtig postet (http://www.linuxforen.de/forums/showthread.php?t=164474) und deinen Beitrag entsprechend anpassen? Danke.

Healthmaster
23.08.05, 20:30
@Tomek: Sorry :rolleyes:

Also ich bin glaub zu doof dafür :ugly:
Sobald ich diese
User nobody
Group #-1
zwei Zeilen kommentiere startet mein Apache nicht mehr.

/var/apache/bin/apachectl start
/var/apache/bin/apachectl stop
httpd (pid 20689?) not running

Was mach ich falsch?

[WCM]Manx
23.08.05, 20:43
Hi!

1.) Tomek meinte Du sollst Dein Posting editieren und die httpd.conf zwischen
.. tags setzen.

2.) Du sollst auch nicht User und Group kommentieren unter denen der Apache läuft, das betrifft suexec!
Gibt's bei dir ein suexec.log?

Grüße

Manx

Healthmaster
23.08.05, 20:52
Jetzt hab ich zumindest mal das mit dem Code gerafft :)

Bei mir gibts die Datei suexec.log nicht. Das einzigste was ich über suexec finde steht in den manuals vom apache.
Und ich muss gestehen das mir suexec gar nichts sagt.

[WCM]Manx
23.08.05, 21:05
Hi!

Mach mal:


root@gateway:/# updatedb
root@gateway:/# locate suexec

Manx

Healthmaster
23.08.05, 21:10
Danke für deine Gedult.

srv-linux:~ # updatedb
bash: updatedb: command not found
srv-linux:~ # locate suexec
bash: locate: command not found

[WCM]Manx
23.08.05, 21:23
:) dann


root@gateway:~# find / -name suexec*
/etc/apache2/mods-available/suexec.load
/usr/share/man/man8/suexec2.8.gz
/usr/lib/apache2/suexec2
root@gateway:~#

Ein Auszug aus den Apache-Logs nach Aufruf des Scripts könnt auch nicht schaden.

Grüße

Manx

Healthmaster
23.08.05, 21:41
Besitze leider kein "mods-available" Verzeichniss oder eine suexec2 Datei, oder ich kann dir nicht ganz folgen.
Kann es sein das ich den Apache neu bauen muss mit der option suexec?

Also das wird gefunden.



srv-linux:/etc # find / -name suexec*
/var/apache/man/man8/suexec.8
/var/apache/manual/suexec.html.ja.euc-jp
/var/apache/manual/suexec.xml.meta
/var/apache/manual/suexec.xml
/var/apache/manual/suexec.xml.ja
/var/apache/manual/suexec.xml.ko
/var/apache/manual/programs/suexec.xml.meta
/var/apache/manual/programs/suexec.xml
/var/apache/manual/programs/suexec.xml.ko
/var/apache/manual/programs/suexec.html.en
/var/apache/manual/programs/suexec.html
/var/apache/manual/programs/suexec.html.ko.euc-kr
/var/apache/manual/suexec.html.en
/var/apache/manual/suexec.html
/var/apache/manual/suexec.html.ko.euc-kr
/usr/local/src/httpd-2.0.54/docs/man/suexec.8
/usr/local/src/httpd-2.0.54/docs/manual/suexec.html.ja.euc-jp
/usr/local/src/httpd-2.0.54/docs/manual/suexec.xml.meta
/usr/local/src/httpd-2.0.54/docs/manual/suexec.xml
/usr/local/src/httpd-2.0.54/docs/manual/suexec.xml.ja
/usr/local/src/httpd-2.0.54/docs/manual/suexec.xml.ko
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.xml.meta
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.xml
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.xml.ko
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.html.en
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.html
/usr/local/src/httpd-2.0.54/docs/manual/programs/suexec.html.ko.euc-kr
/usr/local/src/httpd-2.0.54/docs/manual/suexec.html.en
/usr/local/src/httpd-2.0.54/docs/manual/suexec.html
/usr/local/src/httpd-2.0.54/docs/manual/suexec.html.ko.euc-kr
/usr/local/src/httpd-2.0.54/support/suexec.c
/usr/local/src/httpd-2.0.54/support/suexec.h
find: /proc/10309/task: No such file or directory
find: . changed during execution of find
srv-linux:/etc #

derRichard
23.08.05, 21:55
hallo!

das problem hatte ich auch.
es ist ein bug in qmailadmin, da stimmt was mit der erkennung vom charset nicht.
qmailadmin crasht immer im apache, darum der fehler "http 500".
ich hab einen patch geschrieben.
aber achtung, er erzwingt das charset "iso-8859-15"...

hth,
//richard

Healthmaster
23.08.05, 22:08
ES FUNKTIONIERT
Ich hab wirklich Tagelang das Internet durchstöbert und nichts gefunden. Hab mir sogar farnzösiche Seiten übersetzen lassen. Ich wusste einfach nicht woran es liegen könnte. Vielen vielen Dank.

derRichard
23.08.05, 22:10
ES FUNKTIONIERT
Ich hab wirklich Tagelang das Internet durchstöbert und nichts gefunden. Hab mir sogar farnzösiche Seiten übersetzen lassen. Ich wusste einfach nicht woran es liegen könnte. Vielen vielen Dank.
hallo!

ich hab auch lang gesucht, zum schluss hab ich dann den gdb im batchmodus direkt im apache laufen lassen und so qmailadmin debuggt.
so hab ich den bug gefunden und halt schnell gefixt.

selbst ist der hacker. ;)
//richard