LINUX.ORG.RU
ФорумAdmin

Не запускается апач после перезагрузки.

 , , , ,


0

1

Здравствуйте. Debian12 после перезагрузки сервера не запускается Apache2. Если запустить вручную, то работает отлично. После ввода команды: systemctl status apache2.service Получаю вот этот вывод: http://paste.org.ru/?vvi4dn -не работает..

После некоторых поисков нашел информацию, что подобная ошибка может возникать в связи с тем, что старт Apache происходит до запуск сети.

Нашел несколько подобных тем: https://access.redhat.com/solutions/2815741 Запуск systemd сервиса после соединения с сетью https://bugzilla.redhat.com/show_bug.cgi?id=921566 В последней ссылке один из участников советует сделать вот это: http://paste.org.ru/?65nugp Кстати сказать, у меня не нашлось файла /etc/systemd/system/httpd.service вообще.. При его создании вручную и добавлении в него вот этого содержимого: http://paste.org.ru/?qzj7ol Появляются уже 2 ошибки, система пишет, что: http://paste.org.ru/?0sbbme В общем неправильное содержание этого файла.. Может быть вместо слова [Unit] нужно подставить какое-то своё значение, поэтому он ругается? Или другой вариант, все мои предположения неверные и дело в чем-то другом..



Последнее исправление: timyr (всего исправлений: 2)

Скажи, а ты пробовал хотя бы гуглить ошибки?

apache2: Could not reliably determine the server'

Cannot assign requested address: AH00072: make_sock

Это значит, что 80 и / 443 порт уже кто-то слушает.

В прошлых темах тебе показывали как смотреть кто слушает порт.

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 1)
Ответ на: комментарий от kostik87

Если правильно помню, в прошлой теме ТС не смог допереть, что если ранее владельцем директории и файлов в ней был www-data:www-data, то после переноса нужен chown, так как сейчас root:root, а ты от него ждешь понимания, что такое порты и процессы, что их слушают.

Я искренне изумлен тем, что его до сих пор не уволили по несоответствию.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от kostik87

Да, кажется вы правы. При вводе вот этой команды: systemctl status apache2.service -l –no-pager В выводе присутствуют строки: Cannot assign requested address: AH00072: make_sock: could not bind to address 192.168.15.235:8443 На 443 порт жалуется.. На сервере ещё есть программа nginx - она тоже после ребута не запускается в автоматическом режиме,.. так может они между собой 443 порт поделить не могут?

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 1)
Ответ на: комментарий от timyr

Тебе писали пример с использованием netstat только её вывод фильтровался по отбору строк с определённым названием программ, а тебе надо отфильтровать по номерам портов.

Вообще, ты называешь apache2 и nginx программами, ты прав, но эти программы принадлежат к определённому классу программ.

Сходит почитай, что такое apache2, что такое nginx.

Как они работают, как вообще происходит обмен запросами, сетевое взаимодействие, хотя бы на пальцах, что такое сетевой порт, что такое адрес, для чего это надо.

Понимаешь, я с @Vsevolod-linuxoid, в принципе согласен, тебе надо учиться или писать заявление. У тебя слишком сложные вопросы от того, что это базовые понятия, которыми ты должен уметь оперировать, чтобы настраивать сервера.

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

kostik87 ★★★★★
()
Ответ на: комментарий от timyr

Да, если какой-то процесс занял определенный порт, то другой не сможет его занять. Или не запускать одновременно, или не запускать на тех же портах. И это ну самые базовые знания.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от timyr

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

  • включён ли его запуск
  • ошибки в логах
  • если это сетевой сервис - проверить нет ли другого сервиса, слушающего порты этого же
  • нет ли ошибок в конфигурационных файлах
  • нет ли ошибок с правами доступа
kostik87 ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Вполне возможно и я предполагаю кто. Он ещё писал, что ставил ispmanager, вполне возможно, что по какой-то инструкции, где ставился apache2 или nginx или вообще готовым скриптом, а теперь не понимает почему у него не запускается.

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

В Gentoo даже сеть нужно было включать отдельным сценарием для каждого интерфейса, но это было давно, хотя в целом с openrc думаю так же сейчас.

