After upgrading one test system I noticed a failure in apache22. # service apache22 start Performing sanity check on apache22 configuration: httpd: Syntax error on line 72 of /usr/local/etc/apache22/httpd.conf: Cannot load /usr/local/libexec/apache22/mod_proxy.so into server: Cannot open "/usr/local/libexec/apache22/mod_proxy.so" Starting apache22. At first I thought this was modules having become part of apache core, but no. I tried removing the LoadModule lines and it'll throw an error for ProxyPass directive, so the functionality really isn't there. This is the modules I still see: ls -m /usr/local/libexec/apache22 httpd.exp, mod_actions.so*, mod_alias.so*, mod_asis.so*, mod_auth_basic.so*, mod_auth_digest.so*, mod_authn_alias.so*, mod_authn_anon.so*, mod_authn_dbm.so*, mod_authn_default.so*, mod_authn_file.so*, mod_authz_dbm.so*, mod_authz_default.so*, mod_authz_groupfile.so*, mod_authz_host.so*, mod_authz_owner.so*, mod_authz_user.so*, mod_autoindex.so*, mod_cache.so*, mod_cern_meta.so*, mod_cgi.so*, mod_charset_lite.so*, mod_dav.so*, mod_dav_fs.so*, mod_deflate.so*, mod_dir.so*, mod_disk_cache.so*, mod_dumpio.so*, mod_env.so*, mod_expires.so*, mod_file_cache.so*, mod_filter.so*, mod_headers.so*, mod_imagemap.so*, mod_include.so*, mod_info.so*, mod_log_config.so*, mod_logio.so*, mod_mime.so*, mod_mime_magic.so*, mod_negotiation.so*, mod_reqtimeout.so*, mod_rewrite.so*, mod_setenvif.so*, mod_speling.so*, mod_ssl.so*, mod_status.so*, mod_unique_id.so*, mod_userdir.so*, mod_usertrack.so*, mod_version.so*, mod_vhost_alias.so* So it seems to be very related to the proxy module only. I tried installing mod_proxy_html but that is just an addon and will not make a difference. I guess this is related to following change: AFFECTS: users of www/apache22, www/apache22-event-mpm, www/apache22-itk-mpm, www/apache22-peruser-mpm, www/apache22-worker-mpm AUTHOR: ohauer@FreeBSD.org The port use now the options NG framework, this means WITH_xxx directives are no longer valid. Additional: - APR only specific options like THREADS, MYSQL, PGSQL, SQLITE, BDB and IPV6 where removed. - PKGNAME has changed from apache-2... to apache22-2... - PROXY is now a MULTI directive which means at last one additional PROXY_(AJP|BALANCER|CONNECT|FTP|HTTP|SCGI) module is required. I've selected all of those, yet a pkg rquery shows the following: PROXY off off (null) PROXY_AJP off off (null) PROXY_BALANCER off off (null) PROXY_CONNECT off off (null) PROXY_FTP off off (null) PROXY_HTTP off off (null) PROXY_SCGI off off (null) (same for the pkgs.freebsd.org package installed locally) I can say that both the pkgs.freebsd.org package and the one from my own poudriere have this issue, and i re-ran a build after saving back the port options. Please could someone check into this? It *might* be poudriere related but I'm not sure of that. 1) is the option enabled in your build 2) is there a makefile hickup that makes it not take effect
Hoping this isn't a pure poudriere thing. You'll know once you inquired if it's intentionally not a part of the pkgs.freebsd.org package: If you agree that mod_proxy is normally a part of what should be enabled, and it looks enabled in make config / poudriere options you'll know something is fishy. I've looked at my poudriere logs and it says: ====> mod_proxy: you have to choose at least one of them PROXY_AJP=off: mod_proxy_ajp PROXY_BALANCER=off: mod_proxy_balancer PROXY_CONNECT=off: mod_proxy_connect PROXY_FTP=off: mod_proxy_ftp PROXY_HTTP=off: mod_proxy_http PROXY_SCGI=off: mod_proxy_scgi ===> Use 'make config' to modify these settings (as if it were disabled and none selected, while it's very much enabled if i look at the options file & what I see in the config dialog)
I'm investigating some more. Currently I'm hoping that this was (locally) caused by missing symlinks in my poudriere host and in the FreeBSD binary case it's just been disabled intentionally Although I don't know why one would disable mod_proxy intentionally ;)
Hi Florian, make sure you have enabled PROXY and one of the PROXY_$PROTO module! $ make showconfig | grep PROXY PROXY=on: mod_proxy <== required PROXY_AJP=on: mod_proxy_ajp ... PROXY_HTTP=on: mod_proxy_http ... httpd-2.2.x has a different build system the httpd-2.4.x, and requires to enable PROXY with at last one PROXY_$module.
Can be closed but please consider to think about the default options. Not including mod_proxy and mod_proxy_http by default is not providing any real-world benefit and requires to go away from upstream packages for a very common use case.
Hi Florian, the default options where set a decade ago because any build module is also an activated module in apache22. In case you can make the switch to apache24 the missing module issue is no longer present since not every module that was build is automatically enabled. This allows us to ship apache24 with 108 modules where only 22 are enable by default.