При старте апача, получаю ошибку
# apachectl start
[Tue Apr 24 12:29:41 2012] [warn] (2)No such file or directory: Failed to enable the 'httpready' Accept Filter
Причина проста: не запущен этот самый фильтр, а апач настроен его использовать. И так, использовать или не использовать…
запускаем
# kldload accf_http
# kldload accf_http
kldload: can't load accf_http: File exists
# kldstat
Id Refs Address Size Name
1 3 0xffffffff80100000 c9fe20 kernel
2 1 0xffffffff80e22000 7f2 accf_http.ko
и сразу испытываем индейца …
# apachectl start
# apachectl start
httpd (pid 1410) already running
Если хотим чтоб наш фильтр запустился при следующем старте системы, дописываем в /boot/loader.conf строку
accf_http_load="YES"
(или есть такое решение)
apache22_http_accept_enable="YES"
, если хорошо подумали, а может и прочитали,понимаем от чего отказываемся и все равно не хотим, то можем вообще предотвратить его запуск. Для этого открываем /usr/local/etc/apache22/httpd.conf
и дописываем
AcceptFilter http none
AcceptFilter https none
1 комментарий. Оставить новый
Быват так, что собрали apache22, попытались запуститься, но получили
/usr/local/etc/rc.d/apache: WARNING: failed to start apache
Как с этим бороться?
Смотрим логи в логах ничего нет кроме вышеописанного варнинга.
Скорее всего вы собрали апач с Threads и поэтому имеем проблему с ssl сертификатами, изза чего получаем банан 🙂
выхода два
1. Скорпровать серты
2. отключить в httpd.conf модуль
#LoadModule unique_id_module libexec/apache22/mod_unique_id.so
после чего делаем:
/usr/local/etc/rc.d/apache22 start
все запускается
проверяем:
sch-test01# ps -ax | grep httpd
1494 ?? Ss 0:00.11 /usr/local/sbin/httpd -DNOHTTPACCEPT
1495 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
1496 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
1497 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
1498 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
1499 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
1514 ?? I 0:00.00 /usr/local/sbin/httpd -DNOHTTPACCEPT
Все работает 🙂 со всеми нашими тредами 🙂