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.com
zona, que apunta my
a 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 *.my
a la zona (y señalarla a la misma dirección IP). Luego, todas las solicitudes something.my.address.com
se 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.com
y 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 ServerName
directiva . 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.com
despué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