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.