AH00015: Nie można otworzyć dzienników Działanie „start” nie powiodło się. w Ubuntu 14.04

10

Próbuję zainstalować apache2, napotkałem ten problem. Daj mi rozwiązania

Ponowne uruchomienie serwera WWW apache2 powoduje błąd:

    AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1. Set the 'ServerName' directive globally to suppress this message
(98)Address already in use: AH00072: make_sock: could not bind to address [::]:80
(98)Address already in use: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
[fail]
 * The apache2 instance did not start within 20 seconds. Please read the log files to discover problems
narru033
źródło
Czy możesz opublikować plik konfiguracyjny Apache?
Lety
przepraszam, jak zdobyć plik konfiguracyjny apache?
narru033,
Powinno tak być /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confa jeśli już zdefiniowałeś/etc/apache2/sites-available/yourFile.conf
Lety

Odpowiedzi:

8

Biegać

sudo netstat -tulpn | grep :80

i otrzymasz coś w rodzaju

tcp        0      0 0.0.0.0:80         0.0.0.0:*      LISTEN     1066/lighttpd

zanotuj pid procesu nasłuchującego na porcie, w moim przypadku było to 1066. Następnie uruchom

sudo kill -9 1066

Pamiętaj, aby zmienić pid na ten, który nasłuchuje na porcie, może nie być taki sam jak 1066

Muhammad Ali
źródło
1

Podobnie jak wiele aplikacji serwerowych, nie można powiązać z portem już powiązanym z inną aplikacją (w tym przypadku z portem 80 dla http). Przyczyną tego błędu jest to, że Apache nie może się połączyć z portem 80, ponieważ coś innego już tam nasłuchuje.

Uruchom sudo netstat -tulpn | grep :80i wyszukaj nazwę procesu nasłuchującego na porcie 80. Następnie ponownie skonfiguruj lub usuń ten program.

Thomas Ward
źródło
1

Na jakim serwerze używasz tego?

Aby rozwiązać pierwszy błąd

AH00558: apache2: Nie można wiarygodnie określić w pełni kwalifikowanej nazwy domeny serwera, używając 127.0.1.1. Ustaw globalnie dyrektywę „ServerName”, aby ukryć ten komunikat

Będziesz musiał edytować httpd.confplik, dodaj ten wiersz:

ServerName localhost

Aby rozwiązać inne błędy, upewnij się, że próbujesz uruchomić Apache z uprawnieniami roota.

sudo /usr/sbin/apachectl start
georgeriding
źródło
1
To nie był ich prawdziwy błąd.
Thomas Ward
Nie mam httpd.confpliku Czy mogę umieścić tę linię apache2.conf?
JohnK
Ustawianie ServerNamew httpd.confnie ma żadnego wpływu.
Cerin,
1

Mam ten sam problem.

Próbowałem zainstalować LAMP na WSL, postępując zgodnie z tym blogiem: LAMP na WSL, ale kiedy wydałem to polecenie:

/etc/init.d/apache2 start  

Mam ten sam błąd:

 * Starting Apache httpd web server apache2                                                                             
(13)Permission denied: AH00072: make_sock: could not bind to address [::]:80
(13)Permission denied: AH00072: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
AH00015: Unable to open logs
Action 'start' failed.
The Apache error log may have more information.
*

Wcześniej próbowałem zainstalować Nginx na Windowsie poprawnie i nie powiodło się, ale przypomniałem sobie, że związałem Nginx z portem 80. Problemem jest to, że nie jestem ekspertem od Linuksa i nie widziałem w pliku conf apache2 obszaru do powiązania z portem.

Próbowałem uruchomić:

sudo netstat -tulpn | grep :80

i nic nie dostałem. Przekierowałem również port w routerze, więc nie mogłem zrozumieć, jak rozwiązać problem.

Wiem, że Nginx nie działał, więc port 80 powinien być w porządku, z wyjątkiem Chrome, który, jak zakładam, działał również na porcie 80. Z frustracji, nie wiedząc, co się stanie, wykonałem polecenie w sudoten sposób:

sudo  /etc/init.d/apache2 start  

i mam:

 * Starting Apache httpd web server apache2                                                                              
 *

sudoKontynuując polecenie start , Apache2 ma uprawnienia do uruchomienia. Jest to rozwiązanie krótkoterminowe, ponieważ nie zaleca się uruchamiania Apache2 z uprawnieniami roota (więc jesteśmy informowani), więc rozwiązanie nadal istnieje, ale na razie mogę przynajmniej kontynuować testy.

Jeśli ktoś zna rozwiązanie, daj nam znać.

seanbw
źródło
@Yufenyuy dzięki. Próbowałem złapać wszystkie kody, ale ...
seanbw
... @ seanbw nie ma za co. To dlatego, że jesteśmy we wspólnocie ...
Thunderbird
@Yufenyuy Otrzymuję zmiany. Większość. czy możesz podać mi link, który uczy, jak tagować słowa takie jak sudo jako część zdania, ponieważ widzę, że sudo ma swój własny format, ale nie ma go w osobnej linii. Dzięki
seanbw
... @ seanbw możesz zawrzeć słowo między `i` przykład sudo, aby mieć ten format ... mam nadzieję, że to zrozumiałe.
ThunderBird,
0

Możesz zainstalować nowy serwer WWW lub cokolwiek, rezerwując port 80 sprawdź swoje usługi i to, co nowo zainstalowałeś

Muhammad El-Saeed
źródło
0

W moim przypadku nie był to problem z logami, ale tak naprawdę z Listendyrektywą - ustawiono na Listen na adres IP, który nie istniał (ponieważ przeniosłem laptopa do innej sieci).

Pojawiło się to dopiero po odinstalowaniu usługi, ponownej instalacji i napisaniu:

(OS 10049) The requested address is not valid in its context. : AH00072: make_sock: could not bind to address 0.0.0.0:80 AH00015: Unable to open logs

Właśnie skomentowałem obraźliwą dyrektywę Listen (i zatrzymałem innych) voila.

Wiem, że Q dotyczy Ubuntu, ale niektórzy ludzie mogą tu wylądować, napotykając problem.

PunchyRascal
źródło