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:
2.- Registrar nuestro subdominio apuntando a la misma IP del VPS
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:
- digitalocean.com/community/tutorials/how-to..
- digitalocean.com/community/tutorials/how-to.. Para saber si tus dominios o subdominios ya pueden ser accedidos te recomienda revisarlos mediante la siguiente página:
- whatsmydns.net Si tienes alguna otra duda, aclaración o comentario por favor escribelo en los comentarios!