Problem nach Debian Etch Update/Upgrade: Apache2 startet nicht

blueice_haller

Registered User
Hallo,

Problembeschreibung:
  • Apache2 startet nicht mehr
Seit wann besteht das Problem ?
  • Seit Gestern, 16.05.2008, ab 15:48.
Fehlermeldungen beim...:
  • Neustart von Apache2 in der Shell:
    PHP:
    example.com:~# /etc/init.d/apache2 restart
    Forcing reload of web server (apache2)...httpd (no pid file) not running
    (98)Address already in use: make_sock: could not bind to address [::]:80
    (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80
    no listening sockets available, shutting down
    Unable to open logs
     failed!
    example.com:~#
  • Start von Apache2 über Plesk 8.4.0:
    PHP:
    ERROR: PleskFatalException  	
    Shortcut erstellenShortcut erstellen
    Eine Ebene höherEine Ebene höher
    Unable to make action: Unable to manage service by websrvmng: websrvmng: Service /etc/init.d/apache2 failed to restart
    
    0: /opt/psa/admin/plib/common_func.php3:154
        psaerror(string 'Unable to make action: Unable to manage service by websrvmng: websrvmng: Service /etc/init.d/apache2 failed to restart')
    1: /opt/psa/admin/htdocs/server/restart_services.php:28
Was geschah zuletzt ?
  • Ich habe, wie gewönlich, aptitude update und aptitude upgrade ausgeführt.
  • Auszug aus der /var/log/aptitude
    PHP:
    Aptitude 0.4.4: Protokoll
    Fr, Mai 16 2008 15:48:26 +0200
    
    WICHTIG: Dieses Protokoll zeigt nur geplante Aktionen an. Aktionen, die wegen
    dpkg-Problemen fehlschlagen, sind vielleicht nicht abgeschlossen.
    
    Werde 14 Pakete installieren und 0 Pakete entfernen.
    238kB werden auf der Festplatte freigegeben werden
    ===============================================================================
    [HALTEN] openssh-client
    [HALTEN] openssh-server
    [AKTUALISIERUNG] libapache2-mod-php5 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] libssl-dev 0.9.8c-4etch1 -> 0.9.8c-4etch3
    [AKTUALISIERUNG] libssl0.9.8 0.9.8c-4etch1 -> 0.9.8c-4etch3
    [AKTUALISIERUNG] linux-image-2.6.18-6-amd64 2.6.18.dfsg.1-18etch3 -> 2.6.18.dfsg.1-18etch4
    [AKTUALISIERUNG] openssl 0.9.8c-4etch1 -> 0.9.8c-4etch3
    [AKTUALISIERUNG] php5-cli 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-common 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-curl 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-dev 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-gd 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-imap 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-mcrypt 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-mysql 5.2.0-8+etch10 -> 5.2.0-8+etch11
    [AKTUALISIERUNG] php5-xsl 5.2.0-8+etch10 -> 5.2.0-8+etch11
    ===============================================================================
    
    Protokoll abgeschlossen.
 
Sieht ganz danach aus, als ob ein anderer (Web-)Service den Port 80 belegt.
Was gibt denn ein
Code:
lsof -i:80
aus?
 
PHP:
example.com:~# lsof -i:80
COMMAND  PID     USER   FD   TYPE DEVICE SIZE NODE NAME
apache2 7387 www-data    4u  IPv6  97078       TCP *:www (LISTEN)
example.com:~#
Ich weiß, es läuft ein Prozess, aber ich kann keine Seite aufrufen.

