Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 575598

Summary: =www-servers/apache-2.4.18 - apache2 has detected an error in your setup: AH00526: Syntax error on line 110 of /etc/apache2/modules.d/00_default_settings.conf: Invalid command 'Require', perhaps misspelled or defined by a module not included in the server
Product: Gentoo Linux Reporter: Jeroen Roovers (RETIRED) <jer>
Component: Current packagesAssignee: Apache Team - Bugzilla Reports <apache-bugs>
Status: CONFIRMED ---    
Severity: normal CC: arthur
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 468302    

Description Jeroen Roovers (RETIRED) gentoo-dev 2016-02-25 05:26:55 UTC
[ebuild   R   ~] www-servers/apache-2.4.18:2::gentoo  USE="debug doc ssl -ldap -libressl (-selinux) -static -suexec -threads" APACHE2_MODULES="alias authz_host dir mime unixd -access_compat -actions -asis -auth_basic -auth_digest -authn_alias -authn_anon -authn_core -authn_dbd -authn_dbm -authn_file -authz_core -authz_dbd -authz_dbm -authz_groupfile -authz_owner -authz_user -autoindex -cache -cache_disk -cern_meta -cgi -cgid -charset_lite -dav -dav_fs -dav_lock -dbd -deflate -dumpio -env -expires -ext_filter -file_cache -filter -headers -http2 -ident -imagemap -include -info -lbmethod_bybusyness -lbmethod_byrequests -lbmethod_bytraffic -lbmethod_heartbeat -log_config -log_forensic -logio -macro -mime_magic -negotiation -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_fcgi -proxy_ftp -proxy_html -proxy_http -proxy_scgi -proxy_wstunnel -ratelimit -remoteip -reqtimeout -rewrite -setenvif -slotmem_shm -socache_shmcb -speling -status -substitute -unique_id -userdir -usertrack -version -vhost_alias" APACHE2_MPMS="-event -peruser -prefork -worker" 0 KiB
[ebuild   R   ~] app-admin/apache-tools-2.4.18::gentoo  USE="ssl -libressl" 0 KiB

# /etc/init.d/apache2 start
 * apache2 has detected an error in your setup:
AH00526: Syntax error on line 110 of /etc/apache2/modules.d/00_default_settings.conf:
Invalid command 'Require', perhaps misspelled or defined by a module not included in the server configuration
 * ERROR: apache2 failed to start
Comment 1 Christian Jumpertz 2016-03-22 21:43:23 UTC
Hello!

I don't know if this bug is up to date. Because today emerge disgorges a warning when i emerge apache without some Modules or useflags.

Like...
===============================
* Module 'authz_core' is required in the default apache configuration.
* Module 'socache_shmcb' is required in the default apache configuration.
* 
* You have disabled one or more required modules
* for the default apache configuration.
* Although this is not an error, please be
* aware that this setup is UNSUPPORTED.

===============================
* Warning: Critical module not installed!
 * Modules 'authn_core', 'authz_core' and 'unixd'
 * are highly recomended but might not be in the base profile yet.
 * Default config for ssl needs module 'socache_shmcb'.
 * Enabling the following flags is highly recommended:
 * + apache2_modules_authn_core
==============================

The solution was, as suggested to set the Useflag "apache2_modules_authn_core apache2_modules_unixd" and add the missing modules to the make.conf.
Comment 2 Michael Orlitzky gentoo-dev 2016-05-15 19:34:36 UTC
@jer: You need the authz_core module. Our default configuration (and basically every real configuration) requires it.

  # critical modules for the default config
  MODULE_CRITICAL="
    authn_core
    authz_core
    authz_host
    dir
    mime
    unixd
  "

The warning comes in pkg_postinst() which isn't ideal if you've accidentally broken your Apache. On the other hand, some of those are more critical than others, and if you mess with the default config a bit you can easily get away without e.g. authz_host. So it would be overkill to have the user set something like I_KNOW_WHAT_I_AM_DOING.
Comment 3 Jeroen Roovers (RETIRED) gentoo-dev 2016-05-16 05:51:28 UTC
(In reply to Michael Orlitzky from comment #2)
> @jer: You need the authz_core module. Our default configuration (and
> basically every real configuration) requires it.

But these are simply USE flags so you could very well set REQUIRED_USE to define (and fail on bad) flags being set. And pkg_postinst() would be too late whereas REQUIRED_USE would bail out before the build.
Comment 4 Pacho Ramos gentoo-dev 2016-05-21 10:42:14 UTC
How could REQUIRED_USE replace the current warnings? Also, I don't think this should block all the stabilization (well, the warning is really clear about what people can expect when disabling the USE)