Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo configurar un subdominio en el servidor DNS y el servidor web

Imago voragine.net
[actualizado el ]

Para configurar un subdominio en el servidor web Apache2 tenemos que crear un nuevo registro en la carpeta sites-availables y posteriormente activarlo mediante el comando a2ensite, como si de un dominio normal se tratara. El mecanismo es exáctamente el mismo que utilizamos para un dominio normal, es decir, asociamos el dominio, en este caso el subdominio, a una carpeta de nuestro servidor.

Utilizaremos como ejemplo el típico subdominio dev del dominio example.com (utilizado cuando desarrollamos una web y no queremos que sea pública en el dominio). Para configurarlo, creamos el archivo sub.example.com, que ubicaremos en /etc/apache2/sites-available/, y lo rellenamos de la siguiente manera:

<VirtualHost *:80>
        ServerName dev.example.com
        ServerAdmin mail@example.com

        DocumentRoot /var/www/folder/htdocs
        <Directory "/var/www/folder/htdocs">
                Options Indexes FollowSymLinks MultiViews
                AllowOverride All
                Order allow,deny
                Allow from all
        </Directory>

        # CGI Directory
        ScriptAlias /cgi-bin/ /var/www/folder/cgi-bin/
        <Directory "/var/www/folder/cgi-bin">
                AllowOverride None
                Options +ExecCGI -MultiViews +SymLinksIfOwnerMatch
                Order allow,deny
                Allow from all
        </Directory>

        # Logfiles
        ErrorLog  /var/www/folder/logs/error.log
        CustomLog /var/www/folder/logs/access.log combined
</VirtualHost>

Tras guardar el nuevo registro, ejecutaremos el comando a2ensite y reiniciaremos el servidor web, para que apache reconozca el nuevo dominio:

# a2ensite dev.example.com
# /etc/init.d/apache2 restart

Lo único que hace a2ensite es crear una liga blanda, un enlace, en la carpeta /etc/apache2/sites-enabled hacia el registro que acabamos de crear en sites-available.

En cuando al servidor DNS del dominio, lo único que tenemos que hacer es dirigir el registro principal @ a la IP del servidor. Fácil.

4 comentarios

    • Por hiko

    por que usas esto
    a2ensite sub.example.com

    si el dominio se llamaba asi
    dev.example.com

    1. Hola hiko,

      era un error. El comando correcto es a2ensite dev.example.com.

      Ya lo he cambiado. ¡Gracias por el apunte!

    • Por Geiser •

    Y si la estructura fuese de subcarpetas example.com/example2/ donde example2 es otro sitio, ¿cómo se configuraría?
    Gracias por todo

    1. Hola Geiser,

      crear un virtual host en el caso que planteas tiene sentido si quieres asociar un dominio, digamos example.net, a la carpeta example.com/example2/. Para ello:

      
              ServerName example.net
              ServerAdmin mail@example.net
       
              DocumentRoot /var/www/example.org/example2
              
                      ...
              
              ...
      

Dejar un comentario

*
*

 

No hay trackbacks