Husman
Husman

Reputation: 6909

Setting up a virtual host on XAMPP on Mac

I am trying to set up a virtualhost on my apple mac on localhost. The server is provided by XAMPP, which bundles Apache/MySQL/PHP in one bundle.

Here is what I have done so far:

Edited /private/etc/hosts to include 127.0.0.1 to point to test.myserver.local

127.0.0.1       test.myserver.local

Edited /Applications/XAMPP/etc/extra/httpd-vhosts.conf to inlcude my vhosts details

<VirtualHost *:80>
   DocumentRoot /Users/???/Documents/workspace/trunk/htdocs
   ServerName test.myserver.local
  <Directory "/Users/???/Documents/workspace/trunk/htdocs">
     AllowOverride All
  </Directory>
</VirtualHost>

Placed a simple index.html in there with the word test in it.

I have restarted the server, and then browse to the test url to be greeted with Apache's default page instead of my test page. The vhosts file works for another virtual host, the code is copied with the respective bits changed (i.e. folder paths), the hosts file works, as when Apache is turned off, my browser says server not found.

Why is Apache refusing to show up my test code? Are there any other files I need to change? I cant think of any others, its usually just those on linux/windows.

Upvotes: 5

Views: 24636

Answers (4)

Vatsal Ajmera
Vatsal Ajmera

Reputation: 315

Nevigate to the below file:

/Applications/XAMPP/xamppfiles/etc/extra/httpd-vhosts.conf

add virtual host code like below:

<VirtualHost *:80>
    DocumentRoot "/Applications/XAMPP/htdocs/your_project_folder"
    ServerName yourlocaldomain.test
    <Directory "/Applications/XAMPP/htdocs/your_project_folder">
        Options Indexes FollowSymLinks Includes ExecCGI
        AllowOverride All
        Require all granted
    </Directory>
</VirtualHost>

open hosts file:

sudo nano /etc/hosts

add below host URL In this file:

127.0.0.1 yourlocaldomain.test

Upvotes: 0

Gerson
Gerson

Reputation: 101

Try leaving the the setting for "localhost" at the end of the file "httpd-vhosts.conf", i.e.:

#
# Virtual Hosts
#
...

# others vhost
<VirtualHost *:80>
...
</VirtualHost>

# localhost
<VirtualHost *:80>
    ServerName localhost
    DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
    <Directory "/Applications/XAMPP/xamppfiles/htdocs">
        Options Indexes FollowSymLinks Includes execCGI
        AllowOverride All
        Order Allow,Deny
        Allow From All
    </Directory>
</VirtualHost>
#end of httpd-vhosts.conf file

Worked for me, greetings!

Upvotes: 1

Ateszki
Ateszki

Reputation: 2255

On xampp you need to edit 3 files to setup virtual hosts

the /etc/hosts and /Applications/XAMPP/etc/extra/httpd-vhosts.conf as you did.

But also you need to edit /Applications/XAMPP/xamppfiles/etc/httpd.conf to include the http-vhosts.conf

make sure you have uncommented this line

# Virtual hosts
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf

EDIT

Have you tried to add this lines

Order allow,deny
Allow from all

Just before the

AllowOverride All

Upvotes: 10

Danack
Danack

Reputation: 25701

Have you told Apache to actually use name-based virtual hosting?

# Use name-based virtual hosting.
#
NameVirtualHost *:80

I don't believe it's enabled by default in Xampp on Mac.

Upvotes: 0

Related Questions