Publicar múltiples proyectos Laravel en Digital Ocean

This post was published originally on medium.com/@eichgi/publicar-m%C3%BAltiples-.. for my old blog.

Naturalmente en esta segunda parte veremos como habilitar subdominios y virtual hosts (v-hosts) para poder tener varias apps realizadas con Laravel en un mismo VPS.

Para este ejercicio debemos contar con lo siguiente:

  • Un VPS corriendo Ubuntu y Apache
  • Un dominio el cuál conectar a nuestra cuenta de DO
  • Uno o más proyectos hechos con Laravel para desplegar
  • Ganas de fallar, porque si no fallas no ganas!

1.- Registrar nuestro dominio en DO > Networking como se muestra a continuacion:

mult01.jpeg

2.- Registrar nuestro subdominio apuntando a la misma IP del VPS

mult02.jpeg

2.1 Debemos esperar a que nuestra nueva dirección se propague a todos los servidores DNS, este proceso puede tomar hasta alrededor de 1 hora.

3.- Una vez configurados los subdominios procedemos crear v-hosts en nuestra instancia para apuntar a los diferentes proyectos que estemos alojando.

3.1.- Entrar a la siguiente carpeta:

cd /etc/apache2/sites-available/

3.2.- Una vez allí debemos generar un archivo con extensión .conf dado que esta es la forma en la cuál Apache reconoce los diferentes v-hosts configurados. Para este ejemplo creare el subdominio test.rovix.xyz por tanto mi archivo se llamará test.rovix.xyz.conf y procederemos a crearlo con el siguiente comando:

sudo nano test.rovix.xyz.conf

3.3.- Una vez que se nos abra el editor nano procederemos a pegar el siguiente código:

<VirtualHost *:80>
        ServerName test.rovix.xyz
        ServerAdmin webmaster@alemanisch.xyz
        DocumentRoot /var/www/test/public
<Directory /var/www/test/public/>
            RewriteEngine On
            RewriteBase /var/www/test/public
            Options Indexes FollowSymLinks
            AllowOverride All
            Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
<IfModule mod_dir.c>
            DirectoryIndex index.php index.pl index.cgi index.html index.xhtml index.htm
</IfModule>
</VirtualHost>

Una vez copiado guardamos el archivo; aquí hay que realizar una observación:

  • Yo he definido como DocumentRoot una carpeta llamada test, tú debes definir la ruta de tu proyecto laravel y no necesariamente tiene que llamarse como tu subdominio o v-host.

3.4 Ahora solo debemos decirle a Apache que habilite el v-host y para ello debemos ejecutar el siguiente comando:

a2ensite test.rovix.xyz.conf

3.5 Debemos reiniciar Apache para que los cambios realizados sean efectivos.

sudo service apache2 reload

4.- Si vamos al navegador y accedemos a nuestro subdominio ahora se debería desplegar el proyecto que tengamos alojado en la ruta definida.

Notas adicionales:

Mucha de la teoría y conceptos abarcados sobre subdominios y v-hosts no se explicaron porque no era la finalidad de esta guía rápida, te dejo unos enlaces donde te puedes documentar más:

No Comments Yet