Auf einmal laufen auf deinem Server keine CGI und/oder auch andere Scripts mehr. Im Browser kriegst du "Error 500" Meldungen.
Im Error-Log deines Apache Servers ist was wie "Premature end of script headers: <dein Script> ...
Im suexec.log ist etwas ähnliches wie hier:
[2005-11-23 20:58:36]: uid: (639/web3) gid: (102/102) cmd: enquiry.pl
[2005-11-23 20:58:36]: command not in docroot (/home/htdocs/web3/html/cgi-bin/enquiry.pl)
Der Grund dafür?
1. Du hast YOU (Yast Online Update) benutzt um deinem Server die letzten Updates zu verpassen. Hierbei wurde leider suexec durch eine neue Version ersetzt, welche die falschen Einstellungen hat.
ODER
2. Na ja, irgendwie wirst du's schon verbockt haben oder?
------
So, als allererstes machen wir folgendes, damit wir uns auch sicher sind das das Problem bei suexec liegt:
Code: Select all
/usr/sbin/suexec2 -VCode: Select all
locate suexec-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"
Stimmt der DOC_ROOT auch wirklich? Liegen in diesem Verzeichness und in dessen Unterverzeichnissen die scripts/html/etc deiner Website?
Stimmt der HTTPD_USER?
Wahrscheinlich nicht, sonst würdest du o.g. Fehler auch nicht haben.
------
SO KOMPILIERST DU SUEXEC NEU
------
1. Feststellen welche Version des Apache Servers du hast
Code: Select all
/usr/sbin/httpd2 -VCode: Select all
locate httpdhttp://httpd.apache.org/download.cgi
Ã?ltere Versionen gibt es hier - http://archive.apache.org/dist/httpd/
Code: Select all
lynx http://httpd.apache.org/download.cgiCode: Select all
wget http://direkter.link.zum.tar.gz.downloadCode: Select all
tar -xvzf httpd-x.x.x.tar.gzCode: Select all
cd httpd-x.x.xCode: Select all
vim config.layoutDu musst für diesen Schritt wissen wo normalerweise deine suexec.log ist. Also benutze falls nötig erst "locate suexec". Merke dir den Pfad.
Unter <Layout Apache>:
"logfiledir" in den Pfad deiner suexec.log umändern, z.B:
Statt "${localstatedir}/logs" machst du "/var/log/apache2"
Alles speichern und raus.
5. Configure und make
Code: Select all
./configureCode: Select all
makeWarten...
6. suexec Parameter festlegen
Code: Select all
cd supportCode: Select all
vim suexec.h#define AP_HTTPD_USER "www" - Statt "www" deinen httpd-User eintragen. z.B. "wwwrun".
#define AP_UID_MIN 100 - Wenn du nicht weißt was hier hin soll dann lass es so. Das gleiche gilt für:
#define AP_GID_MIN 100
#define AP_LOG_EXEC DEFAULT_EXP_LOGFILEDIR "/suexec_log" /* Need me? */ - Statt "/suexec_log" den Namen deiner suexec Log eintragen. z.B. "/suexec.log"
Wenn du Schritt 4 verpatzt hast dann bringt dir diese Einstellung nichts, da der Pfad dort festgelegt wird. Selbst wenn du hier das DEFAULT_EXP_LOGFILEDIR entfernst, kannst du hier nur den Namen der Log festlegen.
#define AP_DOC_ROOT DEFAULT_EXP_HTDOCSDIR - Statt DEFAULT_EXP_HTDOCSDIR deinen "docroot" hier eintragen. z.B. "/home/htdocs".
Alles speichern und raus.
7. Die letzten schritte
Code: Select all
make suexecCode: Select all
chmod 4755 suexecCode: Select all
cp suexec /usr/sbin/suexec2Apache neu starten:
Code: Select all
rcapache2 restartHat alles geklappt?
Code: Select all
/usr/sbin/suexec2 -VWenn nicht versuch's mal mit diesem (ähnlichen) howto:
http://www.serversupportforum.de/forum/ ... ieren.html