Reputation: 2917
So I have a virtual host setup that is working but it is an internal server so we have no domain name for it. So under my server name I just have the IP Address and it works fine, however now I need to setup a subdomain and apache doesn't seem to be cooperating. Below essentially what I am trying to do but with the IP address removed. Any idea how this can be done?
<VirtualHost *:80>
ServerName 111.111.111.111
DocumentRoot "/var/www/laravel/public"
<Directory "/var/www/laravel/public">
AllowOverride all
</Directory>
</VirtualHost>
<VirtualHost *:80>
ServerName payment.111.111.111.11
DocumentRoot "/var/www/html"
<Directory "/var/www/html">
AllowOverride all
</Directory>
</VirtualHost>
Upvotes: 0
Views: 1502
Reputation: 9248
A good way to achieve this is by using a different port:
<VirtualHost *:80>
ServerName 111.111.111.111
DocumentRoot "/var/www/laravel/public"
<Directory "/var/www/laravel/public/">
AllowOverride all
</Directory>
</VirtualHost>
Listen 8000
<VirtualHost *:8000>
ServerName 111.111.111.111
DocumentRoot "/var/www/html"
<Directory "/var/www/html/">
AllowOverride all
</Directory>
</VirtualHost>
I set the port 8000 as an example, in order to avoid side effects by using "reserved ports" you might check this list, so you can choose any unassigned one.
Don't forget to add the
Listen 8000
directive so the webserver attends for connections on that specific port, and also, it is convenient to add the trailing backslash within the tag:
<Directory "/var/www/html/">
Upvotes: 3