И тогда практически единственным рабочим вариантом будет chkconfig --add mod_fcgid.
Ну, так и сделал. Перезагружу комп - отпишусь о результате.
Перезагрузил. Апач стартовал успешно.
Однако, непонятки остались.
Раз уж рабочие директории в /var/run создаются автоматически по мере необходимости запуска сервисов, тогда не ясно, каким образом появляется директория /var/run/httpd2. В стартовых скриптах не нашел, где она создается. Однако, в /etc она так или иначе упоминается в именах файлов:
# grep -rn /var/run/httpd2 /etc/
/etc/rc.d/init.d/htcacheclean2:58:pidfile=/var/run/httpd2/${prog}.pid
/etc/rc.d/init.d/httpd2:9:# pidfile: /var/run/httpd2/httpd.pid
/etc/tmpfiles.d/apache2.conf:1:d /var/run/httpd2 0775 root apache2 -
/etc/httpd2/conf/mods-available/cgid.conf:7: Scriptsock /var/run/httpd2/cgisock
/etc/httpd2/conf/extra-available/httpd-mpm.conf:12: PidFile "/var/run/httpd2/httpd.pid"
Может, тут строчка "# pidfile: /var/run/httpd2/httpd.pid" - это не камент, а инструкция, по которой в том числе выполняется подготовка директории? Подобного рода "каменты" используется в стартовых скриптах на FreeBSD для управления последовательностью запуска сервисов, например.
Или в данном случае работает другой какой-то механизм? Растолкуйте пожалуйста технологию, если не сложно.
Цитата: Lblss от Сегодня в 09:33:36
2. Понятно, что этот инит-скрипт должен выполниться раньше запуска Апача. Но не понятно, почему он не привязан к старту Апача явно.
А как привязать ? Апач может быть, а fcgid может не быть. В инит-скрипт Апача писать запуск всего, что только возможно ? Можно, конечно, договориться о каком-нибудь каталоге в /etc/httpd2 с симлинками на необходимое, но это надо прорабатывать.
Сдается мне, дополнительный каталог - это уже перебор.
Список загружаемых модулей /etc/httpd2/conf/mods-enabled/*.load может как-то можно использовать? Например, для попытки запустить соответствующий init-скрипт при его наличии. Или в *.load прописать что-то с необходимостью дополнительной инициализации модуля. Хотя, думаю, это тоже перебор и усложнение.
Подумалось. Может, проще перекинуть /var/run/mod_fcgid/fcgid_sock и /var/run/mod_fcgid/fcgid_shm в директорию /var/run/httpd2 - вроде, они близкие родственники. Тогда и скрипт для инициализации может не понадобится (тут могу ошибаться, не владею тонкостями вопроса). Или это к бардаку приведет или к каким-то проблемам?