AH00015: Невозможно открыть журналы. Не удалось выполнить действие «Пуск». в убунту 14.04

10

Я пытаюсь установить apache2, я столкнулся с этой проблемой. Дайте мне несколько решений

Перезапуск веб-сервера apache2 выдает ошибку:

    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
источник
Не могли бы вы опубликовать свой конфигурационный файл apache?
Лети
извините, как получить конфигурационный файл apache?
narru033
Так и должно быть /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confи если вы определили свой/etc/apache2/sites-available/yourFile.conf
Лети

Ответы:

8

Пробег

sudo netstat -tulpn | grep :80

и вы получите вывод что-то вроде

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

обратите внимание на pid процесса прослушивания порта, в моем случае это был 1066. Затем запустите

sudo kill -9 1066

Не забудьте изменить pid на тот, который прослушивает порт, он может отличаться от 1066

Мухаммед Али
источник
1

Как и многие серверные приложения, вы не можете привязать порт, уже связанный с другим приложением (в нашем случае это порт 80 http). Причина вашей ошибки в том, что Apache не может подключиться к порту 80, потому что что-то еще там уже прослушивается.

Запустите sudo netstat -tulpn | grep :80и найдите имя процесса, который прослушивает порт 80. Затем либо перенастройте, либо удалите эту программу.

Томас Уорд
источник
1

На каком типе сервера вы работаете?

Для устранения первой ошибки

AH00558: apache2: не удалось надежно определить полное доменное имя сервера, используя 127.0.1.1. Установите директиву «ServerName» глобально, чтобы подавить это сообщение

Вам нужно будет отредактировать httpd.confфайл, добавив эту строку:

ServerName localhost

Чтобы устранить другие ошибки, вы должны убедиться, что вы пытаетесь запустить Apache с привилегиями root.

sudo /usr/sbin/apachectl start
georgeriding
источник
1
Это не было их настоящей ошибкой.
Томас Уорд
У меня нет httpd.confфайла. Могу ли я поставить эту линию в apache2.conf?
JohnK
Установка ServerNameв не httpd.confимеет никакого эффекта.
Cerin
1

У меня такая же проблема.

Я попытался установить LAMP на WSL, следуя этому блогу: LAMP на WSL, но когда я выполнил эту команду:

/etc/init.d/apache2 start  

Я получил эту же ошибку:

 * 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.
*

Ранее я пытался установить Nginx на Windows должным образом и потерпел неудачу, но вспомнил, что привязал Nginx к порту 80. Проблема в том, что я не являюсь экспертом по Linux и не могу увидеть в файле apache2 conf область для привязки к порту.

Я пробовал бегать:

sudo netstat -tulpn | grep :80

и ничего не получил. Я также перенаправил порт в маршрутизаторе, поэтому не мог понять, как устранить ошибку.

Я знаю, что Nginx не работал, поэтому с портом 80 должно было быть все в порядке, за исключением chrome, который, как я полагаю, также работал на порте 80. Поэтому, не зная, что произойдет, я выполнил команду sudoследующим образом:

sudo  /etc/init.d/apache2 start  

и я получил:

 * Starting Apache httpd web server apache2                                                                              
 *

Продолжая команду запуска с sudo, Apache2 имеет право на запуск. Это краткосрочное решение, потому что не рекомендуется запускать Apache2 с правами суперпользователя (поэтому мы проинформированы), поэтому решение все еще существует, но сейчас я могу, по крайней мере, продолжить свои тесты.

Если кто-нибудь знает решение, пожалуйста, сообщите нам.

seanbw
источник
@Yufenyuy спасибо. Я пытался поймать все коды, но ...
Seanbw
... @ seanbw, пожалуйста. Вот почему мы в сообществе ...
ThunderBird
@Yufenyuy Правки, которые я получаю. Наиболее. Можете ли вы дать мне ссылку, которая учит меня, как помечать такие слова, как sudo, как часть предложения, потому что я вижу, что sudo имеет свой собственный формат, но не в отдельной строке. Спасибо
seanbw
... @ seanbw, вы можете заключить слово между `и` example sudo, чтобы оно имело этот формат ... надеюсь, вы понимаете это.
ThunderBird
0

Вы можете установить новый веб-сервер или что-либо зарезервировать порт 80, проверить ваши услуги и то, что вы недавно установили

Мухаммед Эль-Саид
источник
0

В моем случае это была не проблема с журналами, а на самом деле с Listenдирективой - было установлено «Прослушивание по IP-адресу, который не существует» (когда я переместил свой ноутбук в другую сеть).

Это появилось только после того, как я удалил службу, переустановил ее и сказал:

(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

Поэтому я только что прокомментировал оскорбительную директиву Listen (и оставил других) вуаля.

Я знаю, что Q касается Ubuntu, но некоторые другие люди могут приземлиться здесь, столкнувшись с проблемой.

PunchyRascal
источник