Herramientas de usuario

Herramientas del sitio


tutoriales:gosa_ldap
# 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 <dc=pri,dc=org,dc=cu> 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

<VirtualHost 192.168.0.2:80>
ServerName gosa-admin.pri.org.cu
ServerAdmin admin@pri.org.cu
DocumentRoot "/usr/share/gosa/html"
<Directory /usr/share/gosa/html/>
Options +FollowSymLinks
AllowOverride None
order allow,deny
allow from 192.168.0.0/24
<IfModule mod_php4.c>
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
</IfModule>
</Directory>
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
</VirtualHost>

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
<VirtualHost 192.168.0.2:443>
ServerName gosa-admin.pri.org.cu
ServerAdmin admin@pri.org.cu
DocumentRoot "/usr/share/gosa/html/"
<Directory /usr/share/gosa/html>
Options +FollowSymLinks
AllowOverride None
order allow,deny
allow from 192.168.0.0/16
<IfModule mod_php4.c>
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
</IfModule>
</Directory>
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
</VirtualHost>

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.

tutoriales/gosa_ldap.txt · Última modificación: 2020/04/22 20:57 (editor externo)