Skip to content

Instalación

Instalación nativa en Linux (ver Requisitos). BIAM incluye un asistente de instalación web estilo Moodle: la base de datos y el primer administrador se configuran desde el navegador, no editando archivos.

1. Preparar el sistema

bash
# Ubuntu 24.04 — paquetes base
sudo apt install nginx postgresql-client \
  php8.4-fpm php8.4-pgsql php8.4-ldap php8.4-mbstring php8.4-xml \
  php8.4-curl php8.4-zip php8.4-intl php8.4-bcmath php8.4-opcache

En la VM de base de datos, crear la base y el rol:

sql
CREATE ROLE biam LOGIN PASSWORD '...';
CREATE DATABASE biam OWNER biam;

2. Desplegar el código

bash
# Backend
cd /opt/biam/backend
composer install --no-dev --optimize-autoloader

# SPA (omitir si el release ya trae el build)
cd /opt/biam/frontend
npm ci && npm run build

El SPA se sirve junto al backend, en el mismo origen (sin CORS): nginx apunta su raíz a backend/public.

Permisos: storage/ y bootstrap/cache/ escribibles por el usuario de php-fpm.

3. Servicios

  • Cron (obligatorio — las ventanas de ciclo de vida y la salud de conectores dependen de él):
* * * * * cd /opt/biam/backend && php artisan schedule:run >> /dev/null 2>&1
  • Worker de colas (systemd):
ini
[Service]
ExecStart=/usr/bin/php /opt/biam/backend/artisan queue:work --tries=3
Restart=always
User=www-data

4. .env mínimo

Solo lo básico; la conexión a base de datos la escribe el asistente:

APP_URL=https://biam.miempresa.com
APP_TIMEZONE=America/La_Paz
MAIL_*=...            # SMTP para notificaciones y bienvenidas

5. Asistente de instalación

Abrir https://biam.miempresa.com/install y seguir los tres pasos:

  1. Base de datos — el asistente prueba las credenciales antes de guardarlas y genera las claves de la aplicación.
  2. Migración — crea el esquema y los catálogos iniciales.
  3. Administrador — crea el primer usuario root con las credenciales que tú elijas y cierra el asistente en el mismo paso.

No existe ningún usuario/contraseña por defecto: hasta no completar el paso 3, nadie puede entrar; después de completarlo, el asistente queda bloqueado (reintentos devuelven INIT101W).

6. Post-instalación

bash
php artisan config:cache
  • Backups: pg_dump de la base + storage/app/ (ahí viven los paquetes de conectores instalados y el marcador de instalación).
  • Opcional: cifrado del .env en reposo con php artisan env:encrypt (tarea de operaciones).
  • Configurar la conexión LDAP/AD desde la consola (Settings) — se guarda cifrada en la base de datos, no en .env.