Wie kann ich dafür sorgen, dass Apache HTTP Server 2.2 und IIS 5.1 beide auf meinem Localhost funktionieren?
Frage
Ich dachte, das einfachste wäre, einfach die Portnummer zu ändern, die Apache abhört, aber ich kann es nach der Installation von IIS immer noch nicht starten.Mein IIS stellt die Seiten derzeit korrekt unter bereit http://localhost:80.Ich habe mehrere PHP-Projekte und hier sind die Grundlagen, wie Ports in meiner httpd.conf konfiguriert werden:
Listen 81
# Begin listening for virtual hosts.
NameVirtualHost *:81
<VirtualHost *:81>
# virtual.myvirtualdomain.com virtual host.
ServerAdmin webmaster@virtual.myvirtualdomain.com
DocumentRoot "c:/Development/HTTPServer_WWW/virtual.myvirtualdomain.com/www"
ServerName virtual.myvirtualdomain.com
ErrorLog "c:/Development/HTTPServer_WWW/virtual.myvirtualdomain.com/logs/log"
<Directory "c:/Development/HTTPServer_WWW/virtual.myvirtualdomain.com/www">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
Dann habe ich in meiner Windows-Hosts-Datei einen Eintrag wie diesen:
127.0.0.1 virtual.myvirtualdomain.com
Ich habe mehrere dieser virtuellen Domänen eingerichtet, die alle lokal für zahlreiche PHP-Projekte laufen, an denen ich gerade arbeite.Auf Port 80 hat alles ordnungsgemäß funktioniert, aber dann habe ich IIS 5.1 installiert und der Dienst startet nicht mehr.Ich habe einige Nachforschungen angestellt und festgestellt, dass nicht beide auf demselben Port ausgeführt werden können.Ich habe es geändert, sodass Apache jetzt nach Port 81 sucht, aber es startet immer noch nicht.
BEARBEITEN:
Also habe ich IIS deinstalliert und kann Apache HTTP Server jetzt überhaupt nicht mehr starten.Ich habe alle Einstellungen wieder auf Port 80 geändert und es funktioniert immer noch nicht.
Lösung 2
Ich tat, was Haarsma vorgeschlagen, und es stellt sich heraus, dass ich ein virtuelles Verzeichnis entfernt hatte, und so konnte Apache es nicht finden (also nicht starten). Offenbar hatte es nichts mit den Häfen an, alles zu tun, und war mein stummer Fehler. Ich neu installiert IIS, änderte meine Config für Apache auf Port 81 zu hören, und es funktioniert!
Andere Tipps
Beenden Sie den Dienst, dann läuft Apache von der Kommandozeile. Es zeigt Ihnen die Fehler beim Start auftreten.
- Stoppen Sie den IIS-Server und prüfen Sie, ob Apache startet.
Führen Sie in der Befehlszeile Folgendes aus:
netstat -ano
Dadurch erfahren Sie, welche Prozess-ID auf welchem Port ausgeführt wird.
- Deaktivieren Sie die Windows-Firewall
Es ist sehr seltsam! Ich habe IIS 6.0 und Apache 2.2 arbeiten zusammen richtig auf meinem Windows Server 2003 IIS auf Port 80, Apache auf Port 8081, beiden Dienste automatisch ausgeführt werden.