4 votes

Hôtes virtuels par nom dans Apache

J'ai un peu de mal à configurer des hôtes virtuels basés sur le nom.

Je peux démarrer le serveur avec "service apache2 start" avec un fichier httpd.conf vide, et il fonctionnera avec tout ce qui pointe vers /var/www, comme prévu.


Quand je remplis httpd.conf avec :

# 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>

J'obtiens cette erreur lorsque je lance "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.

J'ai trouvé une solution,

  1. J'ai supprimé tous mes changements dans httpd.conf, pour moi, cela a laissé un fichier vide.
  2. J'ai copié le fichier du site par défaut existant dans ./sites-available/ pour mes deux hôtes virtuels.
  3. J'ai édité ces deux fichiers et remplacé les valeurs là où cela avait un sens, je pense que les endroits à modifier devraient être évidents (dossier de base du site Web, URL du site Web).
  4. J'ai créé des liens symboliques comme il se doit dans ./sites-enabled/.
  5. J'ai redémarré le serveur web en faisant un "sudo service apache2 restart" et ça a marché.

Je pense que le problème vient du fait qu'en analysant les fichiers, Apache a découvert deux fichiers avec des "<VirtualHost>", mon httpd.conf et la configuration du site par défaut dans ./sites-available/.

0 votes

Hace netstat -anp | grep 80 montrer tout autre processus actuellement lié à 0.0.0.0:80 ?

0 votes

Juste ça : unix 3 [ ] STREAM CONNECTED 9050 1080/console-kit-da

0 votes

Ok, bien ; ce n'est pas lié. (C'est un socket de domaine Unix, pas un socket TCP).

1voto

adaptr Points 16431

Tant que vous n'avez pas touché au serveur virtuel par défaut (qui contient déjà une directive NameVirtualHost *:80), vous ne devriez pas reproduire le comportement par défaut.

Puisque vous devez souffrir de Debuntu, pourquoi ne pas faire avec et mettre vos vhosts dans /etc/apache2/sites-enabled/, un par fichier ?

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X