Für Alle die die Lösung wissen wollen:
Habe mir den Quellcode von mod_fcgid mal genauer angesehen und
herausgefunden dass die Entwickler möchten, dass die Sockets IMMER unter
dem Hauptpfad von Apache liegen.
Das Startscript von Apache sucht aber nach "PidFile" in allen Dateien in
diesem Pfad um an die PidFile von Apache ranzukommen. Trifft dann das
grep im Startscript auf dieses Socket, spuckt uns das Programm den
Fehler aus - "No such device or address". Um das zu umgehen habe ich das
Startscript ein klein wenig editiert (dazu kam -s):
<snip>
# let's try to find the pid file
# apache2 allows more than PidFile entry in the config but only
# the last found in the config is used
for PFILE in `grep -s ^PidFile /etc/apache2/* -r | awk '{print $2}'`; do
if [ -e $PFILE ]; then
cat $PFILE
return 0
fi
done
</snip>
Danach funktionieren alle Aktionen ohne die bereits genannten
Fehlermeldungen. Man muss grep nur auf stumm schalten :-)
Gruß
Sven
RadiatioN schrieb:
Hallo allerseits,
folgendes Problem:
Ich habe Apache2 in einer fcgid Umgebung für PHP5 auf mehreren Servern
in Betrieb. Das ganze läuft seit Monaten wunderbar und wie gewünscht.
Ich verwalte meine Server mit einem freien Control Panel auf PHP5
Basis. Diese dazu gehörenden Cronjobs laden die Apache Config neu via
"/etc/init.d/apache2 relaod" ein. Nun spuckt mir aber jedes mal dieser
reload die selbe Meldung aus die ich einfach nicht zugeordnet
bekomme. Diese lauten wie folgt:
<snip>
....
grep: /etc/apache2/logs/fcgidsock/13702.1: No such device or address
grep: /etc/apache2/logs/fcgidsock/11309.7: No such device or address
grep: /etc/apache2/logs/fcgidsock/11309.6: No such device or address
grep: /etc/apache2/logs/fcgidsock/11309.0: No such device or address
grep: /etc/apache2/logs/fcgidsock/23147.1: No such device or address
grep: /etc/apache2/logs/fcgidsock/23147.3: No such device or address
....
</snip>
Da dieser reload im Cronjob abläuft werden diese Ausgaben mir als root
E-Mail zugestellt. Das müllt mein Postfach zu. Natürlich könnte ich
diese Mails generell unterdrücken und gleich löschen, aber eine
saubere Lösung ist das ja nicht - kommen einmal andere Fehler
dazwischen würden diese ja auch gelöscht werden. Übrigens kommen diese
Meldungen nicht nur im Cron, auch wenn ich Apache per Hand zum Config
neu einlesen lasse, anstarte, kommen diese Meldungen. Im laufenden
Betrieb liegen in diesem Verzeichnis korrekterweise die Sockets zur
Kommunikation.
Weiß jemand woher das kommt und wie ich das _sauber_ abstellen kann?
Wäre über Tipps und Ratschläge sehr froh!
Zum System (Debian Etch):
uname -r
Linux s2 2.6.18 #1 SMP Sun Feb 10 17:55:04 UTC 2008 x86_64 GNU/Linux
apache2 -v
Server version: Apache/2.2.3
Server built: Jan 27 2008 18:13:21
suexec -V
-D AP_DOC_ROOT="/var/www"
-D AP_GID_MIN=100
-D AP_HTTPD_USER="www-data"
-D AP_LOG_EXEC="/var/log/apache2/suexec.log"
-D AP_SAFE_PATH="/usr/local/bin:/usr/bin:/bin"
-D AP_UID_MIN=100
-D AP_USERDIR_SUFFIX="public_html"
php5-cgi -v
PHP 5.2.0-8+etch11 (cgi-fcgi) (built: May 10 2008 10:41:01)
Copyright (c) 1997-2006 The PHP Group
Zend Engine v2.2.0, Copyright (c) 1998-2006 Zend Technologies
with Suhosin v0.9.12, (C) Copyright 2006, by Hardened-PHP Project
PS: Sorry wenn ich hier gegen Mailist Regeln verstoßen sollte, das ist
meine erste Mail an eine solche...
Gruß
Sven
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------
--------------------------------------------------------------------------
Apache HTTP Server Mailing List "users-de"
unsubscribe-Anfragen an [EMAIL PROTECTED]
sonstige Anfragen an [EMAIL PROTECTED]
--------------------------------------------------------------------------