Durch ein kürzlich erfolgtes Update war mein Server in meinem LAN auf Port 80 nicht mehr erreichbar. Ich konnte mich über 22 per SSH damit verbinden und Nmap zeigte, dass es auf 22, 443, 3306 und 10000 lauschte. Allerdings NICHT auf 80. Eine Menge CAT-Suchen in verschiedenen .conf-Dateien brachten keine Antwort.
Endlich, nach vielen Stunden, die erste Antwort in diesem Beitrag:von Florian Diesch enthüllte den ersten Schritt zur Aufspürung des Problems.
Sein Vorschlag, einen weiteren Server auf dieser Maschine zu platzieren, und zwar wie folgt: sudo python -m SimpleHTTPServer 80, zeigte, dass es nicht wirklich ein Problem mit Apache2 gab, sondern nur, dass eine der Konfigurationsdateien beschädigt war.
Bevor Port 80 überhaupt verfügbar war, konnte ich „systemctl status apache2.service“ überhaupt nicht zum Laufen bringen. Nachdem ich jedoch mit dem obigen Python-Snippet das Lauschen auf Port 80 in Gang gebracht hatte, erhielt ich dieses Ergebnis:
systemctl status apache2.service
● apache2.service - LSB: Apache2 web server
Loaded: loaded (/etc/init.d/apache2; bad; vendor preset: enabled)
Drop-In: /lib/systemd/system/apache2.service.d
└─apache2-systemd.conf
Active: failed (Result: exit-code) since Tue 2017-06-13 20:40:43 EDT;
39s ago
Docs: man:systemd-sysv-generator(8)
Process: 4411 ExecStart=/etc/init.d/apache2 start (code=exited,
status=1/FAILURE)
Jun 13 20:40:43 s2 apache2[4411]: * The apache2 configtest failed.
Jun 13 20:40:43 s2 apache2[4411]: Output of config test was:
Jun 13 20:40:43 s2 apache2[4411]: AH00526: Syntax error on line 5 of
/etc/apache2/conf-enabled/phpmyadmin.conf:
Jun 13 20:40:43 s2 apache2[4411]: order not allowed here
Jun 13 20:40:43 s2 apache2[4411]: Action 'configtest' failed.
Jun 13 20:40:43 s2 apache2[4411]: The Apache error log may have more
information.
.......
Es folgten noch mehrere Zeilen, aber der springende Punkt war phpmyadmin.conf und „Reihenfolge hier nicht zulässig“.
Ich habe phpmyadmin.conf bearbeitet und Folgendes gefunden:
Alias /phpmyadmin /usr/share/phpmyadmin
Order Deny, Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.1.0
Allow from 192.1.1
<Directory /usr/share/phpmyadmin>
various configs .....
</Directory>
Ich habe dann die Zeile mit „Order“ mit # auskommentiert, die conf-Datei gespeichert und dann erneut getestet. Jedes Mal wurde der Fehler erneut angezeigt, wobei die fehlerhafte Zeilennummer um eins erhöht wurde. Als ich jede dieser fünf Zeilen vor dem ersten Konfigurationsblock auskommentiert hatte, funktionierte alles wieder. Weder mein Sohn noch ich konnten herausfinden, wie der Fehler auftrat, da keiner von uns die Datei bearbeitet hatte.
Ich erinnere mich jedoch schließlich daran, dass ich früher an diesem Tag per SSH auf den Server zugegriffen und einen Update-/Upgrade-Zyklus durchgeführt hatte. Das ist die einzige mögliche Ursache dafür, dass diese fünf Zeilen in die Datei phpmyadmin.conf gelangt sind.
Ich muss zugeben, dass ich völlig verblüfft war, als ich herausfand, dass dies die Ursache des Problems war. Es beendete tatsächlich den Apache2-Dienst für Port 80 vollständig. Schließlich wurde mir klar, dass die Datei apache2.conf selbst die anderen Dateien beim Laden einschloss und so die problematische conf-Datei einführte.
12 Stunden Fehlersuche, aber nachdem ich bei SEHR vielen Suchvorgängen vielen Kaninchen in verschiedene Löcher gefolgt bin, hat es endlich funktioniert.
Ich hoffe, dass diese Enthüllungen auch anderen zugute kommen.
Antwort1
Order, alloe und deny sind an dieser Stelle natürlich nicht erlaubt. Sie können nur mit einigen Modulen verwendet werden (https://httpd.apache.org/docs/2.2/howto/access.html)
Vor Ihrem Update hat die damalige Apache-Version den Fehler möglicherweise ignoriert oder davor gewarnt. Die neue Version schlägt fehl. Wenn Sie Probleme dieser Art haben, führen Sie immer das Apache-Konfigurationsprogramm aus. Wenn der Fehler nicht offensichtlich ist, suchen Sie im Apache-Handbuch nach den Anweisungen.