Was bestimmt, welcher httpd die Daten ausliefert?

virk

virk

Aktives Mitglied
Thread Starter
Dabei seit
14.06.2012
Beiträge
689
Reaktionspunkte
285
Ich habe auf einem Testrechner Monterey auf 12.2 upgedatet. Danach lief das darauf installierte (doku)wiki nicht mehr. Es läuft jetzt wieder, ich weiß jedoch nicht, warum :) Frage diesbezüglich: Wo wird bei 12.2 bestimmt, welcher httpd (Apples-bordeigener oder ein via brew installierter, etc.) am Browser die Daten ausliefert?
 
Normal kann sich nur einer an den Port binden.
Und config Dateien teilen die sich ja auch nicht.
 
Ja, aber wo ist "geschrieben", welcher httpd Daten ausliefert, sobald mein Browser das möchte?
 
Mit lsof -i4 nachgucken wer auf Port 80 lauscht.
Oder mit der Aktivitätsanzeige gucken welcher httpd es ist.
 
Ich drücke mich unklar aus. Welcher auch immer auf port 80 lauscht; wie würde ich das denn von dem einen (Apple-bordeigener) auf den anderen(via brew installierter) umstellen?
 
Mit dem richtigen apachectl stoppen und den anderen starten mit dem anderen apachectl.
Oder launchctl, falls der Apache damit gestartet wurde.
 
Aha, dann wird es etwas klarer. Könnte ich also auch parallel beide starten? Oder würde mir dann macOS sagen, dass httpd schon läuft?
 
Nur bei verschiedenen Ports.
Den einen auf 80, den anderen 8080 oder so.
Weiß nicht was homebrew als Default hat.
Wenn die den gleichen nutzen, kriegst halt Meldung, dass der Port nicht gebunden werden konnte
 
Warum willst du überhaupt 2 unterschiedliche Installation laufen lassen? Du kannst doch auch mit VirtualHosts auf mehreren Ports lauschen lassen.
 
Nein, ich will keine 2 unterschiedlichen Installationen laufen lassen. Nur beim Reserve mac mini resultierte ein 12.2-update darin, dass das wiki nicht mehr lief.
Jetzt läuft es wieder wie vorher, der Apple-bordeigene apache mit einem brew-php,aber leider weiß ich nicht, was letztendlich für die Problemlösung zielführend/entscheidend war. Bei dieser Fehlersuch tauchte bei mir diese Fragestellung auf.
 
Ich meine, dass ein "sudo apachectl configtest" mir ein OK lieferte, jedoch am port 80 "nix" passierte. Es ist denkbar, dass zu diesem Zeitpunt dieses "sudo apachectl configtest" mir die brew-Installation des apache begutachtete, ich jedoch versuchte, im Browser über port 80 zu kommunizieren. Irgendwann nämlich stellte ich zufällig fest, dass ein localhost:8080 dieses "It works" auslieferte; port 8080 hatte ich ewig nicht benutzt. Dann hatte ich mit "which -a" und "whereis" rumgefummelt, was mich letztendlich zu einem "brew unlink httpd" verleitete. Dann nach Neustarts, die wohl, vielleicht wegen caches, erforderlich waren, lieferte eine "sudo apachectl configtest" einen Zertifikatfehler. Den konnte ich dann mit codesign ausbügeln. Bei diesem codesign musste ich auch andere Pfade für das von brew installierte php angeben als ich es bei der (Erst-)Installation gemacht hatte.

Meine Vermutung: Mein anfängliches "sudo apachectl start" hat nicht, wie erwartet/erhofft, den Apple-bordeigenen httpd gestartet, sondern den von brew. Das habe ich nicht geblickt und dadurch wurde es aufwendiger für mich. Aber wie gesagt, Vermutung.
 
Zurück
Oben Unten