Goal :- set up virtual host correctly.
currently I am working on MAC system version 10.10.05 os x yosemite.
I have configured apache2,php and mysql using XAMPP
I have follow all the necessary steps for configuring virtual host.
my file /private/etc/apache2/extra/httpd-vhosts.conf would be like
<VirtualHost *:80>
ServerName localhost
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs"
<Directory "/Applications/XAMPP/xamppfiles/htdocs">
Options Indexes FollowSymLinks Includes execCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName emsv2l.localhost.com
ServerAlias emsv2l.localhost.com
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/emsv2"
ErrorLog "/private/var/log/apache2/apple.com-error_log"
CustomLog "/private/var/log/apache2/apple.com-access_log" common
ServerAdmin webmaster@dev.plutustec.com
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName emsv2l-backend.plutustec.com
ServerAlias emsv2l-backend.plutustec.com
DocumentRoot "/Applications/XAMPP/xamppfiles/htdocs/emsv2-backend/public“
ErrorLog "/private/var/log/apache2/apple.com-error_log"
CustomLog "/private/var/log/apache2/apple.com-access_log" common
ServerAdmin webmaster@dev.plutustec.com
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2-backend/public“>
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
</VirtualHost>
So, Now if i write http://emsv2l.localhost.com/
would be redirect to project instead it's showing directory structure.
my /etc/hosts
file would be like
##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting. Do not change this entry.
##
#127.0.0.1 localhost
#255.255.255.255 broadcasthost
#::1 localhost
#127.0.0.1 dev.local
#127.0.0.1 emsv2l-backend.plutustec.com # emsv2-backend
#127.0.0.1 emsv2l.plutustec.com # emsv2
#127.0.0.1 plutustec.com #localplutus site
127.0.0.1 emsv2l.localhost.com
127.0.0.1 emsv2l-backend.plutustec.com
Any help would be appreciated.
You need to disable directory listing, to do that replace this:
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options Indexes FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
With:
<Directory "/Applications/XAMPP/xamppfiles/htdocs/emsv2">
Options FollowSymLinks Includes ExecCGI
AllowOverride All
Require all granted
</Directory>
Then reload apache .
For more details check here
Then one more thing, do you have an index.php or index.html within your: /Applications/XAMPP/xamppfiles/htdocs/emsv2
?
Did you follow the guide for configuring vhosts to the letter? If so, are you sure that the Apache you configured is the one that is currently listening on port 80? XAMPP should have it's own Apache built in and it doesn't run off the default config. Your XAMPP httpd.conf should contain:
# XAMPP VirtualHosts dir
Include /Applications/XAMPP/etc/extra/httpd-vhosts.conf
To solve fastest just:
cp -iv /private/etc/apache2/extra/httpd-vhosts.conf /Applications/XAMPP/etc/extra/httpd-vhosts.conf
If asked for overwrite confirmation press 'y'
in my case,
i'm using macOS Mojave (Apache/2.4.34). In /etc/apache2/httpd.conf file search for the text "IfModule dir_module". Check the IfModule directive/tag contain any index.php. If no the add index.php after index.html. Hope this will save you.
<IfModule dir_module>
DirectoryIndex index.html index.php
</IfModule>
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.