Starten von Apache2 auf Mountain Lion

Ich habe alle Optionen ausprobiert, um Apache2 in Mountain Lion zum Laufen zu bringen, und ich bin verblüfft darüber, wie unmöglich die Aufgabe zu sein scheint.

Ich habe gerade einen neuen iMac bekommen und bei einer frischen, sauberen Installation habe ich angefangen, Apache einzurichten, um lokale Sites zu bedienen.

Mit den üblichen Verdächtigen möglicher Konfigurationsänderungen kann ich Apache dazu bringen, tatsächlich zu "starten", aber von dort aus geht es bergab.

Unabhängig davon, wie ich den lokalen Serverstamm definiere, erhalte ich immer einen Forbidden-Fehler. Ich kann die Verzeichnisstruktur auf 777 ändern und erhalte immer noch einen Forbidden-Fehler.

Ich habe den Serverstamm als Standard festgelegt , ihn auf , und jede andere mögliche Kombination /Library/WebServer/Documents/gesetzt , und/oder sowie die vhosts-Datei und die Datei myUserName.conf geändert. Nichts macht einen Unterschied./Users/myUserName/Sites//Users/myUserName/Documents/Sites/Volumes/ExternalDrive/Site//etc/apache2/httpd.conf/private/etc/apache2/httpd.conf

Ich habe Apache mit sudo apachectl restartsowie sudo apachectl stopgefolgt von neu gestartet sudo apachectl start.

Nichts funktioniert.

Kann mir jemand helfen, dieses Problem zu lösen? Langsam möchte ich meinen nagelneuen iMac an die Wand werfen.

Beachten Sie, dass ich kein Anfänger bin und Dutzende von Macs eingerichtet habe. Diesmal scheint jedoch nichts zu funktionieren. Ich habe das System sogar neu formatiert und neu installiert.

Haben Sie DirectoryListings in Apache aktiviert? Haben Sie eine index.html-Datei in Ihrem WebRoot?
Wenn Sie sagen: "Ich habe Apache eingerichtet, um lokale Sites zu bedienen." was haben Sie getan? Haben Sie überprüft, ob Apache bei der Installation des brandneuen Betriebssystems funktioniert, bevor Sie irgendetwas getan haben? Welche Fehler erhalten Sie im Apache-Protokoll?
Gibt es einen Grund, warum Sie durch Unix-CLI-Reifen springen, um den Dienst zu starten, wenn Sie auf Macs wirklich nur zu gehen, System Preferencesdann auswählen Sharingund dann starten müssen Web Sharing?
@JakeGould Das Kontrollkästchen für die Webfreigabe wurde in 10.8 entfernt.
@ComicSans Ja zu beidem.
@TonyWilliams Habe ich überprüft, ob Apache funktioniert, bevor ich Änderungen an einer Neuinstallation vorgenommen habe ... ja. Was ich ausprobiert habe, habe ich oben schon erwähnt. Ich habe mehrere verschiedene Konfigurationen ausprobiert und alle notwendigen Änderungen an /etc/hosts, /etc/apache2/httpd.conf, /private/etc/apache2/httpd.conf, /etc/apache2/users/myusername.conf, / vorgenommen. private/etc/apache2/users/myusername.conf und /etc/apache2/extras/httpd-vhosts.conf. Keine Zigarre. Meinen iMac gestartet und neu gestartet und heruntergefahren und gestartet, Apache gestartet, gestoppt/gestartet und neu gestartet. Alles umsonst.
@JakeGould Wie Lauri sagte, wurde die Webfreigabe in 10.8 entfernt. Aber darüber hinaus möchte ich benutzerdefiniertes kompiliertes PHP, aktualisiertes MySQL, das neueste phpMyAdmin und eine Vielzahl anderer Verbesserungen installieren. Also, bevor ich diese installiert bekomme, muss ich sicherstellen, dass Apache läuft ... und das wird es nicht.
Fair genug. Aber ich würde eine Alternative empfehlen, um durch Reifen zu springen und mit Apache-Macken unter Mac OS umzugehen: Führen Sie Ubuntu auf VirtualBox aus. Vor ungefähr 10 Jahren habe ich die ganze Sache mit der Anpassung von Mac OS X gemacht, um Webarbeiten zu erledigen. Dann wechselte ich zu MAMP, das ich immer noch verwende, aber nicht einfach anpassen kann. Jetzt habe ich jetzt Ubuntu über VirtualBox verwendet und es funktioniert großartig! Wenn Sie Avahi (Open Source Bonjour) und SMB (Samba) installieren, können Sie sogar Ubuntu-Verzeichnisse als Dateisystem-Mounts in OS X mounten, sodass Sie Code auf diese Weise bearbeiten können. Keine esoterischen Kopfschmerzen. 100 % echte Unix-Umgebung direkt auf Ihrem Mac!

Antworten (4)

Führen Sie diesen Befehl aus, um zu sehen, ob Sie Fehler in Ihrer Konfiguration haben:sudo apachectl -t

Weitere Informationen finden Sie hier.

Ich bin überrascht, dass sonst niemand den Configtest-Pfad hinuntergegangen ist, und es könnte einen Berechtigungsfehler geben ...
Ich habe dieses Problem tatsächlich gelöst, indem ich das getan habe, was Sie vorschlagen ... vor Monaten. Ich hätte meine Frage selbst beantworten sollen, als ich das Problem gelöst habe. Freut mich aber, dass du darauf geantwortet hast. Ich kann das jetzt akzeptieren, da es einige Probleme offenbarte, die ich lösen konnte (obwohl ich mich nicht mehr erinnere, was die Probleme waren).

sudo apachectl startstartet Apache und aktiviert /System/Library/LaunchDaemons/org.apache.httpd.plist.

Damit es http://localhost/~username/funktioniert, speichern Sie so etwas wie /etc/apache2/users/username.conf:

<Directory "/Users/username/Sites/">
    Options Indexes MultiViews
    AllowOverride All
    Order allow,deny
    Allow from all
</Directory>

Ich musste keine anderen Dateien oder httpd.conf bearbeiten.

Wenn Sie wirklich Probleme haben, können Sie VirtualHostX ausprobieren … es ist eine Mac-App, mit der Sie Apache so konfigurieren können, dass mehrere Websites von einem einzigen Mac ausgeführt werden, aber es funktioniert genauso gut mit einer einzelnen Website. Es ist eine kostenpflichtige App, aber es gibt eine 30-tägige Testphase.

Nicht die Art von Lösung, die ich suche. Ich könnte auch problemlos einen BitNami-Stack für Mac OS oder MAMP Pro ausprobieren, aber keiner davon ist mit einem sauberen, selbstverwalteten Standard-AMP-Stack identisch.
Wenn ein standardmäßiger, sauberer, selbstverwalteter *AMP-Stack das Ziel ist, empfehle ich dringend Ubuntu auf VirtualBox. 100 % reiner LAMP-Stack und keine verschwendete Zeit (manchmal Tage) mit Mac-AMP-Stack-Dummheiten.

Probieren Sie MAMP oder sogar MAMP Pro aus, beide haben Software, mit der Sie Ihren Apache und MySQL starten/stoppen können.

http://www.mamp.info/en/index.html

MAMP Pro unterstützt auch virtuelle Hosts

Das Problem mit MAMP und MAMP Pro ist, dass sie die Komponenten nur langsam aktualisieren. Natürlich könnte ich weitermachen und sie selbst aktualisieren, aber warum dann eine Software installieren, die eine Software emuliert, und die emulierende Software aktualisieren, wenn sie nativ auf dem System verfügbar ist.