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
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
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
#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
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
Laravel 11 – 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:
Deja una respuesta
Lo siento, debes estar conectado para publicar un comentario.