Pour pouvoir créer des sous-domaines, vous devrez vous assurer de plusieurs choses:
DNS
Pour que d'autres puissent atteindre test.my.address.com
, ils doivent d'abord pouvoir résoudre ce nom en adresse IP de votre machine virtuelle. Comment cela peut-il être fait?
Ce que votre ami a probablement déjà fait, c'était de créer un enregistrement A dans la address.com
zone, qui pointe my
vers l'adresse IP de votre machine virtuelle.
Jusqu'ici tout va bien. Mais qu'en est-il test.my
? Il ne contient peut-être pas encore d'entrée.
Votre ami peut également simplement ajouter *.my
à la zone (et la pointer vers la même adresse IP). Ensuite, toutes les demandes something.my.address.com
seront envoyées à votre machine virtuelle. Génial!
Hôtes virtuels Apache
Une fois votre machine virtuelle atteinte, Apache doit savoir comment gérer la demande. C'est là que nous utilisons la fonctionnalité Virtual Hosts du serveur HTTP Apache.
Je tourne généralement sur Debian, donc je vais l'expliquer avec un exemple de configuration dans /etc/apache2/sites-available
. Faisons appeler un fichier test.my.address.com
et remplissons-le avec des informations.
<VirtualHost *:80>
ServerName test.my.address.com
ServerAdmin webmaster@my.address.com
DocumentRoot /var/www/test.my.address.com/
<Directory />
Options FollowSymLinks
AllowOverride None
</Directory>
<Directory /var/www/test.my.address.com/>
Options Indexes FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Directory>
ErrorLog ${APACHE_LOG_DIR}/test.my.address.com.error.log
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn
CustomLog ${APACHE_LOG_DIR}/test.my.address.com.access.log combined
</VirtualHost>
Le paramètre clé à l' intérieur de ce fichier est la ServerName
directive . Cela indique à Apache sous quel nom ce serveur doit être disponible. Des noms supplémentaires peuvent être donnés avec la directive ServerAlias .
Si vous utilisez également Debian, n'oubliez pas de le faire sudo a2ensite test.my.address.com
après avoir créé le fichier et sudo invoke-rc.d apache2 restart
.
Listen
, regardez les hôtes virtuels Apaches: httpd.apache.org/docs/2.2/vhosts