Panel de administración web para MailAD, escrito en Node.js, Express y EJS.
Este proyecto proporciona una interfaz web para administrar configuraciones y usuarios de MailAD, un sistema de correo conectado a Active Directory mediante Postfix. Está construido utilizando tecnologías modernas de JavaScript:
- Node.js: Entorno de ejecución del servidor
- Express: Framework web para Node.js
- EJS: Motor de plantillas para renderizar vistas
- Express EJS Layouts: Soporte para layouts y templates
- Interfaz web intuitiva para gestión de usuarios y grupos
- Configuración de Postfix mediante interfaz gráfica
- Integración con LDAP/Active Directory
- Panel de administración seguro con autenticación
- Logs detallados y sistema de notificaciones
- Node.js 18 o superior
- npm 9 o superior
- MailAD instalado y configurado
-
Clona el repositorio dentro de la carpeta en la deceas instalar ej: ```/opt:
cd /opt git clone https://github.com/cz9dev/mailad-admin.git cd /mailad-admin
-
Instala dependencias:
npm install
-
Configura las variables de entorno:
Crea un archivo
.envbasado en.env.exampley configura los valores necesarios. -
Inicia el servidor:
npm start
Suponiendo que tienes el servidor mondato en pm2
- Detener el servidor
pm2 stop 0 # Si el id del la aplicacion node es 0, para ver el id de la aplicación debe anteriormente hacer un pm2 status - Acceder al directorio del mailad-admin:
cd /opt/mailad-admin - Actualizar desde github:
git pull
- Actualizar dependencias:
npm update
- Inicia el servidor:
pm2 start 0 #id de la aplicacion node
mailad-admin/
├── controllers/ # Controladores de la aplicación
├── postfix/ # Configuraciones relacionadas con Postfix
├── utils/ # Utilidades y helpers
├── views/ # Plantillas EJS
├── .env # Variables de entorno
├── .gitignore # Archivos ignorados por Git
├── app.js # Punto de entrada de la aplicación
├── package.json # Dependencias y scripts del proyecto
└── README.md # Este archivo
En un entorno de desarrollo las credenciales por defecto son las siguientes:
- usuario: admin
- password: admin123
Si usted decea pasar a un entorno en producción cambie en su archivo .env lo siguiente:
# NODE_ENV=development
NODE_ENV=production
Una ves cambiado a un entorno de producción solo podrá autenticar contra AD, con los usuarios que tenga dentro del grupo LDAP_ADMIN_GROUP que esta declarado en el archivo .env
├── logger.js (winston) → logs/app.log
│ ├── Errores técnicos
│ ├── Debug de aplicación
│ └── Info del servidor
│
└── Log.js (SQLite) → database.sqlite
├── Acciones de usuarios
├── Auditoría de cambios
└── Logs de negocio (interfaz web)
Este proyecto está licenciado bajo MIT License - ver el archivo LICENSE para más detalles.


