☁️ Despliegue de Laravel en hosting

☁️ 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

Publicar un comentario

0 Comentarios