Para poder crear subdominios, deberá asegurarse de varias cosas:
DNS
Para que otros puedan acceder test.my.address.com, primero deben poder resolver ese nombre en la dirección IP de su máquina virtual. ¿Cómo se puede hacer eso?
Lo que probablemente tu amigo ya hizo fue crear un registro A en la address.comzona, que apunta mya la dirección IP de tu VM.
Hasta aquí todo bien. ¿Pero que pasa test.my? Puede que todavía no tenga una entrada.
Su amigo también podría simplemente agregar *.mya la zona (y señalarla a la misma dirección IP). Luego, todas las solicitudes something.my.address.comse enviarán a su VM. ¡Excelente!
Hosts virtuales Apache
Una vez que se puede llegar a su VM, Apache tiene que saber cómo manejar la solicitud. Aquí es donde usamos la función Hosts virtuales del servidor Apache HTTP.
Normalmente ejecuto Debian, así que explicaré esto con un ejemplo de configuración /etc/apache2/sites-available. Llamemos un archivo test.my.address.comy llénelo con información.
<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>
La configuración clave dentro de este archivo es la ServerNamedirectiva . Esto le dice a Apache con qué nombre debe estar disponible este servidor . Se pueden dar nombres adicionales con la directiva ServerAlias .
En caso de que también esté usando Debian, no olvide sudo a2ensite test.my.address.comdespués de crear el archivo y sudo invoke-rc.d apache2 restart.
Listen, mire los hosts virtuales de Apaches: httpd.apache.org/docs/2.2/vhosts