Pasé horas yendo en círculos siguiendo cada una de las guías que puedo encontrar en la red.Cómo ejecutar varios sitios en una instancia de apache
Quiero tener dos sitios que se ejecutan en una sola instancia de Apache, algo como esto - 192.168.2.8/site1 y 192.168.2.8/site2
he estado dando vueltas en círculos, pero al el momento tengo dos archivos conf en 'sites-available (enlace simbólico a sites-enabled)' que se parecen a esto:
<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>
y
<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 se parece a esto:
NameVirtualHost *:2000
NameVirtualHost *:3000
En el momento en que estoy recibiendo este ERROR-
[error] VirtualHost *:80 — mixing * ports and non-* ports with a NameVirtualHostaddress is not supported, proceeding with undefined results
ports.conf se parece a esto - (aunque no hay guías han mencionado ninguna necesidad de editar esto)
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>
¿Alguien puede dar algunas instrucciones simples para que esto funcione? Cada guía que he encontrado dice que lo haga de una manera diferente, y cada una conduce a diferentes errores. Obviamente estoy haciendo algo mal pero no he encontrado una explicación clara de lo que podría ser.
Solo quiero un sitio accesible en el puerto 2000 y el otro accesible en el puerto 3000 (o lo que sea, simplemente seleccioné esos puertos para probar).
estoy corriendo servidor de Ubuntu 12.04 ...
=============
EDITAR
Seguido otra 'guía' ...
me he fijado ahora esto en los sitios de disposición:
<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>
ha configurado en apache2.conf:
ServerName site1
ServerName site2
han añadido este a ports.conf:
Listen 192.168.2.10:80
==============
EDITAR
Ahora funciona, yo poner esto en un archivo conf en el sitio habilitado:
<VirtualHost *:81>
DocumentRoot "/home/user/site1/"
ServerName site1
</VirtualHost>
<VirtualHost *:82>
DocumentRoot "/home/user/site2/"
ServerName site2
</VirtualHost>
Lo tengo en ports.conf:
Listen *:80
Listen *:81
Listen *:82
Lo tengo en apache2.conf:
ServerName site1
ServerName site2
no he encontrado esto en ninguna de las guías Me acaban de que trabajan a través de todo un día de ensayo y error, así que no sé si esto es una buena solución. Pero al menos funciona como quiero ahora.
Me parece que necesita especificar nombres de host virtuales en NameVirtualHost. –
Saludos, he intentado muchas cosas en ese sentido, ¿puedes ser más específico acerca de qué debo intentar poner allí? – Exbi
Después de todo un día tratando de hacer que esto funcione, finalmente me encontré con la respuesta jajaja. Me siento mentalmente agotado, me voy a la cama. Dudo que mi solución de hack apache dudoso sea de interés para nadie, pero la editaré al final de mi pregunta. – Exbi