# aptitude install slapd ldap-utils Al ejecutar este domando nos pedirá la contraseña del administrador de ldap, luego corremos este comando: # dpkg-reconfigure slapd Aquí debemos contestar una serie de preguntas como: 1- Omitir la configuración de OpenLDAP: No \ 2- Nombre de dominio: tu.dominio.cu \ 3- Nombre de organización: tu.organizacion.cu \ 4- Contraseña del admin: passoword \ 5- Confirme la contraseña del admin: password \ 6- Motor de base de datos a utilizar: BDB \ 7- Borrar la base de datos al purgar slapd: No \ 8- Mover la base de datos antigua: Si \ 9- Permitir LDAP v2: Si \ Ahora, para probar que el servicio de slapd está arriba y funcionando utilizamos el comando: # ldapsearch -x -b "dc=tu,dc=dominio,dc=cu" # extended LDIF # # LDAPv3 # base with scope subtree # filter: (objectclass=*) # requesting: ALL # # pri.org.cu dn: dc=pri,dc=org,dc=cu objectClass: top objectClass: dcObject objectClass: organization o: pri.org.cu dc: pri # admin, pri.org.cu dn: cn=admin,dc=pri,dc=org,dc=cu objectClass: simpleSecurityObject objectClass: organizationalRole cn: admin description: LDAP administrator # search result search: 2 result: 0 Success # numResponses: 3 # numEntries: 2 ==== Instalamos apache2 ==== # aptitude install apache2 apache2-doc ==== Instalamos mysql ==== # aptitude install mysql-server-5.0 mysql-client-5.0 libmysqlclient15-dev ==== Instalamos php5, dependencias de gosa y módulos de php5 para ldap y mysql ==== # aptitude install php5 libapache2-mod-php5 php5-gd php5-cli php5-imap php5-ldap php5-mhash %%\%% php5-mysql php5-imagick imagemagick graphicsmagick-imagemagick-compat php5-recode %%\%% wwwconfig-common smarty-gettext libcrypt-smbhash-perl php-pear php-db php5-snmp fping smarty **Nota: El caracter \ al final indica que las 3 líneas son una sola, es decir todo es una misma línea.** ==== Instalamos phpldapadmin ==== # aptitude install phpldapadmin Para acceder a la Web de phpldapadmin, usamos alguna de las URL siguientes: http://192.168.0.2/phpldapadmin Para acceder en la web usamos: login: cn=admin,dc=pri,dc=org,dc=cu Clave: ****** ==== Instalamos gosa ==== # aptitude install gosa gosa-schema Una vez instalado gosa, podemos acceder a su interfaz Web para su configuración por: http://tu.dominio.cu/gosa Pero antes de continuar, debemos asegurarnos que en el fichero de configuración de ldap tenemos especificados todos estos esquemas y en este mismo orden, por lo tanto, vamos a editar dicho fichero: # nano /etc/ldap/slapd.conf # Schema and objectClass definitions include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/openldap.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/misc.schema include /etc/ldap/schema/samba3.schema include /etc/ldap/schema/gosystem.schema include /etc/ldap/schema/gofon.schema include /etc/ldap/schema/goto.schema include /etc/ldap/schema/gofax.schema include /etc/ldap/schema/goserver.schema include /etc/ldap/schema/gosa+samba3.schema include /etc/ldap/schema/goto-mime.schema include /etc/ldap/schema/samba.schema include /etc/ldap/schema/pureftpd.schema include /etc/ldap/schema/nagios.schema include /etc/ldap/schema/trust.schema include /etc/ldap/schema/rfc2739.schema include /etc/ldap/schema/kolab2.schema include /etc/ldap/schema/phpgwaccount.schema include /etc/ldap/schema/dhcp.schema include /etc/ldap/schema/dnszone.schema include /etc/ldap/schema/dns.schema Aclaro que para incluir todos estos esquemas a nuestro servidor ldap, deben existir dichos esquemas en el directorio %%/etc/ldap/schema%% por lo que debemos buscarlos en internet, copiarlos para este directorio y asegurarnos que queden con los mismos permisos que tienen los esquemas que ya aparecen ahí ok! Para asegurarnos que los esquemas queden con los permisos correctos usamos estos 2 comandos: # cd /etc/ldap/schema # find . -type d -exec chown root.openldap {} \; # find . -type f -exec chown root.openldap {} \; # find . -type d -exec chmod 750 {} \; # find . -type f -exec chmod 640 {} \; ==== Agregamos también al fichero slapd.conf estas líneas: ==== # nano /etc/ldap/slapd.conf # Habilitar el chequeo de esquemas. # schemacheck on loglevel -1 # Indexing options for database #1 index default sub index uid,mail eq index gosaMailAlternateAddress,gosaMailForwardingAddress eq index cn,sn,givenName,ou pres,eq,sub index objectClass pres,eq index uidNumber,gidNumber,memberuid eq index gosaSubtreeACL,gosaObject,gosaUser pres,eq # Indexing for Samba 3 index sambaSID eq index sambaPrimaryGroupSID eq index sambaDomainName eq # Indexing for DHCP index dhcpHWAddress eq index dhcpClassData eq # Indexing for DNS index zoneName eq index relativeDomainName eq Salvamos el ficheros y salimos. ==== Reiniciamos ldap ==== # /etc/init.d/slapd restart Luego vamos a la web de gosa y procedemos a su configuración. Como nos indica en el 1er paso, debemos crear este fichero: # echo -n 4ab0c6aa1b931d18808487151dcc824e > /tmp/gosa.auth **Nota: No copie este comando del tutorial, tómelo de la Web de gosa ya que la numeración no es siempre la misma.** Luego pulsamos el botón siguiente. La próxima página debemos escoger el idioma, seleccionamos español y seguimos. En el próximo paso, gosa comprobará algunos paquetes y parámetros necesarios para trabajar, en el caso de Debian Etch había que modificar algunos valores en el php.ini pero en Debian Lenny esto no es necesario, así que nos saltamos este paso. ==== Reiniciamos Apache: ==== # invoke-rc.d apache2 restart Le damos actualizar a la Web de gosa y ya no debe darnos el error. Damos siguiente y viene la licencia la cual debemos aceptar desde luego para poder continuar. ==== El próximo paso es la conectividad a LDAP: ==== **NOTA!!!! PENDIENTE DE FORMATEO** Conexión LDAP Nombre de la localización: MyServerGOsa Conectar a la URL: ldap://localhost:389 Conexión TLS: No Base: dc=tu,dc=dominio,dc=cu DN del administrador: cn=admin,dc=tu,dc=dominio,dc=cu Contraseña de administrador: ***** La opción que dice: Añadir automáticamente la base LDAP al DN administrador la dejamos sin marcar. Usar grupos conformes a rfc2307bis: No Pulsamos siguiente. En la otra página nos aparecerá: Parámetros específicos del esquema Activar validación de esquema cuando se registre: Si Pulsamos continuar. En el próximo paso, solo cambio estas opciones, (las demás las dejo como están) Atributo 'dn' de los usuarios: uid Algoritmo de codificación de contraseña: md5 Damos siguiente y en el próximo paso, solo cambio estas opciones: Zona horaria: America/Havana (DST) Método de correo: cyrus (uid) Usa estilo Cyrus UNIX: Si Pulsamos Siguiente. En la próxima página lo dejo todo como esta. Pulsamos Siguiente. En esta página debemos crear el usuario administrador para gosa, el cual lo llamaremos admin, igual que el administrador de ldap, pero uno no tiene nada que ver con el otro, incluso pueden tener claves distintas siqueremos y si quieres puedes escoger otro nombre de usuario para el administrador de gosa OK! Pulsamos el botón: Crear que aparece en la opción: Comprobando súper administrador: Especificamos el nombre de usuario y una clave, en mi caso: Nombre: System administrator Identificador (ID) de usuario: admin Contraseña: ***** Contraseña (de nuevo): ***** Y pulsamos el botón aplicar. Ahora ya podemos seguir adelante. Pulsamos continuar. En la siguiente página: Avisos y sugerencias son cosas opcionales, de modo que no haré nada de eso, desmarco todas las opciones seleccionadas con palomas y marco No donde me permita escoger y voy a la siguiente página. Pulso continuar. La siguiente página ya es el paso final, aquí debemos descargar el fichero de configuración de gosa que se va a generar con todas las opciones que hemos ido seleccionando paso a paso, para ello pulsamos el botón: Descargar configuración. Bien, una vez descargado el fichero gosa.conf debemos copiarlo para nuestro servidor para: /etc/gosa luego para asegurarnos que quede con los permisos correctos corremos los siguientes comandos: # chown root.www-data /etc/gosa/gosa.conf # chmod 640 /etc/gosa/gosa.conf Una vez hecho esto ya podemos finalizar pulsamos por última vez el botón: Continuar y ya está lista la interfaz Web de gosa que será lo que usaremos para gestionar las cuentas de usuarios de nuestro servidor de correo. Despues montamos un VirtualHost para la web gosa ServerName gosa-admin.pri.org.cu ServerAdmin admin@pri.org.cu DocumentRoot "/usr/share/gosa/html" Options +FollowSymLinks AllowOverride None order allow,deny allow from 192.168.0.0/24 AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # Estas opciones son necesarias para algunas locales php_value mbstring.func_overload 0 php_value include_path . DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] # Reescribimos todas las peticiones a este sitio a una conexión segura es decir usando SSl RewriteEngine On RewriteCond %{SERVER_PORT} !^443$ RewriteCond %{HTTP_HOST} gosa-admin.pri.org.cu RewriteRule (.*) https://gosa-admin.pri.org.cu$1 [R=301,L] ErrorLog /var/log/apache2/gosa-admin-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/gosa-admin-access.log combined ServerSignature On Hemos agregado un VirtualHost para gosa, pero ahora debemos añadir otro con soporte SSL, dejamos un espacio y ponemos a continuación el otro VirtualHost. # VirtualHost con soporte SSL ServerName gosa-admin.pri.org.cu ServerAdmin admin@pri.org.cu DocumentRoot "/usr/share/gosa/html/" Options +FollowSymLinks AllowOverride None order allow,deny allow from 192.168.0.0/16 AddType application/x-httpd-php .php php_flag magic_quotes_gpc Off php_flag short_open_tag On php_flag register_globals Off php_flag register_argc_argv On php_flag track_vars On # Estas opciones son necesarias para algunas locales php_value mbstring.func_overload 0 php_value include_path . DirectoryIndex index.php RewriteEngine on RewriteCond %{REQUEST_METHOD} ^(TRACE|TRACK) RewriteRule .* - [F] SSLEngine on SSLCertificateFile /etc/apache2/ssl/gosa-admin.pem ErrorLog /var/log/apache2/gosa-admin-error.log # Possible values include: debug, info, notice, warn, error, crit, # alert, emerg. LogLevel warn CustomLog /var/log/apache2/gosa-admin-access.log combined ServerSignature On Salvamos y salimos. Ahora vamos a crear el certificado para dicho sitio: # mkdir /etc/apache2/ssl Generamos el certificado y le ponemos los permisos. # openssl req -newkey rsa:1024 -x509 -nodes -out /etc/apache2/ssl/gosa-admin.pem -keyout /etc/apache2/ssl/gosa-admin.pem -days 3650 # chown root:www-data /etc/apache2/ssl/gosa-admin.pem # chmod 640 /etc/apache2/ssl/gosa-admin.pem # rm /etc/apache2/conf.d/gosa.conf Ahora debemos activar SSL en apache. # a2ensite default-ssl Reiniciamos apache2 # /etc/init.d/apache2 restart Y ya podemos acceder a la Web de gosa mediante la URL: http://gosa-admin.pri.org.cu Debe redireccionar automáticamente dicha petición http hacia https.