kostik87 ★★★★★
()

Если ты что-то настраиваешь, то лучше используй официальные инструкции из WIKI выбранного дистрибутива, не используй какие-то левые инструкции в Internet.

В особенности не выполняй бездумно команды, пока не поймёшь что она делает.

Твоя цель понять как работает каждая команда в инструкции.

В особенности избегай инструкций, где предлагают скачать скрипт и выполнить. Ты не поймёшь, что произойдёт.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Это основное отличие Debian-based от RHEL-based. В первых сервисы обычно прописываются в автозапуск после установки ПО, во вторых нужно руками.

Vsevolod-linuxoid ★★★★★
()
Последнее исправление: Vsevolod-linuxoid (всего исправлений: 1)
Ответ на: комментарий от Vsevolod-linuxoid

RPM пакет это по сути архив и всё. Там есть только файлы самого пакета и управляющие файлы с описанием зависимостей для пакетного менеджера.

В Deb помимо перечисленного - набор скриптов pre и post скриптов. Не всегда обоих типов, но возможность выполнить некоторые действия через пакетный менеджер есть.

RPM - просто распаковка файлов из архива.

kostik87 ★★★★★
()
Ответ на: комментарий от kostik87

Верно, я поставил веб панель HestiaCP вот этим скриптом: wget https://raw.githubusercontent.com/hestiacp/hestiacp/release/install/hst-install.sh Там и апач и nginx вместе идут.. Получается авторы скрипта что-то не учли или я что-то неправильно настраиваю?

timyr
() автор топика
Ответ на: комментарий от timyr

https://hestiacp.com/install.html

Check you are running as the root user, configure the options you want below, then run

Нужно было правильно конфигурировать перед запуском. Ты инструкции не читаешь и/или английского не знаешь?

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от timyr

@Vsevolod-linuxoid тебе ответил уже. Я дополню, в том скрипте в начале идёт определение дистрибутива, его версии, Ubuntu, Debian, RedHat, CentOS, прочее, а потом если версия определена и поддерживается скачивается ещё один скрипт, в зависимости от дистрибутива и версии и уже он выполняет настройку.

Выполняя такие скрипты ты абсолютно можешь не знать что в итоге сделается.

Про чтение описания по применению скриптов Всеволод тебе уже сказал.

Так что ты выполнил неизвестно что, не прочитав даже инструкцию и не выполнив её.

Что же ты сюда пришёл опять спрашивать что делать.

У тебя своя голова на плечах должна быть.

kostik87 ★★★★★
()
Ответ на: комментарий от timyr

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

Я в принципе не понимаю, как ты так умудрился. Подтяни английский и RHCSA пройди, авось поможет: Изменение загрузчика в persistеnce (комментарий)

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от Vsevolod-linuxoid

Хочешь прикол, сижу пилю для разрабов, чтобы они могли по кнопке в gitlab pipeline подключиться к MS SQL серверу, причём за VPN и чтобы сделался backup базы.

И в скрипты всё это оборачиваю. На Windows установлена реализация OpenSSH сервера от Microsoft, всё в принципе работает.

Только при формировании строк на основе выводов команд с Windows сервера съедается часть символов в формируемой строке.

И так и так кручу. В итоге, проблема была в формате конца строки.

В PHP к примеру есть функция trim(), в bash тоже можно написать, но нужно понимать что срезать, в итоге dos2unix помог.

Сложная логика вынесена на Linux и тут хоть можно делать довольно сложные вещи.

Нужно все выводы с OpenSSH Windows оборачивать.

Вот такие пироги.

И это тут не такая проблема как у ТС, вроде всё понятно, но что не так не понимаю )))

kostik87 ★★★★★
()
Последнее исправление: kostik87 (всего исправлений: 3)
Ответ на: комментарий от kostik87

Дорогой kostik87, Вы написали «В особенности избегай инструкций, где предлагают скачать скрипт и выполнить. Ты не поймёшь, что произойдёт.»

Как вы считаете в установочном скрипте с официального сайта hestiacp есть что-то зловредное или потенциально опасное типа вируса или трояна? Я к тому, что насколько можно доверять? А то ваши слова прозвучали как потенциальная угроза для безопасности компьютера. Интересует ваше мнение..

