- 13/02/2012
- 3:11 pm
- Canaima , Development , Free Software

Platform Managers have a recurring problem every time I get to choose how they will handle the management of users in their work environments. The problem usually is increased when several applications are part of a project, and need to unify the authentication of users to enhance the user experience.
To solve this problem have been developed extensions and plugins for major web applications like MediaWiki, Plone, WordPress, Drupal, TRAC, among others, that allow you to replace your own authentication system based on an external LDAP or Active Directory . Unfortunately, most of these extensions lack the flexibility and functionality as a Platform Manager needs to efficiently manage users of your applications. In fact, most have serious problems with reading and writing formats of entries, not to mention that there is no common pattern between said extensions, requiring additional work fitness for all applications speak the same language. There is, so far, and direct a comprehensive solution to the problem.
That's why today I present the first stable version of Eagles (1.0.1), an application in which I have been working to solve the problem of user management in the Technology Platform Project Canaima . Eagles is an "Application for User Management with LDAP Interface Friendly and Safe "is written in PHP, based on the principles of simplicity, usability, and elegance.
As a Platform Manager, you can have a centralized database with all users of your platform, which can connect all the services you need to read the list of users, with the reassurance that only Eagles will be writing your users, so semantically correct and compatible with most applications that have LDAP authentication.
Eagles with your users will be able to:
- Create user accounts in an LDAP server.
- View or modify user attributes in an account.
- Change or reset the password for an account
- Forgot your username if you forget.
- Deleting a user account.
- List all registered users.
- Search for users within the database.
Are you interested? Read on!
Aguilas is developed under the principles and ethical values of Free Software. The source code is licensed under GPL-3, ie it is public to use, distribute, and modify you study. The Eagles Draft is available from Gitorious , Github , and Google Code , where you can find even more information.
Aguilas has an extensive documentation (for now only in English), focused on encouraging the formation of a community of developers who can improve their contributions. It is an application that intends to develop a scheme under international collaborative and distributed in most major GNU / Linux.
Features
In technical terms, we can say that Eagles has the following features:
- Pleasant, modern web interface.
- Assisted Setup.
- Enhanced security against SQL injection attacks.
- Blocking spam robots and using captchas.
- Allows use of MySQL servers / local or remote LDAP.
- Allows adaptation and creation of new visual themes. The default is to include a theme and a style Canaima Debian way.
- Support for password encryption with MD5, SHA, and CRYPT.
- Support for TLS connections for LDAP authentication.
Installation of dependencies
Eagles requires the prior installation of certain applications to function properly. Depending on the configuration that best suits your needs, you may need to install additional applications. For example, Eagles need a MySQL server, an LDAP Server and a Mail Transport Agent (MTA). You should install them along with Eagles only if you plan to use the same computer as the local server. That is, if you plan to use remote servers, you need not install them.
If you're using Debian or some derivative distribution as Canaima or Ubuntu, you can install the dependencies through a root terminal the following command:
aptitude install apache2 php5 php5-gd php5-ldap php5-mcrypt php5-mysql php5-suhosin php5-cli que bash gettext python-sphinx icoutils python-docutils libmagickcore-extra imagemagick apache2 mysql-server postfix slapd
Si deseas encontrar mayor información acerca de como configurar Postfix (MTA), puedes echar un vistazo aquí .
Una vez satisfechas las dependencias, Aguilas se puede instalar de varias formas.
Instalar a través de un paquete debian
- Descarga el paquete debian desde el sitio de descargas del Proyecto Aguilas .
- Ejecuta el siguiente comando en una Terminal de Root:
dpkg -i / RUTA / AL / PAQUETE.DEB
- Responde las preguntas que se realizan con respecto a la ubicación de los servidores y las contraseñas de las cuentas administrativas.
Instalar desde el código fuente
- Descarga el código fuente desde el sitio de descargas del Proyecto Aguilas . El código fuente se distribuye como un archivo comprimido con extensión orig.tar.gz.
- Descomprime el archivo con tu programa favorito. Para este ejemplo utilizaremos la aplicación “tar” desde un terminal de usuario:
tar -xvf / RUTA / AL / PAQUETE.ORIG.TAR.GZ
- En un terminal de usuario, accede a la carpeta recién descomprimida:
cd / RUTA / A / LA / CARPETA
- Luego, debemos configurar las fuentes con el siguiente comando:
make A continuación se harán las siguientes preguntas para configurar automáticamente:
- Nombre de la aplicación, por ejemplo:
Gestión de Usuarios de la Plataforma Tecnológica - La persona o grupo responsable de la gestión de la aplicación, por ejemplo:
Administradores de Canaima - La dirección de correo electrónico que aparecerá como remitente en todas las operaciones de e-mails a usuarios registrados, por ejemplo:
aguilas@debian.org - La dirección de correo electrónico que desea utilizar para enviar informes de errores, por ejemplo:
admins@debian.org - El idioma que desea ver en su solicitud (debe estar disponible en la carpeta “locale/”), por ejemplo:
es_ES - El tema se aplica a la solicitud (debe estar disponible en la carpeta de temas), por ejemplo:
debian - La dirección pública de la aplicación, por ejemplo:
aguilas.debian.org - IP o el dominio del servidor donde se encuentra la base de datos MySQL, por ejemplo:
localhost - Nombre de la base de datos MySQL (se creará si no existe), por ejemplo:
aguilas - El usuario con permisos para leer y crear tablas en la base de datos, por ejemplo:
root - Contraseña para el usuario de MySQL, por ejemplo:
123456 - IP o el dominio del servidor donde se encuentra el servicio LDAP, por ejemplo:
localhost - DN con privilegios de lectura y escritura en el servidor LDAP, por ejemplo:
cn=admin,dc=nodomain - Contraseña para el DN escritor, por ejemplo:
123456 - DN base para realizar búsquedas e incluir nuevos usuarios, por ejemplo:
dc=nodomain
Si necesitas modificar alguno de estos parámetros en el futuro, puedes editar el archivo /usr/share/aguilas/setup/config.php en cualquier momento.
- Finalmente, obtenemos privilegios de superusuario, e instalamos Aguilas:
sudo make install
Contribuir
Nos apasiona ayudar a los usuarios de Aguilas a dar el salto para convertirse en miembros activos de la comunidad, así que hay muchas maneras en que puedes ayudar al desarrollo de Aguilas:
- Informa de los errores y solicita funcionalidades en nuestro sistema de tickets .
- Envia parches o pull requests.
- Únete a la lista de correo de Aguilas y comparte tus ideas sobre cómo mejorar Águilas. Estamos siempre abiertos a sugerencias.
- Mejora la documentación mediante la redacción de artículos nuevos o corrección los existentes.
- Traduce Aguilas a tu idioma local, al unirse a nuestro equipo de traducción .
Eso es todo lo que necesitas saber si te gustaría unirse a la comunidad el desarrollo de Águilas. El resto de la información la puedes leer en la documentación .
Soporte
Si necesitas ayuda, puedes recurrir a alguno de los siguientes medios:
Capturas de Pantalla
Si deseas encontrar mayor información acerca de como configurar Postfix (MTA), puedes echar un vistazo aquí .
Una vez satisfechas las dependencias, Aguilas se puede instalar de varias formas.
Instalar a través de un paquete debian
- Descarga el paquete debian desde el sitio de descargas del Proyecto Aguilas .
- Ejecuta el siguiente comando en una Terminal de Root:
dpkg -i / RUTA / AL / PAQUETE.DEB
- Responde las preguntas que se realizan con respecto a la ubicación de los servidores y las contraseñas de las cuentas administrativas.
Instalar desde el código fuente
- Descarga el código fuente desde el sitio de descargas del Proyecto Aguilas . El código fuente se distribuye como un archivo comprimido con extensión orig.tar.gz.
- Descomprime el archivo con tu programa favorito. Para este ejemplo utilizaremos la aplicación “tar” desde un terminal de usuario:
tar -xvf / RUTA / AL / PAQUETE.ORIG.TAR.GZ
- En un terminal de usuario, accede a la carpeta recién descomprimida:
cd / RUTA / A / LA / CARPETA
- Luego, debemos configurar las fuentes con el siguiente comando:
make A continuación se harán las siguientes preguntas para configurar automáticamente:
- Nombre de la aplicación, por ejemplo:
Gestión de Usuarios de la Plataforma Tecnológica - La persona o grupo responsable de la gestión de la aplicación, por ejemplo:
Administradores de Canaima - La dirección de correo electrónico que aparecerá como remitente en todas las operaciones de e-mails a usuarios registrados, por ejemplo:
aguilas@debian.org - La dirección de correo electrónico que desea utilizar para enviar informes de errores, por ejemplo:
admins@debian.org - El idioma que desea ver en su solicitud (debe estar disponible en la carpeta “locale/”), por ejemplo:
es_ES - El tema se aplica a la solicitud (debe estar disponible en la carpeta de temas), por ejemplo:
debian - La dirección pública de la aplicación, por ejemplo:
aguilas.debian.org - IP o el dominio del servidor donde se encuentra la base de datos MySQL, por ejemplo:
localhost - Nombre de la base de datos MySQL (se creará si no existe), por ejemplo:
aguilas - El usuario con permisos para leer y crear tablas en la base de datos, por ejemplo:
root - Contraseña para el usuario de MySQL, por ejemplo:
123456 - IP o el dominio del servidor donde se encuentra el servicio LDAP, por ejemplo:
localhost - DN con privilegios de lectura y escritura en el servidor LDAP, por ejemplo:
cn=admin,dc=nodomain - Contraseña para el DN escritor, por ejemplo:
123456 - DN base para realizar búsquedas e incluir nuevos usuarios, por ejemplo:
dc=nodomain
Si necesitas modificar alguno de estos parámetros en el futuro, puedes editar el archivo /usr/share/aguilas/setup/config.php en cualquier momento.
- Finalmente, obtenemos privilegios de superusuario, e instalamos Aguilas:
sudo make install
Contribuir
Nos apasiona ayudar a los usuarios de Aguilas a dar el salto para convertirse en miembros activos de la comunidad, así que hay muchas maneras en que puedes ayudar al desarrollo de Aguilas:
- Informa de los errores y solicita funcionalidades en nuestro sistema de tickets .
- Envia parches o pull requests.
- Únete a la lista de correo de Aguilas y comparte tus ideas sobre cómo mejorar Águilas. Estamos siempre abiertos a sugerencias.
- Mejora la documentación mediante la redacción de artículos nuevos o corrección los existentes.
- Traduce Aguilas a tu idioma local, al unirse a nuestro equipo de traducción .
Eso es todo lo que necesitas saber si te gustaría unirse a la comunidad el desarrollo de Águilas. El resto de la información la puedes leer en la documentación .
Soporte
Si necesitas ayuda, puedes recurrir a alguno de los siguientes medios:
Capturas de Pantalla








Excelente trabajo. Ya lo estoy corriendo en Debian 6 y cargué un par de issues que conseguí con el captcha. Voy a pasar algunos feature requests también. Me parece una pieza que faltaba en el complejo escenario de administración de OpenLDAP. Una acotación, no existe autenticación LDAP “y Active Directory”, Active Directory es un producto que, en capa de autenticación, permite el acceso (si está correctamente configurado) por LDAP, por SMB y por Kerberos, así como autenticación nativa para aplicaciones que corren en el entorno gráfico. La única razón por la que Águilas no podría as-is conectarse a Active Directory es por el modelo de usuarios, que cambia entre distintos productos, tanto los basados en OpenLDAP (389, FDS…) como en los propietarios (que son muchos, no solo AD)