Fedora Directory Server

Nivel del Documento

Porcentaje del documento

Básico

Indeterminado

Archivos adjuntos

launch-ds.sh | install.inf | tuning.sh

fedora-ds-admin | fedora-ds-core

Enlaces relacionados

SSL | ZimbraSchema | SabayonSchema | PassReminder

Escritores

WilmerJaramillo

Introducción

Fedora Directory Server es un servidor LDAP para Linux desarrollado por Red Hat y la comunidad de Fedora, permite un completo sistema de identidades y una plataforma integral para múltiples servicios de servidor. Enfocado principalmente a instituciones y empresas corporativas, cuenta con múltiples características que lo hacen el favorito para implementaciones del mundo real.

Se destacan su capacidad de replicación Multimaster(MMR), compatibilidad con MS Active Directory, Soporte SNMP, Integridad Referencial, Grupos estáticos y dinámicos, Roles, Clases de Servicios, vistas, Editor Gráfico de Esquema y todo un conjunto de herramientas para un control operacional más granulado. En la actualidad esta trabajando en una amplia variedad de empresas e instituciones a nivel mundial, principalmente por su alto rendimiento y fácil administración.

{*} Importante

Esta trabajo no pretende ser una guia completa de configuración y administración de Red Hat/Fedora Directory Server, para ello remitase a la Documentación oficial

Pre-requisitos de Hardware

Se requiere un procesador superior a un Intel 500MHz Pentium III, es recomendable tambien como minimo 256MB de RAM y 300 MB de espacio en disco. En entornos de producción el valor mínimo podria ser 2 GB de RAM con 2 GB de espacio en disco en plataforma servidor de 32 o 64 bit.

Pre-requisitos de Software

1.- Servidor Web Apache

2.- Un Java JRE (únicamente para Fedora Directory Console)

Componentes de Fedora Directory Server

La suite Fedora Directory Server constá principalmente de 4 sub-sistemas:

Fedora Directory Core

Fedora Directory Administration

Fedora Directory Console

Fedora Org Chart

Instalación de paquetes

Fedora Directory Server puede ser administrado bien a través de la terminal de comandos, vía web o a través de su interfaz gráfica de usuario Fedora Directory Console(FDC), para esté último necesitamos utilizar el JRE de Java, lamentablemente GCJ en la actualidad no ejecuta adecuadamente FDC y debido a esto es común recibir errores del siguiente tipo:

"GC Warning: Out of Memory!

De todas maneras a partir de Fedora 8, GCJ dejára de ser parte oficial de la distribución, en su lugar, el Java Team apostará por la integración de IcedTea, un proyecto impulsado por Red Hat y figura ser una implementación del OpenJDK recientemente liberado por SUN.

Después de instalar correctamente el JRE de Java, se le indica al sistema que debe utilizar el JRE de SUN en lugar de GCJ con el comando update-alternatives:

# update-alternatives --install /usr/bin/java java /opt/JRE-1_*/bin/java 1900

Descarga e instala el RPM de Fedora Directory Server(FDS) para su plataforma, actualmente esta soportado el RHEL3/4 y Fedora 2/3/4/5/6, todos ellos para plataforma x86_64 y x86.

(!) Pensando en Red Hat Advanced Platform

Para la plataforma RHEL5 para la fecha (20/05/2007) no existe un rpm oficial, sin embargo, la versión para Fedora Core 6 funciona muy bien en está última versión estable de Red Hat.

# rpm -ivh fedora-ds-1.0.4-1.FC6.i386.opt.rpm

Fedora Directory Server se instala por defecto en el directorio /opt/fedora-ds allí encontrará los archivos de instalación y administración, así como cada una de las instancias que posteriormente vamos a crear, debe haber al menos una(1) instancia creada en la instalación inicial y se representa con el nombre de directorio /opt/fedora-ds/slapd-<instancia>/.

Preparando el sistema

Antes de instalar debemos crear un par usuario/grupo para operar el directorio, si lo omitimos el guión de instalación asignará el usuario/grupo nobody a los archivos, directorios y todo el sub-sistema una vez instalado, en tanto lo sustituiremos con fedora-ds:

# adduser -M -s /bin/false fedora-ds

Fedora Directory Server tiene una pequeña aplicación capaz de verificar el estado del sistema y algunos parámetros del kernel necesarios para que el directorio funcione adecuadamente y óptimo, está aplicación la podemos encontrar en /opt/fedora-ds/bin/slapd/server/dsktune, ésta aplicación nos ofrecera información sobre lo que debemos ajustar y cambiar en Linux, algunos de estos cambios comúnes debemos hacerlo en los archivos /etc/security/limits.conf y /etc/sysctl.conf, veamos más adelante como llegar a configurarlos adecuadamente.

