🛠️ Guía de Instalación de Laravel con PHP 8.4, Node.js y MariaDB

🔧 Instalación de herramientas básicas

apk add --no-cache nodejs npm nano

Instala Node.js, npm y el editor de texto nano sin guardar archivos temporales en caché.


🐘 Instalación de PHP 8.4

/bin/bash -c "$(curl -fsSL https://php.new/install/linux/8.4)"

Descarga e instala PHP 8.4 utilizando un script automatizado de php.new.


📦 Instalación del instalador de Laravel globalmente

composer global require laravel/installer

Instala el instalador de Laravel a nivel global mediante Composer.


🚀 Creación de una nueva aplicación Laravel

cd laravel
laravel new Netflox
cd Netflox

Se accede al directorio laravel, se crea un nuevo proyecto llamado Netflox y se entra en el directorio del nuevo proyecto.


🧱 Instalación de Breeze (sistema de autenticación básico)

composer require laravel/breeze --dev
php artisan breeze:install

Se instala Laravel Breeze y se configura como scaffolding para autenticación simple.


👥 Configuración de permisos y usuarios

addgroup -S www-data
adduser -S -G www-data www-data

Se crea un grupo www-data y se añade un usuario del mismo nombre, ambos sin privilegios completos (-S = system).

chmod -R 775 /laravel/Netflox/storage /laravel/Netflox/bootstrap/cache
chown -R www-data:www-data /laravel/Netflox/storage /laravel/Netflox/bootstrap/cache

Asigna permisos y propietarios correctos a los directorios de storage y cache, necesarios para que Laravel funcione correctamente.


⚙️ Configuración del entorno

nano .env

Abre el archivo .env para editar variables de entorno como base de datos, URL de la app, etc.


🗃️ Migración de base de datos

php artisan migrate

Ejecuta las migraciones para crear las tablas definidas en el esquema de Laravel.


🐬 Verificación de tablas en la base de datos

mariadb -u root
USE laravel_db;
SHOW TABLES;

Se accede a MariaDB, selecciona la base de datos laravel_db y se listan sus tablas.


🛠️ Compilación de frontend con Vite

npm install && npm run build

Instala las dependencias frontend y compila los assets para producción con Vite.


🧹 Limpieza de configuración

composer dump-autoload
php artisan config:clear
php artisan cache:clear

Limpia la caché de configuración, autoload y otros archivos temporales de Laravel.


🚀 Iniciar servidor de desarrollo

php artisan serve
curl http://localhost:8000

Inicia el servidor local de Laravel y hace una solicitud para verificar que está funcionando.


📦 Instalación y configuración de PHP-FPM

apk add --no-cache php84-fpm
php-fpm84 -v

Instala PHP-FPM 8.4 y verifica la versión instalada.


🗂️ Preparar entorno de PHP-FPM

sudo mkdir -p /run/php
chown -R www-data:www-data /run/php
chmod 755 /run/php

Crea y configura el directorio de sockets que usará PHP-FPM para comunicarse con el servidor web.

nano /etc/php84/php-fpm.d/www.conf

Edita la configuración del pool de procesos de PHP-FPM (www.conf) para adaptar puertos, usuario, etc.

php-fpm84
netstat -tuln | grep 9000

Inicia PHP-FPM y verifica que esté escuchando en el puerto 9000 (por defecto).

pkill php-fpm84
php-fpm84

Reinicia PHP-FPM si es necesario (por ejemplo, tras cambios en la configuración).