Introducción
Laravel es un marco PHP de código abierto que proporciona un conjunto de herramientas y recursos para crear aplicaciones PHP modernas. Con un ecosistema integral que aprovecha sus características integradas, la popularidad de Laravel ha crecido rápidamente en los últimos años, y muchos desarrolladores lo han adoptado como el marco de elección para un proceso de desarrollo optimizado. En esta guía, instalará y configurará una nueva aplicación Laravel en un servidor Ubuntu 18.04, utilizando Composer para descargar y administrar las dependencias del marco. Cuando termine, tendrá una aplicación de demostración funcional de Laravel que extrae el contenido de una base de datos MySQL.
En este tutorial, veremos cómo instalar Laravel con LEMP en Ubuntu 18.04 LTS.
Si su intención es instalar Laravel con LEMP en un servidor remoto, continúe leyendo; de lo contrario, omita el primer párrafo "Conectando al servidor" y lea el siguiente.
Conexión al servidor
Para acceder al servidor, necesita conocer la dirección IP. También necesitará su nombre de usuario y contraseña para la autenticación. Para conectarse al servidor como root, escriba el siguiente comando:
ssh root@IP_DEL_SERVER
A continuación, deberá ingresar la contraseña del usuario root.
Si no está utilizando el usuario root, puede iniciar sesión con otro nombre de usuario utilizando el mismo comando, luego cambie root a su nombre de usuario:
ssh VOSTRO_UTENTE@IP_DEL_SERVER
Luego se le pedirá que ingrese su contraseña de usuario.
El puerto estándar para conectarse a través de ssh es 22, si su servidor usa un puerto diferente, deberá especificarlo usando el parámetro -p, luego escriba el siguiente comando:
ssh nome_utente@IP_DEL_SERVER -p PORTA
Prerrequisitos
Para completar esta guía, primero debe cumplir con los siguientes requisitos:
- Cree un usuario sudo y habilite UFW Firewall. Puede seguir nuestra guía para la configuración inicial del servidor con Ubuntu 18.04.
- Instale una pila LEMP. Si aún no lo ha configurado, puede seguir nuestra guía sobre Cómo instalar Linux Nginx MySQL PHP (LEMP) en Ubuntu 18.04 LTS.
- Instala Composer. Usaremos Composer para instalar Laravel y sus dependencias. Puede instalar Composer siguiendo nuestra guía sobre Cómo instalar Composer en Ubuntu 18.04 LTS.
Instale los módulos PHP necesarios
Antes de que pueda instalar Laravel, debe instalar algunos módulos PHP requeridos por el marco. Usaremos apt para instalar los módulos PHP. Estas extensiones de PHP brindan soporte adicional para manejar la codificación de caracteres, XML y matemáticas de precisión. Si es la primera vez que usa apt en esta sesión, primero debe ejecutar el comando de actualización para actualizar la caché del administrador de paquetes:
sudo apt update
Ahora puede instalar los paquetes necesarios con:
sudo apt install php-mbstring php-xml php-bcmath
El sistema ahora está listo para instalar Laravel a través de Composer, pero antes de hacerlo, necesitará una base de datos para su aplicación.
Crea una base de datos para la aplicación
Para demostrar la instalación y el uso básicos de Laravel, crearemos una aplicación de lista de viajes de muestra para mostrar una lista de lugares a los que un usuario le gustaría viajar y una lista de lugares que ya ha visitado. Esto se puede almacenar en una simple tabla de lugares con un campo para las ubicaciones a las que llamaremos nombre y otro campo para marcarlas como visitadas o no visitadas, a las que llamaremos visitadas. Además, incluiremos un campo de identificación para identificar de forma única cada entrada. Para conectarse a la base de datos desde la aplicación Laravel, crearemos un usuario MySQL dedicado y le otorgaremos a este usuario todos los privilegios en la base de datos travel_list.
Luego inicie sesión en MySQL como root:
sudo mysql
O si siguió nuestra guía de instalación de LEMP, como se sugiere en los requisitos previos:
sudo mysql -u root -p
Crea una nueva base de datos:
CREATE DATABASE travel_list;
Ahora puede crear un nuevo usuario y otorgarle privilegios completos en la base de datos personalizada que acaba de crear. En este ejemplo, estamos creando un usuario llamado travel_user con una contraseña de su elección, aunque debe cambiarla por una contraseña segura de su elección:
GRANT ALL ON travel_list.* TO 'travel_user'@'localhost' IDENTIFIED BY 'TUA_PASSWORD' WITH GRANT OPTION;
Esto le dará al usuario travel_user privilegios completos en la base de datos travel_list, evitando que este usuario cree o modifique otras bases de datos en el servidor. A continuación, salga del shell de MySQL:
exit;
Ahora puede intentar iniciar sesión en MySQL con el usuario recién creado:
mysql -u travel_user -p
Tenga en cuenta la marca -p en este comando, que le pedirá la contraseña utilizada al crear el usuario travel_user. Después de iniciar sesión en la consola MySQL, confirme que tiene acceso a la base de datos travel_list:
SHOW DATABASES;
Debería recibir un mensaje de salida similar al siguiente:
+--------------------+
| Database |
+--------------------+
| information_schema |
| travel_list |
+--------------------+
2 rows in set (0.01 sec)
Luego, cree una tabla con el nombre de lugares en la base de datos travel_list. Desde la consola MySQL, ejecute la siguiente declaración:
CREATE TABLE travel_list.places (
id INT AUTO_INCREMENT,
name VARCHAR(255),
visited BOOLEAN,
PRIMARY KEY(id)
);
Completemos la tabla de lugares con datos de muestra:
INSERT INTO travel_list.places (name, visited)
VALUES ("Tokyo", false),
("Budapest", true),
("Nairobi", false),
("Berlin", true),
("Lisbon", true),
("Denver", false),
("Moscow", false),
("Olso", false),
("Rio", true),
("Cincinati", false);
Confirme que la entrada fue exitosa:
SELECT * FROM travel_list.places;
Debería recibir un mensaje de salida similar al siguiente:
+----+-----------+---------+
| id | name | visited |
+----+-----------+---------+
| 1 | Tokyo | 0 |
| 2 | Budapest | 1 |
| 3 | Nairobi | 0 |
| 4 | Berlin | 1 |
| 5 | Lisbon | 1 |
| 6 | Denver | 0 |
| 7 | Moscow | 0 |
| 8 | Oslo | 0 |
| 9 | Rio | 1 |
| 10 | Cincinati | 0 |
+----+-----------+---------+
10 rows in set (0.00 sec)
Ahora salgamos de MySQL:
exit
Crea una aplicación Laravel
Ahora creará una nueva aplicación Laravel usando el comando composer. Este comando de Composer se utiliza normalmente para iniciar nuevas aplicaciones basadas en marcos y sistemas de gestión de contenido existentes. En esta guía, usaremos travel_list como una aplicación de ejemplo. La aplicación travel_list mostrará una lista de ubicaciones extraídas de un servidor MySQL local, destinado a demostrar la configuración básica de Laravel y confirmar que puede conectarse a la base de datos. Primero, vaya al directorio de inicio de su usuario:
cd ~
El siguiente comando creará un nuevo directorio travel_list que contiene una aplicación Laravel predeterminada:
composer create-project --prefer-dist laravel/laravel travel_list
Debería recibir un mensaje de salida similar al siguiente:
Installing laravel/laravel (v5.8.17)
- Installing laravel/laravel (v5.8.17): Downloading (100%)
Created project in travel_list
> @php -r "file_exists('.env')