Configuración de nombre al sistema

Debemos darle un nombre al servidor que tendrá el directorio, este paso es muy importante aunque no imprescindible para la instalación, una vez lo tengamos debe configurarse en el archivo /etc/hosts y /etc/sysconfig/network

Debemos tener presentes cuál va ser el dominio de la organización que vamos a gestionar, para los efectos necesarios vamos a usar vzla.gob.ve y le daremos por nombre a nuestra maquina ds1(que significa: Directory Server Nro.1), así entonces quedará ds1.vzla.gob.ve. También es preciso mencionar que Fedora Directory Server tiene la capacidad de manejar múltiples dominios en una misma interfaz de administración, a esto se le conoce como Gestión de Instancias.

Archivos de configuración

El siguiente parámetro le indica al sistema la máxima cantidad de archivos que pueden ser abiertos por un único usuario, cuando se está trabajando un buen tiempo con el directorio estos valores tienen un gran impacto especialmente cuando se realizan operaciones de búsqueda:

# echo "* - nofile 2048" >> /etc/security/limits.conf

Parámetros del kernel

# echo "net.ipv4.ip_local_port_range = 1024 65000" >> /etc/sysctl.conf

El rango de puertos TCP/UDP que estarán disponibles en el sistema local, este valor es regularmente configurado en sistemas de alto rendimiento.

# echo "fs.file-max = 65536" >> /etc/sysctl.conf

Indica al kernel la máxima cantidad de archivos que pueden ser abiertos, esta opción le permite al directorio determinar la cantidad máxima de entradas que podría mantener en memoria :

/!\ Precaución

Debe tener cuidado y ajustar este valor de acuerdo a su configuración de hardware, se recomienda tener más de 1000MB de RAM e incrementar el valor de fs.file-max en 256 por cada 4MB de RAM, por ejemplo, para un sistema con 1024MB de RAM, es razonable tener un valor fs.file-max en 65536.

El calculo es simple: 1024/4=256 256*256=65536.

La siguiente tabla muestra los valores más comunes:

Cantidad de RAM

Valor para fs.file-max

128

8192

256

16384

512

32768

1024

65536

2048

131072

# echo "net.ipv4.tcp_keepalive_time = 600" >> /etc/sysctl.conf

Permite mantener un tiempo límite para las sesiones realizadas especialmente desde Fedora Directory Administrator, por tanto, si un usuario o administrador se auténtica en el directorio vía web y luego no realiza ninguna operación en el tiempo pautado, automáticamente su sesión expira.

/!\ Precaución

Originalmente este parámetro tiene un valor de 7200 milisegundos (120 minutos), por medidas de seguridad es recomendable configurar en 600 milisegundos (10 minutos).

Finalmente para que algunos cambios surtan efecto.

# sysctl -q -p /etc/sysctl.conf

Alternativamente pueden descargar el archivo tuning.sh para una configuración automática del sistema, este guión ejecuta sin asistencia todos los comandos anteriormente mencionados.

Preparando el archivo de instalación

Descarga la siguiente plantilla del archivo install.inf y modifica cada una de las entradas siguientes:

1. Nombre completo de la maquina:

    FullMachineName= ds1.vzla.gob.ve 

2. Directorio de instalación del FDS:

    ServerRoot= /opt/fedora-ds
    AdminDomain= vzla.gob.ve 

3. Administrador de Fedora Directory Console(FDC):

    ConfigDirectoryAdminID= admin

4. La clave usada por defecto aquí para FDS es fedorads, debe cambiarla en cada una de las siguientes entradas:

    ConfigDirectoryAdminPwd= fedorads
    UserDirectoryAdminPwd= fedorads
    ServerAdminPwd= fedorads

5. Sufijo URL LDAP:

    ConfigDirectoryLdapURL= ldap://ds1.vzla.gob.ve:389/o=NetscapeRoot
    UserDirectoryLdapURL= ldap://ds1.vzla.gob.ve:389/dc=vzla,dc=gob,dc=ve

6. Debe cambiar en la siguiente entrada, la contraseña para el Directory Manager, quien representa el administrador del FDS:

    RootDNPwd= fedorads

Instalación del Directorio

