Aplicación CRUD en Laravel 11

Creación de una aplicación CRUD en Laravel

1. Creación del VPS

Servidor VPS en DigitalOcean.com: LEMP

Getting started after deploying LEMP

2. Configuración del servidor

Alojamiento para Laravel

Server Requirements

El servidor VPS debe tener instalada la versión mínima de PHP (8.2) y las extensiones necesarias.

Instalar PHP 8.2

Conexión al droplet por ssh ( con un usuario diferente a root:):

ssh usuario@alumno.me

How to install all required PHP extensions for Laravel 8?

sudo apt install openssl php-common php-curl php-json php-mbstring php-mysql php-xml php-zip

Installation of PHP Extensions for Laravel 9

sudo apt install php8.2-common php8.2-mysql php8.2-xml php8.2-xmlrpc php8.2-curl php8.2-gd php8.2-imagick php8.2-cli php8.2-dev php8.2-imap php8.2-mbstring php8.2-opcache php8.2-soap php8.2-zip php8.2-intl -y

Server configuration

3. Instalación de Composer y node.js

 How to Install Composer in Ubuntu 22.04 LTS

curl -sS https://getcomposer.org/installer -o composer-setup.php
sudo php composer-setup.php --install-dir=/usr/local/bin --filename=composer
composer -V

Instalar node.js y npm en Ubuntu 20.04

How to install Node.js in Ubuntu 22.04

Installation instructions

#Using Ubuntu
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash - &&\
sudo apt-get install -y nodejs
node -v
npm -v

4. Instalación de Laravel

Installation Via Composer

Do not run Composer as root/super user! See https://getcomposer.org/root for details

Usando Composer

cd ~
# borrar la carpeta laravel_11_crud, si existe
rm -r laravel_11_crud
composer create-project laravel/laravel laravel_11_crud
 
cd laravel_11_crud

ls -la

o usando el instalador de Laravel

composer global require laravel/installer

laravel new laravel_11_crud

Error en el droplet con 1 Gb de RAM (son necesarios 2 Gb de RAM, como mínimo):Redimensionar el droplet con 2 Gb de memoria RAM (cuando se termine la instalación se puede volver a redimensionar a 1 Gb):

5. Base de datos

Crear la base de datos productsDB y el usuario user_productsDB con la password Malaga2324*

sudo mysql
 
CREATE DATABASE productsDB;
CREATE USER 'user_productsDB'@'localhost' IDENTIFIED BY 'Malaga2324*';
GRANT ALL PRIVILEGES ON productsDB.* TO 'user_productsDB'@'localhost';
FLUSH PRIVILEGES;
exit

Modificar el fichero .env:

nano .env

Información de conexión a la base de datos:

DB_CONNECTION=mysql

DB_HOST=127.0.0.1

DB_PORT=3306

DB_DATABASE=productsDB

DB_USERNAME=user_productsDB

DB_PASSWORD=Malaga2324*
 
DB_COLLATION=utf8mb4_unicode_ci

6. Montar en el equipo local el sistema de ficheros remoto del VPS

Uso en Linux

Nota: Estos comandos se ejecutan en el equipo local, no en el VPS

mkdir servidor

sudo apt install sshfs

sshfs usuario@alumno.me:/home/usuario/laravel_11_crud/ servidor -p 22

# Abrir la carpeta con el IDE Visual Studio Code

(Instalar exensión Laravel Extra Intellisense

Instalar exensión PHP Intellisense)

cd servidor

code .

Para desmontarlo:

fusermount -u servidor

Usar sshfs en Windows:

Usar una extensión sftp de Visual Studio Code:

Instalar la extensión sftp de Natizyskunk

Configurar la extensión:

Crear una nueva caarpeta local

Abrir la ventana de comandos con CTRL + SHIFT + P y ejecutar SFTP: config

  Poner los datos de la conexión con el host, username y remotePath propios:

{
    "name": "My VPS Server",
    "host": "alumno.me",
    "protocol": "sftp",
    "port": 22,
    "username": "usuario",
    "remotePath": "/home/usuario/laravel_11_crud",
    "uploadOnSave": true,
    "useTempFile": true,
    "openSsh": true
}

Establecer la conexión pulsando en el icono inferior de la barra situada a la izquierda:

 

7. MVC en Laravel

8. Creación de la aplicación CRUD

Dar permiso de escritura al usuario propietario del servidor web en la carpeta storage:

cd ~/laravel_11_crud
sudo chown -R www-data:www-data storage

Más información:

Código del repositorio en Github

Deja una respuesta