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
# 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-opcacheEn la VM de base de datos, crear la base y el rol:
CREATE ROLE biam LOGIN PASSWORD '...';
CREATE DATABASE biam OWNER biam;2. Desplegar el código
# 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 buildEl 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):
[Service]
ExecStart=/usr/bin/php /opt/biam/backend/artisan queue:work --tries=3
Restart=always
User=www-data4. .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 bienvenidas5. Asistente de instalación
Abrir https://biam.miempresa.com/install y seguir los tres pasos:
- Base de datos — el asistente prueba las credenciales antes de guardarlas y genera las claves de la aplicación.
- Migración — crea el esquema y los catálogos iniciales.
- 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
php artisan config:cache- Backups:
pg_dumpde la base +storage/app/(ahí viven los paquetes de conectores instalados y el marcador de instalación). - Opcional: cifrado del
.enven reposo conphp 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.