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.comzone, qui pointe myvers 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.comseront 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.comet 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 ServerNamedirective . 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.comaprè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