desplegar aplicacion laravel mysql y vuejs

Desplegar Aplicación Laravel, MYSQL y Vuejs a Digitalocean

Hola muy Buenas, Bienvenidos a Aprende Web.

En este artículo, vamos a enseñar a como desplegar una aplicación de laravel, mysql y vuejs a Digitalocean. Si quieres ver el código de la aplicacion, pincha aqui.

En este video estamos usando Digitalocean como nuestro proveedor de Hosting.

Si quieres conseguir un crédito de 100$ totalmente gratis con digitalocean, te dejo el enlace aquí.

Si no sabes como hacer la configuración del servidor, te recomiendo que veas el video de 6 claves para proteger el servidor.

Dicho esto, vamos directamente al servidor y vamos a instalar las cosas necesarias para que podamos subir nuestra aplicacion de Laravel.

Las cosas que debemos instalar son:

  • NGINX, como nuestro servidor web
  • MYSQL, como nuestra base de datos
  • PHP
  • Composer, para instalar las dependencias de laravel

Instalando los paquetes

Vamos a ir por partes y primero vamos a instalar nginx. Con esta simple instrucción podemos instalar nginx. Después de que se instale podemos ir a la IP del servidor para ver la pagina por defecto de Nginx.

* Nginx

sudo apt install nginx

* Servidor de Mysql

sudo apt install mysql-server

# aseguramos instalacion de mysql
sudo mysql_secure_installation

# habilitamos el plugin con el nivel 1 de password strength

# respondemos a las preguntas
1. Remove anonymous users? y
2. Disallow root login remotely? y
3. Remove test database and access to it? y
4. Reload privilege tables now? y

# Ahora podemos acceder a mysql
mysql -u root -p

SHOW DATABASES;

* PHP

# antes de instalar php, añademos el repositorio de universe
sudo add-apt-repository universe

# php-fpm es el que va a procesar las paginas php
# php-mysql nos va a ayudar con la integracion entre php y mysql
sudo apt install php-fpm php-mysql

# asi podemos ver la version de php
php -v

* Composer

# para instalar composer, tenemos que instalar algunas dependencias
sudo apt install curl php-cli php-mbstring unzip

# instalar composer
cd ~
curl -sS https://getcomposer.org/installer -o composer-setup.php
ls

# instalar composer
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer

# por ultimo corremos composer para verificar que todo esta correcto
composer

Configurando Laravel

Ahora ya vamos a configurar laravel para que funcione con nuestra aplicacion. Pero antes tenemos que instalar algunos paquetes que son requeridos por el framework de laravel.

sudo apt install php-mbstring php-xml php-bcmath

Configuramos la base de datos para nuestra aplicación

# entramos en mysql
mysql -u root -p

CREATE DATABASE laravel_vue;

# para que esto sea seguro vamos a crear un nuevo usuario para nuestra aplicación. 
# Este usuario solo va a tener privilegios para esta base de datos.

GRANT ALL ON laravel_vue.* TO 'laravel'@'localhost' IDENTIFIED BY 'strong_password' WITH GRANT OPTION;

mysql -u laravel -p

# vemos que solo tiene la base de datos de laravel_vue
SHOW DATABASES;

Clonamos nuestro proyecto

Ahora ya ha llegado el momento de clonar nuestra aplicación de Laravel y ponerla en Internet para que todo el mundo lo vea.

cd /var/www

mkdir laravel
cd laravel

git clone https://github.com/aprendewebdev/laravel-mysql-vue-example.git .

# instalamos dependencias
sudo composer install

ahora vamos a configurar el proyecto. Primero que nada vamos a configurar el archivo de variables de entorno. Como no existe el .env, vamos a duplicar el archivo .env.example

cp .env.example .env

# configuramos las variables
APP_ENV=production
DB_DATABASE=laravel_vue
DB_USERNAME=laravel
DB_PASSWORD=strong_password

# también tenemos que generar un api_key con artisan
php artisan key:generate

Como laravel, necesita permisos de escritura para escribir en ciertos ficheros y carpetas, vamos a darle permisos.

sudo chown -R www-data.www-data /var/www/laravel/storage
sudo chown -R www-data.www-data /var/www/laravel/bootstrap/cache

Ahora tambien debemos migrar la base de datos. Asi ya vamos a tener todas las tablas creadas.

php artisan migrate

Configurar NGINX

Ahora vamos a crear la configuración de Nginx para nuestra aplicación de laravel. La configuracion de nginx se ha cogido de la pagina de laravel.

# creamos nginx config
sudo nano /etc/nginx/sites-available/laravel

# copiar la configuracion que hemos copiado de la pagina de laravel
# cambiar las variables de server_name y el root

server_name IP_SERVIDOR;
root /var/www/laravel/public;

# creamos enlace simbolico
sudo ln -s /etc/nginx/sites-available/laravel /etc/nginx/sites-enabled/

# comprobamos que la sintaxis de nginx es correcta
sudo nginx -t

# recargamos la configuración de nginx
sudo systemctl reload nginx

Con toda esta configuración, ya tenemos la pagina de laravel funcionando y corriendo perfectamente.

Si te das cuenta, esta página de laravel la estamos accediendo a través de la IP. Si quieres configurar un dominio o configurar un certificado SSL totalmente gratis, te dejo este enlace, para que lo hagas.

Si te ha gustado el contenido, te recomendaría que visites mi canal de Youtube. Nos vemos en la próxima.

Acerca del autor

Zeshan Choudhary

Zeshan es un apasionado de las tecnologías modernas y le gusta experimentar con cosas nuevas. Actualmente esta trabajando de lo que le gusta, Desarrollo Backend.

Ver todos los artículos

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *