Hi,
vielen Dank für eure Antworten. Hier nun die gewünschten Informationen.
Ich habe das strace Log als Textdatei anbeigefügt, hier die letzten Zeilen:
Code: Select all
rt_sigaction(SIGINT, {0x8075fa0, [], 0}, {SIG_DFL}, 8) = 0
waitpid(-1, 0xbffff678, 0) = ? ERESTARTSYS (To be restarted)
--- SIGWINCH (Window changed) @ 0 (0) ---
waitpid(-1,
Hier bleibt der Server dann rund 15 Minuten stehen, bis folgendes kommt:
Code: Select all
[{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 23369
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
--- SIGCHLD (Child exited) @ 0 (0) ---
waitpid(-1, 0xbffff2e4, WNOHANG) = -1 ECHILD (No child processes)
sigreturn() = ? (mask now [])
rt_sigaction(SIGINT, {SIG_DFL}, {0x8075fa0, [], 0}, 8) = 0
write(1, ".n", 2.
) = 2
rt_sigprocmask(SIG_BLOCK, NULL, [], 8) = 0
read(255, "", 3583) = 0
exit_group(0)
Während des Wartens sehe ich folgende Prozesse:
Code: Select all
~# ps ajx | grep apache2
23260 23367 23367 23260 pts/0 23367 S+ 0 0:00 strace /etc/init.d/apache2 start
23367 23368 23367 23260 pts/0 23367 S+ 0 0:00 /bin/sh -e /etc/init.d/apache2 start
23368 23369 23367 23260 pts/0 23367 S+ 0 0:00 /bin/sh /usr/sbin/apache2ctl startssl
23369 23371 23367 23260 pts/0 23367 S+ 0 0:00 /usr/sbin/apache2 -k start -DSSL
Jetzt nach dem Start sehe ich nur:
Code: Select all
~# ps ajx | grep apache2
1 23512 23512 23512 ? -1 Ss 0 0:00 /usr/sbin/apache2 -k start -DSSL
Und der Apache entwortet erstmal auf keine Anfragen - belegt aber trotzdem Port 80.
Dann... 2-3 Minuten später ohne Interaktion liefert er auch Seiten aus und ich bekomme folgende Prozesse gelistet:
Code: Select all
~# ps ajx | grep apache
1 23512 23512 23512 ? -1 Ss 0 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23720 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23721 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23722 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23723 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23724 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23725 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23732 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23733 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23735 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23736 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23737 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23740 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23741 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23742 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23743 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23744 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23746 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23747 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23748 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23749 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23750 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23751 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23752 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23753 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23754 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23755 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23756 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23757 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23758 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
23512 23759 23512 23512 ? -1 S 33 0:00 /usr/sbin/apache2 -k start -DSSL
Es liegt auch nicht an mod_ssl und fehlender Entropie - ich habe mod_ssl auf diesem Server deaktiviert.
Das error.log schreibt leider gar nichts - trotz LogLevel debug.
Selbst wenn ich apache2 direkt mit den Optionen -X -e debug aufrufe, sehe ich nur den trace der Module und dann wartet der Server wieder.
Ist also identisch zum strace Log.
Soweit ich weiss werden doch nach dem Laden der Module die vHosts eingelesen - leider bekomme ich da nur keine genauen Debug Informationen.
Wünschenswert wäre ja etwas wie (Reading Configuration for vHost x, resolving domainname etc.) - aber das gibt es soweit ich weiss nicht.
Ein Standard vHost sieht so aus:
Code: Select all
<VirtualHost example.org>
SuexecUserGroup vu2010 vu2010
ServerAdmin root@example.org
DocumentRoot /var/www/virtual/example_org/htdocs
ServerName example.org
ServerAlias *.example.org example.org
CustomLog /var/log/apache2/example.org-traf.log traff
CustomLog /var/www/virtual/example.org/logs/example.org-combined.log combined
ScriptAlias /cgi-bin/ /var/www/virtual/example.org/cgi-bin/
<Directory /var/www/virtual/example.org/cgi-bin>
AllowOverride AuthConfig
Options ExecCGI
Order allow,deny
Allow from all
</Directory>
php_admin_value open_basedir "/var/www/virtual/example.org/:/usr/share/php/:/tmp/"
<Directory /var/www/virtual/example.org/htdocs>
Options -Indexes Includes FollowSymLinks MultiViews
AllowOverride AuthConfig FileInfo Indexes Options Limit
Order allow,deny
Allow from all
</Directory>
</VirtualHost>