# Trouble with Apache-2.4.4 on a few boxes

## hanj

Doing apache updates today, and all of my x86 boxes went fine. As soon as I started working on my 64 bit cloud instances, I started having trouble.

```

comp # apache2ctl configtest

 * Checking apache2 configuration ...

 * apache2 has detected an error in your setup:

apache2: Syntax error on line 72 of /etc/apache2/httpd.conf: Cannot load modules/mod_authn_default.so into server: /usr/lib/apache2/modules/mod_authn_default.so: cannot open shared object file: No such file or directory                                                                                                                                     [ !! ]

comp # apache2ctl configtest

 * Checking apache2 configuration ...

 * apache2 has detected an error in your setup:

apache2: Syntax error on line 72 of /etc/apache2/httpd.conf: Cannot load modules/mod_authn_default.so into server: /usr/lib/apache2/modules/mod_authn_default.so: cannot open shared object file: No such file or directory  

comp # apache2ctl configtest

 * Checking apache2 configuration ...

 * apache2 has detected an error in your setup:

apache2: Syntax error on line 173 of /etc/apache2/httpd.conf: Syntax error on line 4 of /etc/apache2/modules.d/70_mod_php5.conf: Cannot load modules/libphp5.so into server: /usr/lib/apache2/modules/libphp5.so: undefined symbol: unixd_config                                                                                                           [ !! ]
```

I commented out the authn_default in the httpd.conf, but the unixd_config is the part I'm getting hung up on. I built apache with the following modules - authn_core authz_core unixd socache_shmcb which I figured would have fixed everything, but still no go.

The odd thing, those modules were not added to my make.conf on the x86 instances. I re-emerged apache with those modules, and I still continue to get those errors. Any ideas?

Here is a snip from my make.conf:

```
APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias cgi authn_core authz_core unixd socache_shmcb"

APACHE2_MPMS="prefork"

PHP_TARGETS="php5-4"
```

Here is my USE flag output:

```
[ebuild     U  ] app-admin/apache-tools-2.4.4 [2.2.24] USE="ssl" 0 kB

[ebuild     U  ] www-servers/apache-2.4.4:2 [2.2.24:2] USE="ssl -debug -doc -ldap (-selinux) -static -suexec -threads" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_core%* authn_dbd authn_dbm authn_file authz_core%* authz_dbm authz_groupfile authz_host authz_owner authz_user autoindex cache cgi dav dav_fs dav_lock dbd deflate dir env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif socache_shmcb%* speling status unique_id unixd%* userdir usertrack vhost_alias -access_compat% -asis -authn_alias -cache_disk% -cern_meta -cgid -charset_lite -dumpio -lbmethod_bybusyness% -lbmethod_byrequests% -lbmethod_bytraffic% -lbmethod_heartbeat% -log_forensic -proxy_ftp -proxy_scgi -reqtimeout -slotmem_shm% -substitute -version (-authn_default%*) (-authz_default%*) (-disk_cache%*) (-mem_cache%*)" APACHE2_MPMS="prefork -event -itk -peruser -worker" 0 kB
```

Here is my emerge --info output:

```
Portage 2.1.11.52 (default/linux/amd64/13.0, gcc-4.5.4, glibc-2.15-r3, 3.6.11-gentoo-rscloud x86_64)

=================================================================

System uname: Linux-3.6.11-gentoo-rscloud-x86_64-Quad-Core_AMD_Opteron-tm-_Processor_2374_HE-with-gentoo-2.1

KiB Mem:     2050068 total,    209320 free

KiB Swap:    4194300 total,   3996908 free

Timestamp of tree: Mon, 04 Mar 2013 10:30:01 +0000

ld GNU ld (GNU Binutils) 2.22

app-shells/bash:          4.2_p37

dev-lang/python:          2.6.6-r2, 2.7.3-r2, 3.1.5, 3.2.3

dev-util/cmake:           2.8.9

dev-util/pkgconfig:       0.28

sys-apps/baselayout:      2.1-r1

sys-apps/openrc:          0.11.8

sys-apps/sandbox:         2.5

sys-devel/autoconf:       2.69

sys-devel/automake:       1.10.2, 1.11.6

sys-devel/binutils:       2.22-r1

sys-devel/gcc:            4.3.4, 4.4.5, 4.5.4, 4.6.3

sys-devel/gcc-config:     1.7.3

sys-devel/libtool:        2.4-r1

sys-devel/make:           3.82-r4

sys-kernel/linux-headers: 3.6 (virtual/os-headers)

sys-libs/glibc:           2.15-r3

Repositories: gentoo x-portage

ACCEPT_KEYWORDS="amd64"

ACCEPT_LICENSE="* -@EULA"

CBUILD="x86_64-pc-linux-gnu"

CFLAGS="-O2 -pipe"

CHOST="x86_64-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt /var/bind"

CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php5.3/ext-active/ /etc/php/apache2-php5.4/ext-active/ /etc/php/cgi-php5.3/ext-active/ /etc/php/cgi-php5.4/ext-active/ /etc/php/cli-php5.3/ext-active/ /etc/php/cli-php5.4/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"

CXXFLAGS="-O2 -pipe"

DISTDIR="/usr/portage/distfiles"

FCFLAGS="-O2 -pipe"

FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"

FFLAGS="-O2 -pipe"

GENTOO_MIRRORS="http://distfiles.gentoo.org"

LDFLAGS="-Wl,-O1 -Wl,--as-needed"

MAKEOPTS="-j4"

PKGDIR="/usr/portage/packages"

PORTAGE_CONFIGROOT="/"

PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="amd64 apache2 berkdb bzip2 cli cracklib crypt cxx dri fortran gdbm gpm iconv innodb maildir mmx modules mudflap multilib mysql ncurses nptl nptlonly openmp openssh pam pcre php pwdb readline sasl session snortsam sse sse2 ssl tcpd unicode vhosts zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif so speling status unique_id userdir usertrack vhost_alias cgi authn_core authz_core unixd socache_shmcb" APACHE2_MPMS="prefork" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en" PHP_TARGETS="php5-4" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="fbdev glint intel mach64 mga nouveau nv r128 radeon savage sis tdfx trident vesa via vmware dummy v4l" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"

Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
```

Thanks in advance!

hanji

----------

## hanj

I see what's happening now. The version on the x86 boxes were still 2.2. The other boxes were 2.4.. now I'm having this problem everywhere. It's sort of ugly. Been slogging through this: https://bugs.gentoo.org/show_bug.cgi?id=410607

hanji

----------

## rich0

 *hanj wrote:*   

> I see what's happening now. The version on the x86 boxes were still 2.2. The other boxes were 2.4.. now I'm having this problem everywhere. It's sort of ugly. Been slogging through this: https://bugs.gentoo.org/show_bug.cgi?id=410607
> 
> hanji

 

Yeah, I've spent half the evening recompiling apache.  I discovered that there is a warning in the elog notices about missing modules - you need to add those to your make.conf.  That isn't sufficient if you're doing proxying.  I've been editing config files all night.

I finally got apache to load and not crash immediately afterwards, but now I just get permission errors when I try to browse to the site.  No idea why - doesn't seem to work with either the old or new style directives...

Update - fixed it - had the new style directives backwards.  I'm sure I'll be spotting broken stuff on the site over the next few days.  Hopefully any issues will be non-permissive...

----------

## hanj

Thanks for the reply. Yeah, I've been fighting it all day on my dev box. I finally got it started, but still noticing some weird behavior. Might be a little too early for me to roll out to production.

Thanks again.

hanji

----------

## rich0

 *hanj wrote:*   

> Thanks for the reply. Yeah, I've been fighting it all day on my dev box. I finally got it started, but still noticing some weird behavior. Might be a little too early for me to roll out to production.
> 
> 

 

You might not want to bother - it was released prematurely.  Looks like you'll get downgraded back to 2.2 (with security fixes) on your next sync.  