timyr
() автор топика
Ответ на: комментарий от timyr

зловред - вряд ли (хотя не исключено!), но скрипт может просто не подходить к твоему дистрибутиву, тогда в лучшем случае он упадёт с ошибкой, в худшем - сделает что-нибудь с твоей системой или данными

anonymous
()
Ответ на: комментарий от anonymous

Его прошлые темы посмотри. То есть шанс что чисто для себя есть, но это ну очень уж типичные задачи админа. Для себя обычно что-то поинтереснее выбирают. Нужно обладать крайне специфичным вкусом, чтобы для удовольствия даром выполнять простые рутинные задачи.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от timyr

Блин, ты реально для себя все эти темы заводил, и не получаешь денег за работу по Linux?

Тогда прости за отношение. И я советую тебе как-то обозначать в темах, что ты для себя.

Потому что многие не хотят помогать дармоедам, что вместо того чтобы работать самим, пробуют забесплатно получить готовое решение на форуме.

А вот если ты просто для хобби и только учишься — другое дело.

Vsevolod-linuxoid ★★★★★
()
Ответ на: комментарий от kostik87

Дорогой kostik87 Напомните пожалуйста как проверить кто ещё может слушать порт? Какой командой?

kostik87 писал: "Скажи, а ты пробовал хотя бы гуглить ошибки?

apache2: Could not reliably determine the server’

Cannot assign requested address: AH00072: make_sock

Это значит, что 80 и / 443 порт уже кто-то слушает.

В прошлых темах тебе показывали как смотреть кто слушает порт."

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 2)
Ответ на: комментарий от kostik87

Ради любопытства я поставил NestiaCP ещё на один компьютер с debian12, но в этот раз указал конфигурацию NestiaCP без Apace2 в надежде на то, что может быть Apace2 и Nginx мешают друг другу.. Но нет, чуда не произошло, Nginx всё равно не запускается после перезагрузки самостоятельно, только вручную. Вот вывод команды netstat -tulpn | grep ‘443|80’ на машине без апача.. http://paste.org.ru/?xe3uq7

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 2)
Ответ на: комментарий от timyr

Удалось найти решение: https://von-hamster.ru/os/nginx-bind-to-80-failed-99-cannot-assign-requested-address-%D0%BF%D0%BE%D1%81%D0%BB%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0/

Теперь после перезагрузки Nginx нормально стартует..

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 1)
Ответ на: комментарий от timyr

Что у тебя в конфиге nginx, то, что написано - это дичь. У тебя там, скорее всего, указан несуществующий адрес и ты пытаешься запустить nginx, чтобы он слушал 80 порт, принимая запросы на IP адрес, который не назначен ни одному интерфейсу.

Тебя это самого не смущает?

У тебя ошибка в конфиге, а ты дичайшим костылём устраняешь следствие, а не причину.

kostik87 ★★★★★
()
Ответ на: комментарий от timyr

Пожалуйста, почитай спецификацию и описание параметров конфигурационного файла nginx, на его сайте даже на русском есть.

И в частности, что делают параметров include ....

Без знания английского и навыков программирования тебе будет сложно.

Разбирайся.

anonymous
()
Ответ на: комментарий от anonymous

Спасибо почитаю.. Но насколько я помню из чтения книжек по программированию микроконтроллеров include это директива языка «Си» а именно директива процессора, которая добавляет в листинг программы библиотечные файлы.. Т.е. подтягивает библиотеки..

Начинаю вспоминать, что глюки с Nginx начались после того как в веб панели HostiaCp я добавил нового пользователя и добавил ему домен и почту… И после этого понеслось веселье.. А до этого он вроде нормально работал..

Это конечно пока предположения, но судя по тому что вы на include намекаете, и того что у меня глюки пошли после добовления пользователя.. Возможно директивой include конфигурация ссылается на вновь созданный домен.. и там находятся проблеммы. Например: include /etc/nginx/conf.d/domains/*.conf; (это я только предполагаю).

timyr
() автор топика
Последнее исправление: timyr (всего исправлений: 3)