# Adding modules to APACHE2_OPTS has no influence on apache

## subclasser

Hello there!

After updating to apache-2.0.52-r3 adding modules to APACHE2_OPTS does not seem to have any effects.

Probably the problem is related to the changes made in the update mentioned on http://dev.gentoo.org/~vericgar/doc/apache-package-refresh.htm. I have followed the instructions, changed the location of the configuration files and also re-emerged all apache modules, which were in my case mod_php, mod_ssl, mod_macro and the userdir directive.

The configuration files seem to be in the right location as well.

```
ls /etc/apache2/modules.d/

00_apache_manual.conf  40_mod_ssl.conf                45_mod_dav.conf   70_mod_php.conf

27_mod_macro.conf      41_mod_ssl.default-vhost.conf  70_mod_php5.conf
```

I've also updated to mod_php-5.0.3-r2 because the changelog says

 *Quote:*   

> *mod_php-5.0.3-r2 (13 Mar 2005)
> 
> 13 Mar 2005; Stuart Herbert <stuart@gentoo.org> +files/php5-prefork.patch,
> 
> +mod_php-5.0.3-r2.ebuild:
> ...

 

So I assume that this version should work with the updated apache.

However, when I start apache2 neither the modules are loaded (none of them if I can trust the server's signature) nor I get any error messages.

/etc/conf.d/apache2

```
APACHE2_OPTS="-D SSL -D PHP5 -D USERDIR -D MACRO"
```

httpd.conf

```
ServerRoot "/usr/lib/apache2"

<IfModule !perchild.c>

</IfModule>

PidFile "/var/run/apache2.pid"

Timeout 300

KeepAlive On

MaxKeepAliveRequests 100

KeepAliveTimeout 15

<IfModule prefork.c>

    StartServers         5

    MinSpareServers      5

    MaxSpareServers     10

    MaxClients         150

    MaxRequestsPerChild  0

</IfModule>

<IfModule worker.c>

    StartServers         2

    MaxClients         150

    MinSpareThreads     25

    MaxSpareThreads     75 

    ThreadsPerChild     25

    MaxRequestsPerChild  0

</IfModule>

<IfModule perchild.c>

    NumServers           5

    StartThreads         5

    MinSpareThreads      5

    MaxSpareThreads     10

    MaxThreadsPerChild  20

    MaxRequestsPerChild  0

</IfModule>

Listen 80

LoadModule access_module                 modules/mod_access.so

LoadModule auth_module                   modules/mod_auth.so

LoadModule auth_anon_module              modules/mod_auth_anon.so

LoadModule auth_dbm_module               modules/mod_auth_dbm.so

LoadModule auth_digest_module            modules/mod_auth_digest.so

LoadModule charset_lite_module           modules/mod_charset_lite.so

LoadModule env_module                    modules/mod_env.so

LoadModule expires_module                modules/mod_expires.so

LoadModule headers_module                modules/mod_headers.so

LoadModule mime_module                   modules/mod_mime.so

LoadModule negotiation_module            modules/mod_negotiation.so

LoadModule setenvif_module               modules/mod_setenvif.so

LoadModule log_config_module             modules/mod_log_config.so

LoadModule logio_module                  modules/mod_logio.so

LoadModule cgi_module                    modules/mod_cgi.so

LoadModule cgid_module                   modules/mod_cgid.so

LoadModule suexec_module                 modules/mod_suexec.so

LoadModule alias_module                  modules/mod_alias.so

LoadModule rewrite_module                modules/mod_rewrite.so

<IfDefine USERDIR>

    LoadModule userdir_module                modules/mod_userdir.so

</IfDefine>

LoadModule actions_module                modules/mod_actions.so

LoadModule autoindex_module              modules/mod_autoindex.so

LoadModule dir_module                    modules/mod_dir.so

LoadModule status_module                 modules/mod_status.so

LoadModule ext_filter_module             modules/mod_ext_filter.so

LoadModule deflate_module                modules/mod_deflate.so

LoadModule include_module                modules/mod_include.so

<IfDefine PROXY>

    LoadModule proxy_module                  modules/mod_proxy.so

    LoadModule proxy_connect_module          modules/mod_proxy_connect.so

    LoadModule proxy_ftp_module              modules/mod_proxy_ftp.so

    LoadModule proxy_http_module             modules/mod_proxy_http.so

</IfDefine>

Include conf/modules.d/*.conf

User apache

Group apache

ServerAdmin stephan.fackler@web.de

ServerName subclasser.homeip.net

UseCanonicalName Off

<Directory />

    Options FollowSymLinks

    AllowOverride None

</Directory>

<IfModule mod_userdir.c>

    UserDir public_html

    <Directory /home/*/public_html>

        AllowOverride FileInfo AuthConfig Limit Indexes

        Options MultiViews Indexes SymLinksIfOwnerMatch IncludesNoExec

        <Limit GET POST OPTIONS PROPFIND>

            Order allow,deny

            Allow from all

       </Limit>

       <LimitExcept GET POST OPTIONS PROPFIND>

            Order deny,allow

            Deny from all

       </LimitExcept>

    </Directory>

</IfModule>

DirectoryIndex index.html index.html.var

AccessFileName .htaccess

<Files ~ "^\.ht">

    Order allow,deny

    Deny from all

</Files>

TypesConfig /etc/mime.types

DefaultType text/plain

<IfModule mod_mime_magic.c>

    MIMEMagicFile /etc/apache2/magic

</IfModule>

HostnameLookups Off

ErrorLog logs/error_log

LogLevel warn

LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined

LogFormat "%h %l %u %t \"%r\" %>s %b" common

LogFormat "%{Referer}i -> %U" referer

LogFormat "%{User-agent}i" agent

CustomLog logs/access_log common

ServerTokens Full

ServerSignature On

Alias /icons/ "/var/www/localhost/icons/"

<Directory "/var/www/localhost/icons/">

    Options Indexes MultiViews

    AllowOverride None

    Order allow,deny

    Allow from all

</Directory>

ScriptAlias /cgi-bin/ /var/www/localhost/cgi-bin/

ScriptAlias /protected-cgi-bin/ /var/www/localhost/protected-cgi-bin/

<IfModule mod_cgid.c>

</IfModule>

<Directory "/var/www/localhost/cgi-bin/">

    AllowOverride None

    Options None

    Order allow,deny

    Allow from all

</Directory>

<IfModule mod_autoindex.c>

    IndexOptions FancyIndexing VersionSort

    AddIconByEncoding (CMP,/icons/compressed.gif) x-compress x-gzip

    AddIconByType (TXT,/icons/text.gif) text/*

    AddIconByType (IMG,/icons/image2.gif) image/*

    AddIconByType (SND,/icons/sound2.gif) audio/*

    AddIconByType (VID,/icons/movie.gif) video/*

    AddIcon /icons/binary.gif .bin .exe

    AddIcon /icons/binhex.gif .hqx

    AddIcon /icons/tar.gif .tar

    AddIcon /icons/world2.gif .wrl .wrl.gz .vrml .vrm .iv

    AddIcon /icons/compressed.gif .Z .z .tgz .gz .zip

    AddIcon /icons/a.gif .ps .ai .eps

    AddIcon /icons/layout.gif .html .shtml .htm .pdf

    AddIcon /icons/text.gif .txt

    AddIcon /icons/c.gif .c

    AddIcon /icons/p.gif .pl .py

    AddIcon /icons/f.gif .for

    AddIcon /icons/dvi.gif .dvi

    AddIcon /icons/uuencoded.gif .uu

    AddIcon /icons/script.gif .conf .sh .shar .csh .ksh .tcl

    AddIcon /icons/tex.gif .tex

    AddIcon /icons/bomb.gif core

    AddIcon /icons/back.gif ..

    AddIcon /icons/hand.right.gif README

    AddIcon /icons/folder.gif ^^DIRECTORY^^

    AddIcon /icons/blank.gif ^^BLANKICON^^

    DefaultIcon /icons/unknown.gif

    ReadmeName README.html

    HeaderName HEADER.html

</IfModule>

AddLanguage ca .ca

AddLanguage cs .cz .cs

AddLanguage da .dk

AddLanguage de .de

AddLanguage el .el

AddLanguage en .en

AddLanguage eo .eo

AddLanguage es .es

AddLanguage et .et

AddLanguage fr .fr

AddLanguage he .he

AddLanguage hr .hr

AddLanguage it .it

AddLanguage ja .ja

AddLanguage ko .ko

AddLanguage ltz .ltz

AddLanguage nl .nl

AddLanguage nn .nn

AddLanguage no .no

AddLanguage pl .po

AddLanguage pt .pt

AddLanguage pt-BR .pt-br

AddLanguage ru .ru

AddLanguage sv .sv

AddLanguage zh-CN .zh-cn

AddLanguage zh-TW .zh-tw

LanguagePriority en ca cs da de el eo es et fr he hr it ja ko ltz nl nn no pl pt pt-BR ru sv zh-CN zh-TW

ForceLanguagePriority Prefer Fallback

AddDefaultCharset ISO-8859-1

AddCharset ISO-8859-1  .iso8859-1  .latin1

AddCharset ISO-8859-2  .iso8859-2  .latin2 .cen

AddCharset ISO-8859-3  .iso8859-3  .latin3

AddCharset ISO-8859-4  .iso8859-4  .latin4

AddCharset ISO-8859-5  .iso8859-5  .latin5 .cyr .iso-ru

AddCharset ISO-8859-6  .iso8859-6  .latin6 .arb

AddCharset ISO-8859-7  .iso8859-7  .latin7 .grk

AddCharset ISO-8859-8  .iso8859-8  .latin8 .heb

AddCharset ISO-8859-9  .iso8859-9  .latin9 .trk

AddCharset ISO-2022-JP .iso2022-jp .jis

AddCharset ISO-2022-KR .iso2022-kr .kis

AddCharset ISO-2022-CN .iso2022-cn .cis

AddCharset Big5        .Big5       .big5

AddCharset WINDOWS-1251 .cp-1251   .win-1251

AddCharset CP866       .cp866

AddCharset KOI8-r      .koi8-r .koi8-ru

AddCharset KOI8-ru     .koi8-uk .ua

AddCharset ISO-10646-UCS-2 .ucs2

AddCharset ISO-10646-UCS-4 .ucs4

AddCharset UTF-8       .utf8

AddCharset GB2312      .gb2312 .gb 

AddCharset utf-7       .utf7

AddCharset utf-8       .utf8

AddCharset big5        .big5 .b5

AddCharset EUC-TW      .euc-tw

AddCharset EUC-JP      .euc-jp

AddCharset EUC-KR      .euc-kr

AddCharset shift_jis   .sjis

AddType application/x-compress .Z

AddType application/x-gzip .gz .tgz

AddHandler type-map var

BrowserMatch "Mozilla/2" nokeepalive

BrowserMatch "MSIE 4\.0b2;" nokeepalive downgrade-1.0 force-response-1.0

BrowserMatch "RealPlayer 4\.0" force-response-1.0

BrowserMatch "Java/1\.0" force-response-1.0

BrowserMatch "JDK/1\.0" force-response-1.0

BrowserMatch "Microsoft Data Access Internet Publishing Provider" redirect-carefully

BrowserMatch "^WebDrive" redirect-carefully

BrowserMatch "^WebDAVFS/1.[012]" redirect-carefully

BrowserMatch "^gnome-vfs" redirect-carefully

NameVirtualHost *:80

<VirtualHost *:80>

    DocumentRoot "/var/www/localhost/htdocs"

    <Directory "/var/www/localhost/htdocs">

        Options Indexes FollowSymLinks

        AllowOverride None

        Order allow,deny

        Allow from all

    </Directory>

</VirtualHost>

Include conf/vhosts.d/*.conf
```

I hope someone will give me some piece of advice  :Very Happy: 

----------

## omnicloud

I had this problem at one point. I'm not too sure how I even fixed it. I just kept checking my config and restarting apache and it eventually worked. I probably made such a simple mistake.For all you know, you have a single extra comment somewhere you don't want it.

----------

## ekutay

Recently I had that problem too. In my case restarting and so on didn't help at all.

All I could do, was to remove the <IfDefine myneededmodule.c> statements in the configuration files and hope for better as this is of course not the way to work with it. All fine afterwards, unfortunately.  :Sad: 

It seemed to me, as if the -D options where simply not recognized somehow. If there are more people having this problem its maybe time to file a bug report.

@omnicloud: do you still have your IfDefine's ?

----------

## omnicloud

Yes, I do.

----------

## adaptr

Do not REstart apache - STOP it and then START it.

This is a very common mistake.

Also, get server_info and _status when it's started up (uncomment it first)

----------

## ekutay

 *omnicloud wrote:*   

> Yes, I do.

  Tried out to comment in again and it works. One of these strange things.

@subclasser: Forget what I have said, or sould I say, comment and uncomment the defines, restart a few times and then it will work again.  :Wink: 

----------

## wokan

They need to document the restart option on Apache2 to let people know what kinds of config changes won't be brought in by attempting a restart as opposed to separate stop and start commands.  I've been wracking my brains for a week trying to figure out what was wrong with -D USERDIR after it had been working fine for months.

----------

## ekutay

Yeah, that's true. Have not found a word about it in the manpages or the manual.

Anyhow  I'm quite sure, that I've tried it and it didn't work too. But maybe this could happen

due to the fact, that my browser had an open connection to the server.

----------

## omnicloud

If you restart the server, all active connections should be dropped.

----------

## subclasser

This was also my problem. Simply restarting the server did not have any effects on the APACHE2_OPTS. After I had stopped and had restarted apache, everything worked find.

This should definitely be put in the documentation or in /etc/conf.d/apache2.

----------

## ekutay

 *omnicloud wrote:*   

> If you restart the server, all active connections should be dropped.

  That's correct. Maybe I simply retyped graceful again and again. 

Its actually implied in the description of the IfDefine directive.  *Quote:*   

> The parameter-name argument is a define as given on the httpd command line via -Dparameter-  , at the time the server was started.

  After a graceful restart the original apache process is still running, it has just received a USR1 to reread the configuration file. As it is the same process with same startup parameters the configuration file is parsed in the same way.

Still, could help to have a hint in /etc/conf.d/apache. Hey, package maintainer ...  :Smile: 

----------

