Apache не работает с rc.d на FreeBSD
Я использую FreeBSD 8.3 и Apache 2.2. Я не устанавливал Apache из портов, вместо этого скомпилировал его из исходного кода, потому что хотел переместить бинарный файл и конфигурацию по другому пути (я сосредоточил все основные рабочие демоны и их конфигурации в одном месте). В любом случае, я основал файл /usr/local/etc/rc.d/apache22 на одном из другого сервера, на котором он был установлен из портов, я только изменил двоичный и конфигурационный пути внутри.
Я могу выполнить его вручную при запуске /usr/local/etc/rc.d/apache22, однако даже при apache22_enable="YES" в /etc/rc.conf он не запускается. Все права доступа и владельца идентичны другому серверу, на котором он работает.
Что мне не хватает и есть ли способ отладить такого рода вещи?
1 ответ
Если вы бежите /usr/local/etc/rc.d/apache22 rcvar
он скажет вам переменную, на которую он смотрит, и то, что он установлен в rc.conf, но если он запускается правильно с start
(в отличие от onestart
или же forcestart
) это должно начаться правильно при загрузке.
Если это не дает вам немедленного ответа и решения, вероятно, будет проще, если вы забудете о том, чтобы основывать свои скрипты на другом (скрипт Apache имеет некоторую дополнительную сложность), и вместо этого начните с самого начала с этого руководства по практическому написанию сценариев rc.d.,
Если вы будете следовать этим инструкциям, вам придется приложить все усилия, чтобы создать нерабочий сценарий.
В качестве бонуса вы узнаете все о том, как работает последовательность rc.d, и сможете лучше понимать и устранять ее в будущем.