Cómo crear subdominios en Apache con Digital Ocean

Digital Ocean es un excelente servicio de hosting VPS que nos fascina (de hecho, todos nuestros proyectos están alojados ahí) y que te recomiendo mucho frente a opciones de shared hosting que pueden costar lo mismo o más y con mucho menos funcionalidades.

En este artículo te enseñaré a crear subdominios en Digital Ocean (utilizando LAMP) para que puedas alojar varios proyectos en directorios diferentes utilizando el mismo Droplet. El proceso es bastante sencillo.

1. Crear tu subdominio desde Digital Ocean

Ingresa a Digital Ocean con tu usuario y contraseña y ve a la sección DNS

Crear subdominios en Digital Ocean - Escuela Digital

Luego abre las opciones de tu dominio. Si tienes más de uno, como es mi caso, escoge el que utilizarás para tu subdominio. Yo escogeré escueladigital.pe

Crear subdominios en Digital Ocean - Escuela Digital

Ahora crea un registro A con el nombre de tu subdominio. Por ejemplo, yo quiero el subdominio cursos.escueladigital.pe pero como el dominio principal ya lo tengo seleccionado, solo escribo cursos.

En el segundo recuadro escribe la IP de este dominio (la misma IP del droplet que estás usando)

Crear subdominios en Digital Ocean - Escuela Digital

Con esto ya hemos creado el subdominio y está funcionando. El único detalle es que está apuntado al dominio principal (como vemos en la imagen). Pero ahora mismo lo resolveremos

Crear subdominios en Digital Ocean - Escuela Digital

2. Configurar Apache

Lo siguiente es determinar a qué directorio queremos que apunte este subdominio. En mi caso la carpeta será /var/www/html/edcursos/.

Así que creamos la carpeta (también lo puedes hacer por un cliente gráfico, si no quieres usar la terminal, tipo Filezilla o WinSCP, este ultimo es el que recomiendo)

mkdir -p /var/www/html/edcursos

El flag -p asegura que se crearán los directorios intermedios en caso no existieran.

Lo último es editar la configuración de Apache para crear un servidor virtual (VirtualHost), para eso busca el archivo /etc/apache2/sites-avalaible/000-default.conf y editalo. Si estas en WinSCP lo puedes hacer con un doble clic y se abrirá en tu editor predeterminado y al guardar se subirá la nueva versión automáticamente. Por terminal puedes usar:

sudo nano /etc/apache2/sites-avalaible/000-default.conf

Simplemente añade las siguientes líneas

#Subdominio cursos.escueladigital.pe
<VirtualHost *:80>
  ServerName cursos.escueladigital.pe
  DocumentRoot /var/www/html/edcursos
</VirtualHost>

La primera línea solamente es un comentario que puedes omitir. Sin embargo, las líneas 3 y 4 sí debes editarlas para indicar tu subdominio y tu directorio.

Ahora reinicia apache

sudo service apache2 restart

¡Listo!

Es todo, puedes cargar un archivo index.html de prueba en el directorio que has elegido. Ahora ve a tu subdominio.

Crear subdominios en Digital Ocean - Escuela Digital

¡Voilá!

Sigue leyendo