Hello,
We use SLES 10 and 11 at my workplace to provide web services using PHP apps. Unfortunately, I noticed that every time apache gets patched, it insists on replacing /srv/www/htdocs/index.html, which breaks the server by throwing “It Works!” at clients. I created a /etc/apache2/httpd.conf.local file and added it to /etc/sysconfig/apache2 as an INCLUDE, which has “DirectoryIndex index.php index.html index.htm” That directive is listed in order of preference, but the apache httpd still prefers the stupid index.htm. I know there’s a DirectoryIndex declaration in /etc/apache2/httpd.conf, but the instructions in that file say not to modify the file directly!
In addition, I see that the PHP file contains multiple DirectoryIndex declarations, each on their own line, which suggests the directive is additive. Help! How can I avoid the blasted “It Works!” index.html taking over every patch release?
Edit: Grammar
For the tl;dr crowd: How can I make Apache HTTPd prefer index.php over index.html, while respecting the advice in /etc/apache2/httpd.conf to not edit it directly?
On 06/03/2012 15:04, Dalrain wrote:
[color=blue]
We use SLES 10 and 11 at my workplace to provide web services using PHP
apps. Unfortunately, I noticed that every time apache gets patched, it
insists on replacing /srv/www/htdocs/index.html, which breaks the server
by throwing “It Works!” at clients. I created a
/etc/apache2/httpd.conf.local file and added it to
/etc/sysconfig/apache2 as an INCLUDE, which has “DirectoryIndex
index.php index.html index.htm” That directive is listed in order of
preference, but the apache httpd still prefers the stupid index.htm. I
know there’s a DirectoryIndex declaration in /etc/apache2/httpd.conf,
but the instructions in that file say not to modify the file directly!
In addition, I see that the PHP file contains multiple DirectoryIndex
declarations, each on their own line, which suggests the directive is
additive. Help! How can I avoid the blasted “It Works!” index.html
taking over every patch release?[/color]
In your /etc/apache2/httpd.conf.local try adding the following lines
<Directory /srv/www/htdocs>
AllowOverride Indexes
DirectoryIndex index.php index.html index.htm
HTH.
Simon
Novell/SUSE/NetIQ Knowledge Partner
Do you work with Novell technologies at a university, college or school?
If so, your campus could benefit from joining the Novell Technology
Transfer Partner (TTP) program. See TTP Organization | Micro Focus for more details.
[QUOTE=smflood;2950]On 06/03/2012 15:04, Dalrain wrote:
In your /etc/apache2/httpd.conf.local try adding the following lines
<Directory /srv/www/htdocs>
AllowOverride Indexes
DirectoryIndex index.php index.html index.htm
[/QUOTE]
No dice, it would appear. Specifically, the server prefers index.html (not index.htm) - I think this is probably because DirectoryIndex is additive, so any directive appearing after the initial declaration is at a lower precedence. (Rather than overriding, that is.)
The first line apache would encounter is the following, which I’m guessing means it remains the first thing it looks for (from httpd.conf):
List of resources to look for when the client requests a directory
DirectoryIndex index.html index.html.var
I think this might be a case where SuSEconfig needs to allow for precedence in the sysconfig dir.
Derp. Self replying because I got it now, in part due to your answer. It actually works if you just toss the index directive into a Directory container i.e.
<Directory /srv/www/htdocs>
AllowOverride Indexes
DirectoryIndex index.php index.html index.htm
Thank you for the response, Simon!
On 09/03/2012 16:34, Dalrain wrote:
[color=blue]
Derp. Self replying because I got it now, in part due to your answer.
It actually works if you just toss the index directive into a Directory
container i.e.
<Directory /srv/www/htdocs>
AllowOverride Indexes
DirectoryIndex index.php index.html index.htm
[/color]
Ah yes DirectoryIndex within the Directory would take precedence over
the default configured via /etc/apache2/httpd.conf whereas having it
outside is still cumulative though would apply to all directories
(something to bear in mind if you want to access PHP-based sites from
other directories).
[color=blue]
Thank you for the response, Simon![/color]
No problem, glad you’ve now got it working.
Simon
Novell/SUSE/NetIQ Knowledge Partner
Do you work with Novell technologies at a university, college or school?
If so, your campus could benefit from joining the Novell Technology
Transfer Partner (TTP) program. See TTP Organization | Micro Focus for more details.