Spent hours going in circles following every guide I can find on the net.
I want to have two sites running on a single apache instance, something like this -
192.168.2.8/site1
and
192.168.2.8/site2
I’ve been going round in circles, but at the moment I have two conf files in ‘sites-available (symlinked to sites-enabled)’ that look like this-
<VirtualHost *:2000>
ServerAdmin [email protected]
ServerName site1
ServerAlias site1
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site1/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site1/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site1/logs/error.log
CustomLog /home/user/site1/logs/access.log combined
</VirtualHost>
and
<VirtualHost *:3000>
ServerAdmin [email protected]
ServerName site2
ServerAlias site2
# Indexes + Directory Root.
DirectoryIndex index.html
DocumentRoot /home/user/site2/
# CGI Directory
ScriptAlias /cgi-bin/ /home/user/site2/cgi-bin/
Options +ExecCGI
# Logfiles
ErrorLog /home/user/site2/logs/error.log
CustomLog /home/user/site2/logs/access.log combined
</VirtualHost>
http.conf looks like this-
NameVirtualHost *:2000
NameVirtualHost *:3000
At the moment I’m getting this error-
[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results
Ports.conf looks like this – (although no guides have mentioned any need to edit this)
NameVirtualHost *:80
Listen 80
<IfModule mod_ssl.c>
# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443
</IfModule>
<IfModule mod_gnutls.c>
Listen 443
</IfModule>
Can anyone give some simple instructions to get this running? Every guide I’ve found says to do it a different way, and each one leads to different errors. I'm obviously doing something wrong but have found no clear explanation of what that might be.
Just want one site accessible on port 2000 and the other accessible on port 3000 (or whatever, just picked those ports to test with).
I’m running Ubuntu server 12.04…
=============
EDIT
Followed another 'guide'...
I've now set this up in sites-available:
<VirtualHost *:80>
DocumentRoot "/home/user/site1/"
ServerName 192.168.2.10/site1
</VirtualHost>
<VirtualHost *:80>
DocumentRoot "/home/user/site2/"
ServerName 192.168.2.10/site2
</VirtualHost>
Have set this in apache2.conf:
ServerName site1
ServerName site2
Have added this to ports.conf:
Listen 192.168.2.10:80
==============
EDIT
It now works, I put this in a conf file in site-enabled:
<VirtualHost *:81>
DocumentRoot "/home/user/site1/"
ServerName site1
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/home/user/site2/"
ServerName site2
</VirtualHost>
I have this in ports.conf:
Listen *:80
Listen *:81
Listen *:82
I have this in apache2.conf:
ServerName site1
ServerName site2
I didn't find this in any guides I just got it working through an entire day of trial and error so I don't know if this is a good solution. But it's at least working how I want it to now.
See Question&Answers more detail:
os