5.4 KiB
SIU-Guaraní Preinscripción 3.22.0 - Docker
Este proyecto contiene la configuración Docker para ejecutar el sistema de Preinscripción SIU-Guaraní versión 3.22.0.
Requisitos del Sistema
- Docker
- Docker Compose
- Al menos 2GB de RAM disponible
- Puerto 8080 y 5432 disponibles
Componentes Incluidos
- PHP 7.4 con Apache 2.4
- PostgreSQL 11.6 (configurado con encoding LATIN1)
- Extensiones PHP requeridas: curl, mbstring, pdo_pgsql, openssl, apcu, gd2
- Composer para gestión de dependencias
- yui-compressor 2.4.2 para compilación de recursos
Instalación y Configuración
1. Configuración Inicial
Antes de ejecutar el sistema, es necesario configurar los archivos de configuración:
# Copiar archivos de configuración de ejemplo
cp docker/config.docker.php instalacion/config.php
cp docker/alias.docker.conf instalacion/alias.conf
2. Configuración de Base de Datos
El sistema utiliza PostgreSQL con las siguientes configuraciones por defecto:
- Base de datos principal:
preinscripcion - Base de datos de gestión:
gestion(opcional) - Usuario:
postgres - Contraseña:
postgres123 - Host:
postgres(dentro del contenedor) - Puerto:
5432
3. Ejecutar el Sistema
# Construir y ejecutar los contenedores
docker-compose up -d
# Ver los logs
docker-compose logs -f
# Detener el sistema
docker-compose down
4. Acceso al Sistema
Una vez iniciado, el sistema estará disponible en:
- Punto de acceso para alumnos: http://localhost:8080/preinscripcion/
- Punto de acceso para administradores: http://localhost:8080/preinscripcion_admin/
5. Crear Usuario Administrador
Para crear un usuario administrador, ejecutar:
# Acceder al contenedor
docker-compose exec web bash
# Ejecutar el comando de creación de usuario
cd /var/www/html
./bin/preinscripcion user_admin
Seguir las instrucciones para crear el usuario administrador.
Configuración Personalizada
Variables de Entorno
El archivo docker-compose.yml incluye las siguientes variables de entorno configurables:
environment:
- DB_HOST=postgres
- DB_PORT=5432
- DB_NAME=preinscripcion
- DB_USER=postgres
- DB_PASSWORD=postgres123
Configuración de Correo
Para configurar el servidor de correo, editar el archivo instalacion/config.php en la sección smtp:
'smtp' => [
'from' => 'tu-email@universidad.edu.ar',
'from_name' => 'SIU-Preinscripción',
'host' => 'smtp.universidad.edu.ar',
'seguridad' => mail::SSL,
'auth' => true,
'port' => 465,
'usuario' => 'tu-usuario',
'clave' => 'tu-contraseña',
// ... más configuraciones
],
Múltiples Puntos de Acceso
Para configurar múltiples puntos de acceso, editar:
instalacion/alias.conf- Agregar nuevos alias y configuraciones de Locationinstalacion/config.php- Agregar nuevas configuraciones en la secciónaccesos
Comandos Útiles
# Ver logs del contenedor web
docker-compose logs web
# Ver logs de PostgreSQL
docker-compose logs postgres
# Acceder al contenedor web
docker-compose exec web bash
# Acceder a PostgreSQL
docker-compose exec postgres psql -U postgres -d preinscripcion
# Reiniciar solo el contenedor web
docker-compose restart web
# Reconstruir los contenedores
docker-compose build --no-cache
# Limpiar volúmenes (¡CUIDADO! Esto borra todos los datos)
docker-compose down -v
Desarrollo
Compilar Recursos para Producción
# Acceder al contenedor
docker-compose exec web bash
# Compilar recursos
cd /var/www/html
./bin/preinscripcion compilar_recursos
Modo Producción
Para ejecutar en modo producción:
- Cambiar
'produccion' => trueeninstalacion/config.php - Compilar recursos con el comando anterior
- Configurar servidor de correo apropiado
- Configurar SSL si es necesario
Solución de Problemas
Error de Permisos
Si hay problemas de permisos:
# Recuperar permisos correctos
docker-compose exec web chown -R www-data:www-data /var/www/html
docker-compose exec web chmod -R 755 /var/www/html
Base de Datos No Inicializada
Si la base de datos no se inicializa correctamente:
# Detener contenedores
docker-compose down
# Eliminar volúmenes
docker-compose down -v
# Volver a ejecutar
docker-compose up -d
Puerto en Uso
Si el puerto 8080 está en uso, cambiar en docker-compose.yml:
ports:
- "8081:80" # Cambiar 8080 por 8081
Estructura de Archivos
├── Dockerfile # Imagen PHP con Apache
├── docker-compose.yml # Configuración de servicios
├── docker/
│ ├── apache-config.conf # Configuración de Apache
│ ├── init.sh # Script de inicialización
│ ├── init-db.sql # Script adicional de BD
│ ├── config.docker.php # Configuración de ejemplo
│ └── alias.docker.conf # Alias de Apache de ejemplo
├── instalacion/ # Configuraciones del sistema
├── src/ # Código fuente de la aplicación
└── BD/ # Scripts de base de datos
Soporte
Para soporte técnico, consultar la documentación oficial del SIU:
Versión
Este Docker está configurado para SIU-Guaraní Preinscripción versión 3.22.0.