[SOLVED] Apache2 startet nach Upgrade nicht mehr

Debian macht sich hervorragend als Web- und Mailserver. Schau auch in den " Tipps und Tricks"-Bereich.
Antworten
Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

[SOLVED] Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 19.09.2019 14:50:57

Hallo,
nach einem Systemupgrade von Stretch nach Buster habe ich folgende Situation bei einer Apache2-Konfiguration, die so unter Stretch noch gelaufen ist.

Code: Alles auswählen

# systemctl start apache2
Job for apache2.service failed because the control process exited with error code.

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-09-19 14:35:22 CEST; 2s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 1604 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Sep 19 14:35:22 mx systemd[1]: Starting The Apache HTTP Server...
Sep 19 14:35:22 mx apachectl[1604]: AH00526: Syntax error on line 4 of /etc/apache2/sites-enabled/schwaben.conf:
Sep 19 14:35:22 mx apachectl[1604]: Cannot define multiple Listeners on the same IP:port
Sep 19 14:35:22 mx apachectl[1604]: Action 'start' failed.
/etc/apache2/sites-available/schwaben.conf

Code: Alles auswählen

SSLStaplingCache "shmcb:logs/stapling-cache(150000)"
Listen 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
        DocumentRoot /usr/lib/cgi-bin
        <Directory /usr/lib/cgi-bin>
                AddHandler cgi-script .cgi .pl
                Options +ExecCGI
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerSignature off
        TraceEnable off
        AddDefaultCharset utf-8
        ServerName "autoconfig.germany.com"
        DocumentRoot /var/www/mail/autoconfig
        <Directory /var/www/mail/autoconfig>
                Options -Indexes
        </Directory>
</VirtualHost>
<VirtualHost *:80>
        ServerSignature off
        TraceEnable off
        AddDefaultCharset utf-8
        ServerName "mail.schwaben.de"
        DocumentRoot /var/www/mail
