Не стартует Apache на FreeBSD из-за пеправильной последовательности загрузки модулей mod_proxy и mod_proxy_http
Выдает такую ошибку:
# apachectl restart Performing sanity check on apache22 configuration: httpd: Syntax error on line 89 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/mod_proxy_http.so into server: /usr/local/libexec/apache22/mod_proxy_http.so: Undefined symbol "ap_proxy_location_reverse_map"
Во-первых, надо убедиться что апач собран с этими модулями:
# cd /usr/ports/www/apache22 # make config ... [x] PROXY mod_proxy ... [x] PROXY_HTTP mod_proxy_http ...
и сами файлы присутствуют в /usr/local/libexec/apache22
:
# cd /usr/local/libexec/apache22/ # ls | grep mod_proxy mod_proxy.so mod_proxy_ajp.so mod_proxy_balancer.so mod_proxy_connect.so mod_proxy_ftp.so mod_proxy_http.so mod_proxy_scgi.so
Во-вторых, убедиться, что модули стоят в следующей последовательности:
mcedit /usr/local/etc/apache22/httpd.conf # ... LoadModule proxy_module libexec/apache2/mod_proxy.so ... LoadModule proxy_http_module libexec/apache2/mod_proxy_http.so ...
Был сильно удивлен нежеланием апача стартовать, когда загрузка модулей шла в обратном порядке.