Falls es hilft, ein Auszug aus der /var/log/apache2/error.log :
Code:
...[Sat May 17 21:43:18 2008] [warn] Init: Session Cache is not configured [hint: SSLSessionCache]
[Sat May 17 21:43:18 2008] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sat May 17 21:43:18 2008] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match server name!?
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: domain-1.com:443 (/var/www/vhosts/domain-1.com/conf/httpd.include:12) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: domain-3.com:443 (/var/www/vhosts/domain-3.com/conf/httpd.include:12) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: sub1.domain-4.com:443 (/var/www/vhosts/domain-4.com/conf/httpd.include:217) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: domain-4.com:443 (/var/www/vhosts/domain-4.com/conf/httpd.include:12) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
...
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: webmail:443 (/etc/apache2/conf.d/zz010_psa_httpd.conf:133) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
[Sat May 17 21:43:18 2008] [warn] Init: SSL server IP/port conflict: default-123-123-123-123:443 (/etc/apache2/conf.d/zz010_psa_httpd.conf:78) vs. domain-2.com:443 (/var/www/vhosts/domain-2.com/conf/httpd.include:12)
[Sat May 17 21:43:18 2008] [warn] Init: You should not use name-based virtual hosts in conjunction with SSL!!
[Sat May 17 21:43:18 2008] [notice] suEXEC mechanism enabled (wrapper: /usr/lib/apache2/suexec)
[Sat May 17 21:43:18 2008] [notice] mod_python: Creating 8 session mutexes based on 150 max processes and 0 max threads.
[Sat May 17 21:43:18 2008] [notice] mod_python: using mutex_directory /tmp 
PHP Warning:  [eAccelerator] This build of "eAccelerator" was compiled for PHP version 5.2.0-8+etch10. Rebuild it for your PHP version (5.2.0-8+etch11) or download precompiled binaries.\n in Unknown on line 0
PHP Fatal error:  Unable to start eAccelerator module in Unknown on line 0
...
 
Last edited by a moderator:
Dann stoppe doch mal deinen Apache2 und schau, ob der Prozess immer noch oben ist. Als Gegenprobe kannst du auch mit "netstat -tlp" schauen, welche Ports lauschen.
Wenn der Port 80 nun weg ist, dann ist das Problem wo anders. Denn dann kannst du den Apache starten und stoppen, wie es sein soll.

Edit: Wie grad sehe, hast du noch ein Logfile drangehangen.
Dann läuft dein Webserver also.
Scheinbar hast du mehrere Vhost-Conffiles. Du kannst auf einer IP-Adresse nur ein SSL-Cert binden.
Wenn du eine weitere Domain auf der selben IP betreibst, dann besteht ein Konflikt.
Das müsste eigentlich mit "apache2 -S" schon angezeigt werden, oder?

PS: Aus diesem Grund setz ich kein Plesk oder ähnliches ein. Ich möchte gern verstehen wo mir was in Conf-Files reingepfuscht wird. ;-)
 
Last edited by a moderator:
Apache auf den herkömlichen weg zu stoppen, wird da nicht mehr viel helfen. Da nützt nur noch "kill". :)

Und dann den Apache einfach wieder normal über das Init Script starten.
 
Weiteres Vorgehen:
  • Ich habe einen Freund gefragt, der mir vor fast zwei Wochen den eaccelerator-0.9.5.2 installiert hat.
Lösungsweg:
  1. eaccelerator-0.9.5.2 nochmal herunterladen.
  2. PHP:
    example.com:/usr/src# unzip eaccelerator-0.9.5.2.zip
    example.com:/usr/src# cd eaccelerator-0.9.5.2
    example.com:/usr/src/eaccelerator-0.9.5.2# export PHP_PREFIX="/usr"
    example.com:/usr/src/eaccelerator-0.9.5.2# $PHP_PREFIX/bin/phpize
    example.com:/usr/src/eaccelerator-0.9.5.2# ./configure --enable-eaccelerator=shared --with-php-config=$PHP_PREFIX/bin/php-config
    example.com:/usr/src/eaccelerator-0.9.5.2# make
    example.com:/usr/src/eaccelerator-0.9.5.2# make install
    example.com:/usr/src/eaccelerator-0.9.5.2# killall apache2
    example.com:/usr/src/eaccelerator-0.9.5.2# /etc/init.d/apache2 start
    example.com:/usr/src/eaccelerator-0.9.5.2#
  3. Nun läuft der Apache2 wieder.
Schlussworte:
  • Sorry für die Umstände ;)
 
Back
Top