AH00015: Не вдається відкрити журнали Не вдалося виконати дію. в ubuntu 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

Чи можете ви опублікувати файл конфігурації apache?
Леті

Вибачте, як отримати файл конфігурації apache?
narru033

Так і повинно бути /etc/apache2/apache2.conf, /etc/apache2/sites-enabled/000-default.confі якщо ви визначили своє/etc/apache2/sites-available/yourFile.conf
Lety

Відповіді:


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

1
Це не була їх справжня помилка.
Thomas Ward

У мене немає httpd.confфайлу. Чи можу я поставити цю лінію apache2.conf?
ДжонК

Установка ServerNameв httpd.confне має ніякого ефекту.
Серін

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 повинен був бути відмінним, за винятком хромування, який, мабуть, також працює на порту 80 Отже, розчарувавшись, не знаючи, що станеться, я продовжив команду sudoтак:

sudo  /etc/init.d/apache2 start  

і я отримав:

 * Starting Apache httpd web server apache2                                                                              
 *

Виконуючи команду start sudo, Apache2 має повноваження запускати. Це короткочасне рішення, оскільки не бажано запускати Apache2 з кореневими привілеями (тому ми проінформовані), щоб рішення все ще було там, але поки що я можу принаймні продовжити свої тести.

Якщо хтось знає рішення, будь ласка, повідомте нам про це.


@Yufenyuy спасибі Я намагався спіймати всі коди, але ...
seanbw

... @ seanbw ласкаво просимо. Тому ми в спільноті ...
ThunderBird

@Yufenyuy Зміни, які я отримую. Більшість. чи можете ви надати мені посилання, яке вчить мене тегувати такі слова, як sudo, як частину речення, тому що я бачу, що у sudo є власний формат, але його немає в окремому рядку. Спасибі
seanbw

... @ seanbw ви можете укласти слово між `та` прикладом 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

Тож я просто прокоментував кривдну директиву Слухати (і тримав інших) вуалу.

Я знаю, що Q стосується Ubuntu, але деякі інші люди можуть приземлитися тут, зіткнувшись з проблемою.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.