A continuación debe instalar el directorio a partir de la previa configuración desde el archivo install.inf , realizamos una instalación silenciosa pero efectiva ejecutando el siguiente comando:

# cd /opt/fedora-ds/setup/
# ./setup -s -f /RUTA/DE/install.inf

La salida debe ser algo como lo siguiente:

    [slapd-ds1]: starting up server ...
    [slapd-ds1]:        Fedora-Directory/1.0.4 B2006.312.435
    [slapd-ds1]:        dei-ds1.vzla.gob.ve:389 (/opt/fedora-ds/slapd-ds1)
    [slapd-ds1]:
    [slapd-ds1]: [15/Aug/2007:14:45:08 -0400] - Fedora-Directory/1.0.4 B2006.312.435 starting up
    [slapd-ds1]: [15/Aug/2007:14:45:08 -0400] - slapd started.  Listening on All Interfaces port 389 for LDAP requests
    Your new directory server has been started.
    Created new Directory Server
    Start Slapd Starting Slapd server configuration.
    Success Slapd Added Directory Server information to Configuration Server.
    Configuring Administration Server...
    Setting up Administration Server Instance...
    Configuring Administration Tasks in Directory Server...
    Configuring Global Parameters in Directory Server...
You can now use the console.  Here is the command to use to start the console:
cd /opt/fedora-ds
./startconsole -u admin -a http://ds1.vzla.gob.ve:9999/
INFO Finished with setup, logfile is setup/setup.log

Ahora el sistema está listo para solicitar conexiones a través del puerto 389, recuerde también que su servidor está atendiendo solicitudes anónimas desde cualquier lugar de nuestra red y además bajo un protocolo sin protección de cifrado(También puede ver SSL para más detalles sobre éste tema), ahora ya tiene Fedora Directory Core y Fedora Directory Administrator funcionando, puede apuntar en su navegador el URL http://ds1.vzla.gob.ve:9999, además, puede manipular el directorio desde la terminal de comando con las herramientas bajo el directorio /opt/fedora-ds/share/bin/, y también desde la interfaz de usuario FDC.

Comandos útiles

Servicio Fedora Directory Core

Iniciar:

# /opt/fedora-ds/slapd-<instancia>/start-slapd

Parada:

# /opt/fedora-ds/slapd-<instancia>/stop-slapd

Reiniciar:

# /opt/fedora-ds/slapd-<instancia>/restart-slapd

Servicio Fedora Directory Administrator

Iniciar:

# /opt/fedora-ds/start-admin

Parada:

# /opt/fedora-ds/stop-admin

Reiniciar:

# /opt/fedora-ds/restart-admin

Fedora Directory Console (GUI)

Inicie una vez instalado el directorio la Consola de Administración de su directorio con el comando:

./opt/fedora-ds/startconsole -u admin -a http://ds1.vzla.gob.ve:9999/

Inmediatamente una ventana le permitirá autenticarse, noté el URL y tenga presente que para poder ejecutar el Fedora Directory Console necesita tener previamente en ejecución Fedora Directory Administrator, debido a que esté último funciona como una pasarela(Gateway) de comunicación entre Fedora Directory Core y Fedora Directory Console. Su ejecución debe parecer como lo muestra la siguiente gráfica:

SysVInit

Para gestionar el sub-sistema del directorio durante y después del inicio del sistema podemos utilizar dos archivos de guión de comandos, fedora-ds-core para el servicio Fedora Directory Core(slapd) y fedora-ds-admin para Fedora Directory Administrator(modo httpd.worker), simplemente debe descargar ambos archivos en el directorio /etc/init.d/ y luego con el comando chkconfig agrega los nuevos servicios a su nivel de ejecución preferido, ejemplo:

# chkconfig --level 345 fedora-ds-core
# chkconfig --level 345 fedora-ds-admin

Ahora solo bastará el comando service para iniciar/parar/reiniciar/ el sub-sistema del directorio cuando sea necesario, ejemplo :

# service fedora-ds-core restart
# service fedora-ds-admin restart

Lanzador de escritorio para GNOME

Descargue el archivo launch-ds.sh en el directorio de instalacion de FDS /opt/fedora-ds/, luego lleve el cursor al panel superior de Gnome => Boton derecho => Añadir al Panel, en el tope de esta ventana debe encontrar la opción Lanzador de aplicación personalizado:

Luego complete cada uno de los campos con los datos como lo muestra la siguiente imagen y aplique los cambios:

Autenticación/FedoraDirectoryServer (last edited 2007-10-28 00:25:38 by WilmerJaramillo)