RewriteEngine on
RewriteCond %{SERVER_NAME} =mail.schwaben.de
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>
Wenn ich Listen 127.0.0.1:80 auskommentiere und neuzustarten versuche bekomme ich diese Meldung:

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-09-19 14:45:11 CEST; 2s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 2163 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Sep 19 14:45:11 mx systemd[1]: Starting The Apache HTTP Server...
Sep 19 14:45:11 mx apachectl[2163]: (98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:80
Sep 19 14:45:11 mx apachectl[2163]: no listening sockets available, shutting down
Sep 19 14:45:11 mx apachectl[2163]: AH00015: Unable to open logs
Sep 19 14:45:11 mx apachectl[2163]: Action 'start' failed.
Sep 19 14:45:11 mx apachectl[2163]: The Apache error log may have more information.
Sep 19 14:45:11 mx systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Sep 19 14:45:11 mx systemd[1]: apache2.service: Failed with result 'exit-code'.
Sep 19 14:45:11 mx systemd[1]: Failed to start The Apache HTTP Server.
Was läuft hier falsch und wie muss ich die Dateien anpassen, damit sie wieder wie vor dem Upgrade funktionieren?

Vielen Dank

Kaheto
Zuletzt geändert von Kaheto am 23.09.2019 18:00:37, insgesamt 1-mal geändert.

Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 19.09.2019 14:58:52

Wenn ich folgendes mache

Code: Alles auswählen

# a2dissite schwaben.conf
# systemctl start apache2
bekomme ich diese Meldung

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-09-19 14:56:44 CEST; 2s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 2332 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Sep 19 14:56:44 mx systemd[1]: Starting The Apache HTTP Server...
Sep 19 14:56:44 mx apachectl[2332]: (98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:80
Sep 19 14:56:44 mx apachectl[2332]: no listening sockets available, shutting down
Sep 19 14:56:44 mx apachectl[2332]: AH00015: Unable to open logs
Sep 19 14:56:44 mx apachectl[2332]: Action 'start' failed.
Sep 19 14:56:44 mx apachectl[2332]: The Apache error log may have more information.
Sep 19 14:56:44 mx systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Sep 19 14:56:44 mx systemd[1]: apache2.service: Failed with result 'exit-code'.
Sep 19 14:56:44 mx systemd[1]: Failed to start The Apache HTTP Server.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von bluestar » 19.09.2019 16:02:22

Die Zeile Listen 127.0.0.1:80 ist zuviel ... apache hat eine /etc/apache2/ports.conf darin stehen Listen bzw. Port Angaben und es knallt halt, wenn diese Angaben doppelt vorhanden sind.

Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 19.09.2019 16:37:51

Hallo Bluestar,

wenn ich das mache - den Gedanken hatte ich nämlich auch bereits ausprobiert - bekomme ich wie gezeigt diese Meldung:

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-09-19 16:36:08 CEST; 3s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 3633 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Sep 19 16:36:08 mx systemd[1]: Starting The Apache HTTP Server...
Sep 19 16:36:08 mx apachectl[3633]: (98)Address already in use: AH00072: make_sock: could not bind to address 127.0.0.1:80
Sep 19 16:36:08 mx apachectl[3633]: no listening sockets available, shutting down
Sep 19 16:36:08 mx apachectl[3633]: AH00015: Unable to open logs
Sep 19 16:36:08 mx apachectl[3633]: Action 'start' failed.
Sep 19 16:36:08 mx apachectl[3633]: The Apache error log may have more information.
Sep 19 16:36:08 mx systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Sep 19 16:36:08 mx systemd[1]: apache2.service: Failed with result 'exit-code'.
Sep 19 16:36:08 mx systemd[1]: Failed to start The Apache HTTP Server.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von bluestar » 19.09.2019 16:40:44

Dann solltest du mal schauen, ob du noch an anderer Stelle ein Port ... oder ein Listen ... stehen hast.

Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 19.09.2019 17:13:55

Da ist leider nichts, was zu 127.0.0.1:80 passen könnte. :(

Code: Alles auswählen

# lsof -i | grep localhost
ntpd       553        ntp   18u  IPv4  10006      0t0  UDP localhost:ntp 
ntpd       553        ntp   20u  IPv6  10010      0t0  UDP localhost:ntp 
opendkim   593   opendkim    3u  IPv4  20010      0t0  TCP localhost:12248 (LISTEN)
opendkim   593   opendkim    7u  IPv4 192865      0t0  TCP localhost:12248->localhost:51038 (ESTABLISHED)
opendkim   593   opendkim   12u  IPv4 192743      0t0  TCP localhost:12248->localhost:51006 (ESTABLISHED)
opendkim   593   opendkim   13u  IPv4 192867      0t0  TCP localhost:12248->localhost:51040 (ESTABLISHED)
opendkim   593   opendkim   14u  IPv4 192870      0t0  TCP localhost:12248->localhost:51044 (ESTABLISHED)
postgrey   606   postgrey    5u  IPv4  19933      0t0  TCP localhost:10023 (LISTEN)
mysqld     704      mysql   46u  IPv4  13956      0t0  TCP localhost:mysql (LISTEN)
master     858       root  128u  IPv4  10206      0t0  TCP localhost:10025 (LISTEN)
/usr/sbin  955     amavis    5u  IPv4   1763      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin  955     amavis    6u  IPv6   1764      0t0  TCP localhost:10024 (LISTEN)
sshd      1021    katheto   10u  IPv6  14252      0t0  TCP localhost:6010 (LISTEN)
sshd      1021    katheto   11u  IPv4  14253      0t0  TCP localhost:6010 (LISTEN)
sshd      1144    katheto   10u  IPv6  26517      0t0  TCP localhost:6011 (LISTEN)
sshd      1144    katheto   11u  IPv4  26518      0t0  TCP localhost:6011 (LISTEN)
smtpd     3905    postfix    9u  IPv4 192742      0t0  TCP localhost:51006->localhost:12248 (ESTABLISHED)
smtpd     3985    postfix   17u  IPv4 192866      0t0  TCP localhost:51040->localhost:12248 (ESTABLISHED)
smtpd     3986    postfix   17u  IPv4 192864      0t0  TCP localhost:51038->localhost:12248 (ESTABLISHED)
smtpd     3988    postfix   17u  IPv4 192869      0t0  TCP localhost:51044->localhost:12248 (ESTABLISHED)
/usr/sbin 4089     amavis    5u  IPv4   1763      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin 4089     amavis    6u  IPv6   1764      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin 4177     amavis    5u  IPv4   1763      0t0  TCP localhost:10024 (LISTEN)
/usr/sbin 4177     amavis    6u  IPv6   1764      0t0  TCP localhost:10024 (LISTEN)

Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 19.09.2019 17:23:13

Ich habe jetzt etwas ganz Unkonventionelles gemacht. Ich habe in der /etc/apache2/ports.conf "Listen 80" gegen "Listen 88" - eigentlich Keberos - ausgetauscht. Jetzt lässt sich der Apache starten und die Website wird angezeigt.
Setze ich jedoch stattdessen "Listen 8080", dann bekomme ich wieder diese Meldung:

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: failed (Result: exit-code) since Thu 2019-09-19 17:18:04 CEST; 4s ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 4339 ExecStart=/usr/sbin/apachectl start (code=exited, status=1/FAILURE)

Sep 19 17:18:04 mx systemd[1]: Starting The Apache HTTP Server...
Sep 19 17:18:04 mx apachectl[4339]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:8080
Sep 19 17:18:04 mx apachectl[4339]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8080
Sep 19 17:18:04 mx apachectl[4339]: no listening sockets available, shutting down
Sep 19 17:18:04 mx apachectl[4339]: AH00015: Unable to open logs
Sep 19 17:18:04 mx apachectl[4339]: Action 'start' failed.
Sep 19 17:18:04 mx apachectl[4339]: The Apache error log may have more information.
Sep 19 17:18:04 mx systemd[1]: apache2.service: Control process exited, code=exited, status=1/FAILURE
Sep 19 17:18:04 mx systemd[1]: apache2.service: Failed with result 'exit-code'.
Sep 19 17:18:04 mx systemd[1]: Failed to start The Apache HTTP Server.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von bluestar » 22.09.2019 21:05:23

Prüfe mal alle Konfigurationsdateien in /etc/apache2/ wo „Listen“ oder „Port“ vorkommt.

schwedenmann
Beiträge: 5528
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von schwedenmann » 22.09.2019 21:26:09

Hallo

Was sagt denn

systemctl status apache2 ?

mfg
schwedenmann

DeletedUserReAsG

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von DeletedUserReAsG » 23.09.2019 06:43:56

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
22.09.2019 21:26:09
Was sagt denn systemctl status apache2 ?
vs.
Kaheto hat geschrieben: ↑ zum Beitrag ↑
19.09.2019 17:23:13

Code: Alles auswählen

# systemctl status apache2.service
● apache2.service - The Apache HTTP Server
 […]
… ich fänd’s gut, wenn die Threads auch gelesen würden, in denen geantwortet wird …

Edit, On-Topic:

Code: Alles auswählen

Sep 19 17:18:04 mx apachectl[4339]: (98)Address already in use: AH00072: make_sock: could not bind to address [::]:8080
Sep 19 17:18:04 mx apachectl[4339]: (98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:8080
… ist eigentlich ziemlich eindeutig. Mal mit etwa netstat, lsof oder ss gucken, was denn den Port belegt.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von bluestar » 23.09.2019 12:02:51

niemand hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 06:43:56
… ist eigentlich ziemlich eindeutig. Mal mit etwa netstat, lsof oder ss gucken, was denn den Port belegt.
Dürfte halt schwierig sein, weil der Apache ja nicht startet, wenn in der Konfiguration Listen .... und Port ... Zeilen doppelt vorhanden sind.

Die Dopplung würde das Verhalten auch erklären, wenn der TE die Listen 80 durch Listen 88 wie getan austauscht:
Kaheto hat geschrieben: ↑ zum Beitrag ↑
19.09.2019 17:23:13
Ich habe jetzt etwas ganz Unkonventionelles gemacht. Ich habe in der /etc/apache2/ports.conf "Listen 80" gegen "Listen 88" - eigentlich Keberos - ausgetauscht.
Also gilt es mal herauszufinden, wo in seiner Apache Konfiguration doppelte Einträge vorhanden sind...

DeletedUserReAsG

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von DeletedUserReAsG » 23.09.2019 16:35:57

bluestar hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 12:02:51
Dürfte halt schwierig sein, weil der Apache ja nicht startet, wenn in der Konfiguration Listen .... und Port ... Zeilen doppelt vorhanden sind.
Laut des gequoteten Auszugs der Ausgabe ist zum Zeitpunkt des Startversuches aber etwas an den Port gebunden. Das würde ja auch das Funktionieren beim Umkonfigurieren auf einen anderen Port erklären: wenn was an 80 gebunden ist, blockiert es nicht 88. Es sollte daher nicht schwierig sein, das mit z.B. netstat zu prüfen. Die Ausgabe bei doppelter Listen-Direktive mit gleichen Parametern (Listen selbst kann’s so oft geben, wie man Ports und Interfaces dafür hat) sähe anders aus.

Was die Direktive angeht: schlicht mal das Konfigurationsverzeichnis rekursiv nach „Listen“ greppen, und schon weiß man, wo sie mit welchen Parametern drinsteht. Für sowas wurde grep schließlich von Gott erschaffen.

Benutzeravatar
bluestar
Beiträge: 2346
Registriert: 26.10.2004 11:16:34
Wohnort: Rhein-Main-Gebiet

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von bluestar » 23.09.2019 16:46:03

niemand hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 16:35:57
Laut des gequoteten Auszugs der Ausgabe ist zum Zeitpunkt des Startversuches aber etwas an den Port gebunden.
Ja und zwar der Apache selbst, der TE sagt ja, selbst wenn er /etc/apache2/ports.conf die Ports abändert, dann funktioniert die Webseite... Also lauscht auf Port 80 der Apache, selbst wenn in der /etc/apache2/ports.conf "Port 88" drinsteht.
niemand hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 16:35:57
Was die Direktive angeht: schlicht mal das Konfigurationsverzeichnis rekursiv nach „Listen“ greppen, und schon weiß man, wo sie mit welchen Parametern drinsteht. Für sowas hat Gott schließlich grep erschaffen.
Sagte ich doch bereits, leider scheint der TE dies nicht tun zu wollen....
bluestar hat geschrieben: ↑ zum Beitrag ↑
19.09.2019 16:02:22
Die Zeile Listen 127.0.0.1:80 ist zuviel ... apache hat eine /etc/apache2/ports.conf darin stehen Listen bzw. Port Angaben und es knallt halt, wenn diese Angaben doppelt vorhanden sind.

DeletedUserReAsG

Re: Apache2 startet nach Upgrade nicht mehr

Beitrag von DeletedUserReAsG » 23.09.2019 16:53:01

bluestar hat geschrieben: ↑ zum Beitrag ↑
23.09.2019 16:46:03
Ja und zwar der Apache selbst
Gerade mal getestet: ja, kann der Apache selbst sein. Hatte in Erinnerung, dass da ’ne andere Meldung erscheint, wenn man’s so kaputtkonfiguriert hat. Sorry für die Verwirrung.

Kaheto
Beiträge: 126
Registriert: 08.06.2016 22:28:50

Re: [SOLVED] Apache2 startet nach Upgrade nicht mehr

Beitrag von Kaheto » 23.09.2019 18:01:00

Ich habe hier Mailcow https://mailcow.email/ als Mailserver installiert. Der Webserver dient lediglich der Administrations-WebGui und dem Generieren von Let'sEncrypt-Zertifikaten für Postfix.
Dann habe ich ein Dist-Upgrade von Stretch nach Buster gemacht mit dem geschilderten Resultat. Davor lief alles wie gewünscht. Momentan läuft es ja auch, nur eben mit diesem Umweg. Die Konfiguration-Files in dieser Konstellation stammen aus der Mailcow-Küche.

Ich habe jetzt /etc/apache2/ports.conf zurück auf "Listen 80" gesetzt. Und aus den betroffenen Config-Files wie mailcow.conf etc. die Listen-Direktive auskommentiert, ebenso wie ich die <VirtualHost 127.0.0.1>-, <VirtualHost *>-Direktiven von dem Port ":80" befreit habe.
Inzwischen läuft das wie gewünscht.

Code: Alles auswählen

# ss | grep 80
u_str ESTAB 0      0                  /var/run/dovecot/stats-writer 1791066                                               * 1786880                             
u_str ESTAB 0      0                        /var/run/dovecot/config 1796780                                               * 1787281                             
u_str ESTAB 0      0                                              * 1796805                                               * 1793714                             
u_str ESTAB 0      0                                              * 1786880                                               * 1791066                             
u_str ESTAB 0      0                                              * 1787281                                               * 1796780                             
u_str ESTAB 0      0                                 private/tlsmgr 1793714                                               * 1796805                             
u_str ESTAB 0      0                                              * 1777860                                               * 1780374                             
u_str ESTAB 0      0                         /var/run/dovecot/anvil 1780374                                               * 1777860                             
tcp   ESTAB 0      0                                   192.168.1.70:52070                                      192.168.1.66:44806

Code: Alles auswählen

# systemctl status apache2
● apache2.service - The Apache HTTP Server
   Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor preset: enabled)
   Active: active (running) since Mon 2019-09-23 17:44:32 CEST; 5min ago
     Docs: https://httpd.apache.org/docs/2.4/
  Process: 11545 ExecStart=/usr/sbin/apachectl start (code=exited, status=0/SUCCESS)
 Main PID: 11549 (apache2)
    Tasks: 6 (limit: 4915)
   Memory: 19.3M
   CGroup: /system.slice/apache2.service
           ├─11549 /usr/sbin/apache2 -k start
           ├─11551 /usr/sbin/apache2 -k start
           ├─11552 /usr/sbin/apache2 -k start
           ├─11553 /usr/sbin/apache2 -k start
           ├─11554 /usr/sbin/apache2 -k start
           └─11555 /usr/sbin/apache2 -k start

Sep 23 17:44:32 mx systemd[1]: Starting The Apache HTTP Server...
Sep 23 17:44:32 mx systemd[1]: Started The Apache HTTP Server.


Vielen Dank für Eure Unterstützung

Eure Kaheto

Antworten