Bei der Testinstallation von Windows Server 2019 Essentials hab ich auch gleich mal den Apache als Dienst installiert (d. h. einfach nur die Anweisung E:\Server\Apache\bin\httpd -k install), und Apache zeigt eine Fehlermeldung:
- Code: Select all
Installing the 'Apache2.4' service
The 'Apache2.4' service is successfully installed.
Testing httpd.conf....
Errors reported here must be corrected before the service can be started.
(OS 10013)Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig. : AH00072: make_sock: could not bind to address [::]:80
(OS 10013)Der Zugriff auf einen Socket war aufgrund der Zugriffsrechte des Sockets unzulässig. : AH00072: make_sock: could not bind to address 0.0.0.0:80
AH00451: no listening sockets available, shutting down
AH00015: Unable to open logs
Zu dieser Fehlermeldung gibt es im Netz (und auch hier im Forum) zahlreiche Hinweis - die aber nicht weiterhelfen.
Denn die eigentliche Ursache für das Problem ist ansich bekannt und wird hier gut beschrieben (leider sind die URL-Codes hier im Forum abgeschaltet, warum auch immer):
z. B. http://www.devside.net/archives/wamp-server/opening-up-port-80-for-apache-to-use-on-windows
oder hier: https://stackoverflow.com/questions/813347/http-localhost-not-working-on-windows-7-whats-the-problem/873778
Tatsächlich ist der http-Dienst von Windows schuld. Wird dieser mit "net stop http" beendet (man muss noch bestätigen, dass die davon abhängigen Dienste dann auch gestoppt werden, insbesondere der Druckerspooler für die Verwaltung von Druckern in der Systemsteuerung), kann man Apache sauber als Dienst installieren und mit "net start Apache2.4" wie gewohnt starten.
Beim nächsten Rechnerstart gibt es aber (meist) wieder das gleiche Problem. Nur dann, wenn man den http-Windows-Dienst entweder stoppt oder ganz ausschaltet mit...
- Code: Select all
sc config http start= disabled
... läuft Apache beim Rechnerstart einwandfrei an. Nur können dann dummerweise keine Drucker mehr unter Systemsteuerung -> Geräte & Drucker verwaltet werden (weil die "Druckerwarteschlange" (Dienst spooler) von diesem seltsamen http-Dienst abhängt, was beim Stoppen des Dienstes auch angezeigt wird). Die Druckersymbole sind dann "ausgegraut". Erst wenn die Dienste "http" und anschließend "spooler" gestartet werden, klappt es mit den Druckern wieder.
Ein als Tipp genannter Befehl, um den http-Dienst einfach verzögert zu starten mit...
- Code: Select all
sc config spooler start= delayed-auto
...bringt nur selten was (will heißen: bei geschätzt jedem zweiten oder dritten Rechnerstart startet zuerst Apache, dann erst http - und beim nächsten Start aber dann wieder umgekehrt, so dass Apache sich nicht starten lässt und http erst wieder mit "net stop..." beendet werden muss).
Und der in einem anderen Forum erwähnte Tipp, den http-Dienst abhängig von Apache2.4 starten zu lassen mit...
- Code: Select all
sc config http start= delayed-auto depend= Apache2.4
bzw.
sc config http start= demand depend= Apache2.4
...führt leider dazu, dass Windows Server 2019 Essentials gar nicht mehr startet, sondern einen (mittlerweile bei Windows wirklich sehr seltenen) Blue Screen produziert (SYSTEM_THREAD_EXCEPTION_NOT_HANDLED, winquic.sys).
Und das, obwohl W2019 auf mehreren Rechner ganz neu installiert und nur wenige Einstellungen vorgenommen wurden (Aktivierung, Netzwerkeinstellungen einstellen etc.). Das ist unabhängig von einander auf zwei verschiedenen Rechnern passiert.
Zur Zeit behelfe ich mir mit einer absoluten Notlösung: Der http-Dienst ist erst mal deaktiviert und im Autostart-Ordner hab ich eine Batchdatei gelegt, die folgendes macht:
- Code: Select all
sc config http start= auto
net start http
net start spooler
sc config http start= disabled
Das bewirkt, dass der http-Dienst mit einer sehr großen Verzögerung gestartet wird (auf jeden Fall nach dem Apache-Dienst) und man dann auch problemlos Drucker verwalten kann. Danach wird http als Dienst gleich wieder deaktiviert, so dass Apache beim nächsten Rechnerstart keine Probleme hat. Aber eine besondere saubere Lösung ist das wirklich nicht.
Auf dem bestehenden Windows 2008 Server Foundation R2 hatte ich mit dem Apache im Frühjahr (zum ersten Mal überhaupt seit 2012) genau das gleiche Problem, wenn auch nur für ca. zwei Wochen. Das Problem hat sich dann aber - aus welchen Gründen auch immer - von selbst gelöst (will sagen: hier läuft Apache nach einem Rechnerstart immer noch einwandfrei, geändert wurde hier aber nichts). Da dieses Betriebssystem W2008 aber nicht mehr von Microsoft unterstützt wird, wollte ich hier umsteigen.
Bei einer Testinstallation von Windows Server 2019 Standard trat das Problem im Gegensatz zu Windows Server 2019 Essentials auch nicht auf. Und bei Windows 10 hatte ich dieses Problem mit Apache noch nie, auf keinem einzigen Rechner, wo ich Apache installiert habe (W2019 Server basiert ja auf Windows 10, Version 1809). Und die Apache-Installation ist genau die gleiche (wie gesagt httpd-2.4.46-win64-VS16.zip von apachelounge.com, die einfach ausgepackt wird, httpd.conf und Zusatz-Verzeichnis reinkopiert, PHP dazu, fertig).
Hat jemand Apache2.4 auf Windows 2019 Server Essentials laufen und einen Tipp parat? Oder hab ich bei den zahlreichen Themen hier im Forum den entscheidenden Tipp möglicherweise übersehen?
Danke im voraus.