Anybody who has managed to migrate should probably stick with 2.4, but anybody who hasn't started should just stick with 2.2 and re-sync.

----------

## hanj

 *rich0 wrote:*   

> 
> 
> You might not want to bother - it was released prematurely.  Looks like you'll get downgraded back to 2.2 (with security fixes) on your next sync.  
> 
> Anybody who has managed to migrate should probably stick with 2.4, but anybody who hasn't started should just stick with 2.2 and re-sync.

 

Good to know. Thanks!

hanji

----------

## jonfr

I am having similar issues. I get this error.

```
/etc/init.d/apache2 start

 * apache2 has detected an error in your setup:

AH00526: Syntax error on line 158 of /etc/apache2/httpd.conf:

Invalid command 'User', perhaps misspelled or defined by a module not included in the server configuration

 * ERROR: apache2 failed to start

```

I did compile apache-2.4 with this options.

```
[ebuild     UD ] app-admin/apache-tools-2.2.24 [2.4.4] USE="ssl" 0 kB

[ebuild     UD ] www-servers/apache-2.2.24:2 [2.4.4:2] USE="ldap ssl -debug -doc (-selinux) -static -suexec -threads" APACHE2_MODULES="actions alias auth_basic auth_digest authn_anon authn_dbd authn_dbm authn_default%* authn_file authz_dbm authz_default%* authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock dbd deflate dir disk_cache%* env expires ext_filter file_cache filter headers ident imagemap include info log_config logio mem_cache%* mime mime_magic negotiation proxy proxy_ajp proxy_balancer proxy_connect proxy_http rewrite setenvif speling status unique_id userdir usertrack vhost_alias -asis -authn_alias -cern_meta -cgi -cgid -charset_lite -dumpio -log_forensic -proxy_ftp -proxy_scgi -reqtimeout -substitute -version (-access_compat%) (-authn_core%) (-authz_core%) (-cache_disk%) (-lbmethod_bybusyness%) (-lbmethod_byrequests%) (-lbmethod_bytraffic%) (-lbmethod_heartbeat%) (-slotmem_shm%) (-socache_shmcb%) (-unixd%)" APACHE2_MPMS="-event -itk -peruser -prefork -worker" 0 kB
```

But I am going to run the downgrade anyway.

----------

## hanj

I think you need 'access_compat' as a module for the User portion to work. I can't quite remember. I ran across the same problem. I think it was a missing module.

Thanks!

hanji

----------

## rich0

 *hanj wrote:*   

> I think you need 'access_compat' as a module for the User portion to work. I can't quite remember. I ran across the same problem. I think it was a missing module.
> 
> 

 

Yup, there are a few modules that need to be built which apparently don't get built automatically if you're overriding the list of modules to build (most people did that to add more modules in the past, so missing modules is a bit of an undesired side effect I think).

In any case, if anybody hasn't actually fixed the issues they're probably best off just downgrading.  That error message is likely to be the first of many, especially if you have a bunch of vhosts/directories/etc set up beyond just what is in the canned config file.

----------

## hanj

rich0, when do you think this will be released again? I'm thinking about sticking with 2.4 on the dev server and address as many issues as I can. I'll definitely be more prepared when it is released. Do you see it in the next few months? Or way down the road?

Thanks!

hanji

----------

## rich0

 *hanj wrote:*   

> rich0, when do you think this will be released again? I'm thinking about sticking with 2.4 on the dev server and address as many issues as I can. I'll definitely be more prepared when it is released. Do you see it in the next few months? Or way down the road?

 

On that I have no idea - as far as apache goes I'm just another user.  I just noticed the traffic on the bug.

You might want to ping Gerrit or Patrick (see /usr/portage/www-servers/apache/metadata.xml ).

----------

## gentoo_ram

When I upgraded to 2.4.4, I had to enable the following USE flags to be able to use the default gentoo config files: authn_core, authz_core, socache_shmcb, unixd

After that, things worked much better.

----------

