☁️ Despliegue de Laravel en hosting
Preparando tu aplicación para el mundo real
El despliegue es el proceso de mover tu aplicación Laravel desde tu entorno de desarrollo local a un servidor de producción. Este paso final requiere configuración de entorno, optimización de rendimiento y la correcta estructura de carpetas para garantizar la seguridad. Aunque existen soluciones especializadas como **Laravel Forge** o **Ploi**, aquí cubriremos los pasos básicos para un hosting compartido o VPS.
📋 Requisitos del Servidor
Laravel tiene algunos requisitos básicos de software en el servidor:
- **PHP:** Versión 8.1 o superior.
- **Extensiones PHP:** `Ctype`, `cURL`, `DOM`, `Fileinfo`, `Mbstring`, `OpenSSL`, `PDO`, `Tokenizer`, `XML`.
- **Base de Datos:** MySQL, PostgreSQL, SQLite o SQL Server.
- **Composer:** Necesario para instalar las dependencias de PHP.
La mayoría de los servicios de hosting VPS (Virtual Private Server) cumplen estos requisitos.
🚀 Pasos esenciales antes de subir
Antes de mover los archivos, realiza estas optimizaciones en tu proyecto local:
Líneas de comandos
php artisan config:cache // Cacha archivos de configuración php artisan route:cache // Cacha las definiciones de rutas php artisan view:cache // Compila y cacha las vistas Blade composer install --optimize-autoloader --no-dev // Instala dependencias sin archivos de desarrollo
Estos comandos reducen la sobrecarga de la aplicación y aceleran el tiempo de respuesta.
🔒 Configuración del Entorno (`.env`)
El archivo **`.env`** debe ser configurado específicamente para producción. Nunca uses la configuración de desarrollo.
- **`APP_ENV=production`**: Fundamental para optimizar y asegurar la aplicación.
- **`APP_DEBUG=false`**: **Extremadamente importante**. Esto previene la exposición de información sensible y errores detallados a los usuarios.
- **`APP_URL`**: Debe coincidir con el dominio público (ej. `https://tusitio.com`).
- **Configuración de BD:** Establece las credenciales de la base de datos de producción.
🌐 Configurando el Directorio Público
Por seguridad, el usuario nunca debe tener acceso directo a carpetas sensibles como `app`, `vendor`, o `.env`. Solo se debe acceder a la carpeta **`public`**.
- Sube todos los archivos de tu proyecto (excepto `vendor`, si lo instalas en el servidor) a una carpeta fuera del directorio accesible por el navegador (ej. `laravel_app`).
- Mueve el contenido de la carpeta **`public`** (incluyendo el `index.php`) al directorio raíz accesible por el dominio (ej. `public_html`).
**Ajuste del `index.php`:** El archivo `public/index.php` debe ajustarse para apuntar a la ubicación correcta de los archivos del core (los que están fuera de `public_html`):
Ajuste en public/index.php
// Ajusta estas rutas a tu estructura, por ejemplo: require __DIR__.'/../laravel_app/vendor/autoload.php'; $app = require_once __DIR__.'/../laravel_app/bootstrap/app.php';
✅ Pasos Finales en el Servidor
- **Permisos:** Asegúrate de que las carpetas `storage` y `bootstrap/cache` tienen permisos de escritura (generalmente 775 o 755, consulta a tu proveedor).
- **Migraciones:** Ejecuta las migraciones y seeders para crear la estructura de la base de datos:
php artisan migrate --force
- **Key de la aplicación:** Si subiste un archivo `.env` nuevo, genera la clave de seguridad:
php artisan key:generate
0 Comentarios
Si desea contactar comigo, lo puede hacer atravez deste formulario gracias