• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 303
  • Last Modified:

How to config apache virtual host with automatic load of index.php

I have created a virtual host (www.myhost.org) that points to my machine (I have added 127.0.0.1 www.myhost.org to /etc/hosts).
How can I configure it so that it points to index.php ?
Now I have to write www.myhost.org/index.php
If I write www.myhost.org I get a simpe 'It Works!'

Thank you.
0
skiabox
Asked:
skiabox
  • 5
  • 4
1 Solution
 
skiaboxAuthor Commented:
My operating system is Mac Os Lion.
0
 
PapertripCommented:
I have added 127.0.0.1 www.myhost.org to /etc/hosts
Nothing except localhost and/or localhost.localdomain should be in your hosts file for 127.0.0.1.
How can I configure it so that it points to index.php ?
You need to add index.php to the DirectoryIndex.  This can be done in the main httpd.conf, in the virtualhost config block, per directory, or in .htaccess.

DirectoryIndex index.php

Open in new window

0
 
skiaboxAuthor Commented:
I have the following code in my httpd.conf file :

#
# DirectoryIndex: sets the file that Apache will serve if a directory
# is requested.
#
<IfModule dir_module>
    DirectoryIndex index.html
</IfModule>

Open in new window


Should I change this code?
0
Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

 
PapertripCommented:
That will change it globally for all virtual servers.  Unless you have a specific need NOT to let particular vhosts have that for their DirectoryIndex, do the global change so that you don't have to create a separate DirectoryIndex for each vhost.
0
 
PapertripCommented:
*correction -- that will change DirectoryIndex for all of your hosts, not just virtual.  Just wanted to make that clear.
0
 
skiaboxAuthor Commented:
But that code is not working.
Probably the ifmodule never execute.
0
 
PapertripCommented:
That is definitely possible, but I would be surprised if that were the case.

Let's see if apache is loading that module:
[root@broken ~]# grep mod_dir /etc/httpd/conf/httpd.conf
LoadModule dir_module modules/mod_dir.so

Open in new window

If it's commented out, uncomment and restart apache.
0
 
skiaboxAuthor Commented:
LoadModule dir_module libexec/apache2/mod_dir.so

exists and it is uncommented.

I wonder about that libexec directory.
The proper directory (at least in my system) is /etc/apache2
0
 
PapertripCommented:
That is probably the ServerRoot, so you are on the right track.  Go into your ServerRoot and do an ls, you should see a symlink to the actual modules directory.

On a related note, if that module did not exist but was defined in httpd.conf, you would see errors for it in your error_log.  You can either remove the IfModule directive and leave just the DirectoryIndex, or you can try pointing IfModule to mod_dir.so instead of dir_module.

[root@broken ~]# grep '^ServerRoot' /etc/httpd/conf/httpd.conf
ServerRoot "/etc/httpd"
[root@broken ~]# cd /etc/httpd
[root@broken httpd]# ls -l
total 16
drwxr-xr-x.  4 root root 4096 Sep 18 02:45 ./
drwxr-xr-x. 67 root root 4096 Sep 22 03:27 ../
drwxr-xr-x.  2 root root 4096 Sep 18 02:45 conf/
drwxr-xr-x.  2 root root 4096 Sep 20 02:13 conf.d/
lrwxrwxrwx.  1 root root   19 Sep 18 02:45 logs -> ../../var/log/httpd/
lrwxrwxrwx.  1 root root   29 Sep 18 02:45 modules -> ../../usr/lib64/httpd/modules/
lrwxrwxrwx.  1 root root   19 Sep 18 02:45 run -> ../../var/run/httpd/
[root@broken httpd]# ls -l modules/mod_dir.so
-rwxr-xr-x. 1 root root 10416 Jul  7 03:31 modules/mod_dir.so*

Open in new window


You may also have an AllowOverride directive set someplace -- look for that in your conf files and .htaccess if you are using one.
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Keep up with what's happening at Experts Exchange!

Sign up to receive Decoded, a new monthly digest with product updates, feature release info, continuing education opportunities, and more.

  • 5
  • 4
Tackle projects and never again get stuck behind a technical roadblock.
Join Now