Apache nie uruchamia się w systemie Mac OS X Lion / MAMP

1

Mam trudności z uruchomieniem Apache przez MAMP.

Od kilku miesięcy rozwijam się w MAMP i wszystko działa dobrze. Jednak dziś rano Apache magicznie przestał działać, mimo że nie wprowadzałem żadnych zmian w konfiguracji ani nic.

Sprawdzanie mojego apache_error.log Widzę to za każdym razem, gdy próbuję uruchomić Apache przez MAMP:

[Fri Sep 09 12:16:19 2011] [alert] (EAI 8)nodename nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "unknown040cced5b2fe"
Configuration Failed

Jakieś pomysły? Jestem trochę zakłopotany.

Jacek
źródło
Czy sprawdziłeś, czy port 80 lub jakikolwiek port używany przez MAMP dla apache jest dostępny? Sprawdź także interfejs sieciowy sprzężenia zwrotnego.
Sandeep Bansal
Nie jestem do końca pewien, jak to zrobić (nie jestem tak ekspertem, jak większość użytkowników tutaj!), Ale pobiegłem telnet 127.0.0.1 80(podobnie jak 8080 i 8888) i za każdym razem otrzymywałem:
Jack
1
Trying 127.0.0.1... telnet: connect to address 127.0.0.1: Connection refused telnet: Unable to connect to remote host
Jack

Odpowiedzi:

2

Jeśli MAMP zapewnia to apachectl, co zwykle , użyłbym tego do przetestowania konfiguracji apachectl configtest.


Aktualizacja:

Aby dowiedzieć się, który program już używa (tj. Nasłuchuje lub jest podłączony do), użyj portu 80 netstat -anpjako root.

Aktualizacja 2:

Pamiętaj, że musisz być rootem, aby połączyć się z uprzywilejowanymi numerami portów (poniżej 1024)

RedGrittyBrick
źródło
apachectl configtestzwraca „Składnia OK”, ale samo uruchomienie apachectl wyświetla następujące wyniki:
Jack
(13)Permission denied: make_sock: could not bind to address [::]:80 (13)Permission denied: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs
Jack
Wtedy Sandeep ma rację, inna aplikacja już nasłuchuje na porcie 80. Dowiedz się, co to jest ( netstat -anpjako root) i zatrzymaj to.
RedGrittyBrick
Moja pierwsza myśl to Skype, sprawdź, czy Skype działa, zwykle łączy się z portem 80. Twój adres IP powinien wynosić 127.0.0.1 zamiast 0.0.0.0
Sandeep Bansal
Nie jestem w 100% pewien, więc nie zamieszczam tego jako odpowiedzi, ale prawdopodobnie nie uruchamiasz Apache jako root i musisz mieć uprawnienia roota (przynajmniej początkowo), aby słuchać na porcie 80. Znalazłem ten post na forum forum.mamp.info/viewtopic.php?t=372, co wydaje się potwierdzać moją teorię, ale ja jej nie przetestowałem, więc YMMV.
d34dh0r53
0

Właśnie natrafiłem na ten sam problem i rozwiązałem go, zmieniając arbitralnie mój port Listen.

Miałem ten sam błąd, który miałeś, z tym wyjątkiem, że korzystałem z niestandardowego portu> 1024. Po zmianie mojego wyboru Apache zaczął również zapisywać w swoim dzienniku błędów, czego odmówił, oprócz podobnych

[Fri Sep 09 12:16:19 2011] [alert] (EAI 8)nodename nor servname provided, or not known: mod_unique_id: unable to find IPv4 address of "unknown040cced5b2fe"
Configuration Failed

wiadomość. Ponadto, mimo że netstatnie pokazywał, że mój port jest zajęty, Apache poświęcił dość dużo czasu na odpowiedź, co zwykle wskazywało na niezgodność gniazd.

Cześć, to
źródło
0

W /usr/libistnieje plik libpq.5.3.dylibpodczas Apache szuka libpq.5.dylib po I skopiowany plik i nazwał go libpq.5.dylibto działało.

Christoph
źródło
0

Ponownie zadziałało po skomentowaniu tego wiersza w httpd.conf:

# LoadModule unique_id_module libexec/mod_unique_id.so

Olivier
źródło