This post was published originally on medium.com/@eichgi/publicar-un-proyecto-lar.. for my old blog.
Esta publicación es una guía rápida para subir un proyecto realizado en Laravel a un VPS en DO usando Ubuntu 16.04, se presupone que ya tienes tu stack LAMP configurado, y estás utilizando GIT en tu proyecto.
Lo primero que debemos hacer es ejecutar el siguiente comando:
sudo apt-get update
Una vez que hemos actualizado, activamos el módulo mod_rewrite de Apache con el siguiente comando:
sudo a2enmod rewrite
Para poder trabajar correctamente necesitaremos instalar Composer mediante los siguentes dos comandos:
curl -sS https://getcomposer.org/installer | php
sudo mv composer.phar /usr/local/bin/composer
Una ves realizado ahora procedemos a instalar Git con el siguiente comando:
sudo apt-get install git
Una vez instalado debemos movernos a la carpeta www que es donde se colocan los proyectos web en Apache, para ello lo haremos mediante el siguiente comando:
cd /var/www/
Una vez en el directorio procedemos a clonar nuestro proyecto
git clone https://plataforma.com/usuario/proyecto.git
Ejemplo: git clone github.com/eichgi/laravel-crud.git
Ahora debemos entrar al proyecto y ejecutar el siguiente comando para instalar las dependencias requeridas:
composer install
Una vez que todas las dependencias fueron instaladas, debemos modificar los permisos del grupo y de la carpeta storage para el correcto funcionamiento mediante los siguientes comandos:
sudo chown -R www-data: storage
sudo chmod -R 755 storage
Por último solo nos queda apuntar la ruta del servidor a nuestro proyecto, para lograr esto debemos configurar el siguiente archivo de Apache:
sudo nano /etc/apache2/sites-enabled/000-default.conf
Una vez dentro reemplazamos las siguientes lineas:
# DocumentRoot /var/www/html (El # se usa para comentar)
DocumentRoot /var/www/nombre_proyecto/public
Y agregamos/reemplazamos las siguientes:
<Directory /var/www/nombre_proyecto/public/>
RewriteEngine On
RewriteBase /var/www/nombre_proyecto/public
Options Indexes FollowSymLinks
AllowOverride All
Require all granted
</Directory>
Con esto terminamos la edición del archivo, ahora procedemos a reiniciar el servidor:
sudo service apache2 restart
Cuando usamos un sistema git en nuestro proyecto de laravel, algunos archivos no son transferidos; un ejemplo de ello es el archivo .env que se encuentra en la raíz del proyecto. Ustedes mismos deben crear el archivo y colocar la configuración requerida. Después de haberlo creado deben ejecutar el siguiente comando para que el proyecto cuente con una key válida
php artisan key:generate
Si has llegado hasta este punto significa que ya puedes acceder a tu proyecto Laravel montado en VPS en Digital Ocean, y para acceder solo debes escribir la ip de tu vps en el navegador.
Disclaimer: Esta es una guía rápida, y para compartirla me he basado en otro tutorial más detallado el cuál puedes encontrar en el siguiente enlace: programacionymas.com/blog/hacer-deploy-app-..