Descripción general

Laravel es un framework de aplicaciones web PHP con una sintaxis expresiva y elegante. Esta guía te acompañará en el despliegue de una aplicación Laravel en la plataforma NStrim de principio a fin.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales que se muestran allí (nombre de usuario, contraseña y detalles de conexión a la base de datos).

Inicio rápido

1

Crear repositorio desde plantilla

En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Laravel del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".

2

Clona tu repositorio

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Instala las dependencias

composer install
4

Configura el entorno

Copia el archivo de entorno de ejemplo y configura tu base de datos (consulta las instrucciones detalladas más abajo):

cp .env.example .env
php artisan key:generate
5

Ejecuta migraciones y haz push

php artisan migrate
git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

Desarrollo local con Docker

Si no tienes PHP instalado localmente, puedes usar Docker para ejecutar comandos de Laravel. El proyecto incluye un Dockerfile que configura todo lo que necesitas.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (PHP, Composer, Node.js) sin instalarlo en tu ordenador. Piénsalo como una máquina virtual ligera.

Requisitos previos

Instala Docker Desktop para tu sistema operativo (Windows, Mac o Linux).

Ejecutar comandos con Docker

En lugar de ejecutar php artisan migrate directamente, lo ejecutas dentro de un contenedor Docker:

# Build the Docker image (only needed once)
docker build -t laravel-app .

# Run any artisan command
docker run --rm laravel-app php artisan migrate

# Run composer install
docker run --rm -v $(pwd):/var/www/html laravel-app composer install

# Interactive shell inside container
docker run --rm -it -v $(pwd):/var/www/html laravel-app bash
Nota
Docker es opcional para el desarrollo local. La plataforma NStrim gestiona el despliegue automáticamente: solo necesitas Docker si quieres ejecutar comandos localmente sin tener PHP instalado.

Configuración de la base de datos

La plataforma NStrim te proporciona una base de datos MySQL/MariaDB. Necesitas configurar tu archivo .env con las credenciales correctas para conectar.

¿Por qué configurar la base de datos?

Laravel utiliza un archivo .env para guardar la configuración específica del entorno. Por defecto, la plantilla usa SQLite (una base de datos basada en archivos), pero NStrim ofrece MySQL para un mejor rendimiento y compatibilidad con escenarios reales.

Configuración paso a paso

1

Abre tu archivo .env

Abre el archivo .env en la raíz de tu proyecto con tu editor de código.

2

Encuentra la sección de la base de datos

Busca estas líneas (normalmente alrededor de la línea 23):

DB_CONNECTION=sqlite
# DB_HOST=127.0.0.1
# DB_PORT=3306
# DB_DATABASE=laravel
# DB_USERNAME=root
# DB_PASSWORD=
3

Actualiza con tus credenciales

Sustituye con las credenciales de tu panel:

DB_CONNECTION=mysql
DB_HOST=db.<session-domain>
DB_PORT=3306
DB_DATABASE=<your-username>
DB_USERNAME=<your-username>
DB_PASSWORD=<your-password>
Importante
El nombre y el usuario de tu base de datos suelen ser idénticos a tu nombre de usuario del panel (por ejemplo, student01). Consulta la sección de credenciales de tu panel para los valores exactos.

Ejemplo de configuración

Si tu nombre de usuario es student01 y el dominio de la sesión es demo.nstrim.app:

DB_CONNECTION=mysql
DB_HOST=db.demo.nstrim.app
DB_PORT=3306
DB_DATABASE=student01
DB_USERNAME=student01
DB_PASSWORD=your-password-from-dashboard

Ejecutar migraciones

Las migraciones son la forma que tiene Laravel de crear tablas en la base de datos. Tras configurar tu base de datos, ejecuta las migraciones para crear las tablas necesarias:

php artisan migrate

Si necesitas reiniciar y volver a ejecutar todas las migraciones (esto eliminará todos los datos):

php artisan migrate:fresh

Para ejecutar las migraciones con datos de seed (si tu proyecto tiene seeders):

php artisan migrate:fresh --seed

Estructura del proyecto

Entender dónde se ubican los archivos:

├── app/                  # Código de la aplicación
│   ├── Http/
│   │   └── Controllers/  # Aquí van tus controladores
│   └── Models/           # Modelos Eloquent
├── config/               # Archivos de configuración
├── database/
│   ├── migrations/       # Migraciones de la base de datos
│   └── seeders/          # Seeders de la base de datos
├── public/               # Recursos públicos (CSS, JS, imágenes)
├── resources/
│   └── views/            # Plantillas Blade
├── routes/
│   └── web.php           # Rutas web (URL → Controlador)
├── .env                  # Configuración del entorno (BD, etc.)
└── composer.json         # Dependencias PHP
        

Tareas comunes

Crear un nuevo controlador

php artisan make:controller ProductController

Crear un nuevo modelo con migración

php artisan make:model Product -m

Añadir una ruta

Edita routes/web.php:

Route::get('/products', [ProductController::class, 'index']);

Limpiar la caché

php artisan cache:clear
php artisan config:clear
php artisan view:clear

Comandos útiles

php artisan serve Iniciar el servidor de desarrollo local
php artisan migrate Ejecutar migraciones de la base de datos
php artisan migrate:status Comprobar el estado de las migraciones
php artisan make:controller Crear un nuevo controlador
php artisan make:model -m Crear un modelo con migración
php artisan route:list Listar todas las rutas registradas
php artisan tinker Shell PHP interactivo para pruebas

Resolución de problemas

SQLSTATE[HY000] [2002] Connection refused

Causa: El host de la base de datos es incorrecto o el servidor de la base de datos no es accesible.

Solución: Comprueba que DB_HOST en tu archivo .env coincide con el host de la base de datos de tu panel (normalmente db.<session-domain>).

SQLSTATE[HY000] [1045] Access denied for user

Causa: Nombre de usuario o contraseña incorrectos.

Solución: Comprueba dos veces que DB_USERNAME y DB_PASSWORD coinciden exactamente con lo que se muestra en tu panel. ¡Las contraseñas distinguen entre mayúsculas y minúsculas!

SQLSTATE[HY000] [1049] Unknown database

Causa: El nombre de la base de datos no existe.

Solución: Verifica que DB_DATABASE esté establecido como tu nombre de usuario (por ejemplo, student01). Tu base de datos se crea con el mismo nombre que tu usuario.

No application encryption key has been specified

Causa: Falta APP_KEY en el archivo .env.

Solución: Ejecuta php artisan key:generate para generar una clave nueva.

Class 'App\Http\Controllers\...' not found

Causa: El autoloader no conoce tu clase nueva.

Solución: Ejecuta composer dump-autoload para regenerar el autoloader.

La página muestra contenido antiguo tras los cambios

Causa: Laravel está cacheando vistas o configuración.

Solución: Limpia todas las cachés:

php artisan cache:clear
php artisan config:clear
php artisan view:clear

Error 500 del servidor tras el despliegue

Causa: Normalmente un problema de configuración o dependencias faltantes.

Solución: Comprueba que:

  • El archivo .env existe y tiene los valores correctos
  • APP_KEY está establecida (ejecuta php artisan key:generate)
  • Todas las dependencias están instaladas (composer install)
  • Las credenciales de la base de datos son correctas

Comprobar tu base de datos

Puedes acceder a phpMyAdmin para gestionar visualmente tu base de datos. Haz clic en el botón MySQL de tu panel para abrir phpMyAdmin. Inicia sesión con las mismas credenciales que se muestran en tu panel.

Desde phpMyAdmin puedes:

  • Ver todas las tablas creadas por las migraciones
  • Navegar y editar datos directamente
  • Ejecutar consultas SQL personalizadas
  • Exportar/importar datos de la base de datos

Flujo de despliegue

Cada vez que haces push de tu código a Git, tu aplicación se despliega automáticamente:

Cambio de código git push Despliegue automático ¡En vivo!

La URL de tu aplicación desplegada sigue este formato:

https://<your-subdomain>-<repo-name>.<session-domain>

Ejemplo: https://student01-module-a.demo.nstrim.app

Para más información, visita la documentación oficial de Laravel.