Hosts virtuales basados ​​en nombres en Apache

Tengo un pequeño problema para configurar hosts virtuales basados ​​en nombres.

Puedo iniciar el server con "service apache2 start" con un file en blanco httpd.conf, y se ejecutará con todo apuntando a / var / www, como se esperaba.


Cuando lleno httpd.conf con:

# Ensure that Apache listens on port 80 Listen 80 # Listen for virtual host requests on all IP addresses NameVirtualHost *:80 <VirtualHost *:80> DocumentRoot /www/kevins_playground ServerName home.coolkev.com # Other directives here </VirtualHost> <VirtualHost *:80> DocumentRoot /www/flatline_and_co ServerName www.flatline_and_co.com # Other directives here </VirtualHost> 

Tengo este error al ejecutar "service apache2 start"

 root@kevin-server:/etc/apache2# service apache2 start * Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName [Thu Jul 26 20:10:01 2012] [warn] NameVirtualHost *:80 has no VirtualHosts (98)Address already in use: make_sock: could not bind to address 0.0.0.0:80 no listening sockets available, shutting down Unable to open logs Action 'start' failed. The Apache error log may have more information. 

He encontrado una solución,

  1. Quité todos mis cambios a httpd.conf, para mí, esto dejó un file en blanco.
  2. Copié el file de sitio pnetworkingeterminado existente en ./sites-available/ para mis dos hosts virtuales.
  3. Edité esos dos files y reemplazé valores donde tenía sentido, creo que debería ser obvio donde necesitan cambiar (carpeta base de website, URL del website).
  4. Creé enlaces simbólicos como se supone en ./sites-enabled/
  5. He reiniciado el server web 'sudo service apache2 restart' y funcionó.

Creo que el problema se originó en el hecho de que al analizar los files, Apache descubrió dos files con "<VirtualHost>" s, mi httpd.conf y la configuration del website por defecto en ./sites-available/

Siempre que no toque el vhost pnetworkingeterminado (que ya contiene una directiva NameVirtualHost *: 80), no debe duplicar el comportamiento pnetworkingeterminado.

Ya que tienes que sufrir Debuntu, ¿por qué no ir con él y poner sus vhosts en / etc / apache2 / sites-enabled /, uno por file?