PDF de programación - Instalación, administración y gestión de LDAP

Imágen de pdf Instalación, administración y gestión de LDAP

Instalación, administración y gestión de LDAPgráfica de visualizaciones

Publicado el 25 de Junio del 2017
513 visualizaciones desde el 25 de Junio del 2017
1,1 MB
39 paginas
Creado hace 10a (21/06/2009)
Instalación, administración y gestión de

LDAP

Antonio Luis Román-Naranjo Varela
Administración de sistemas informáticos
Gonzalo Nazareno, a 21 de junio del 2009

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

- 2 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

pág. 3

pág. 4

pág. 6

pág. 9

pág. 15

pág. 17

pág. 22

pág. 25

Índice

1.

Introducción del proyecto integrado
1.1. ¿Qué vamos a hacer?
1.2. ¿Qué vamos a usar?
1.3. Finalidad del proyecto.

2. KVM

2.1. Introducción y características.
2.2. Instalación.
2.3. Optimización del esquema de red.

3. GIT

3.1. Introducción.
3.2. Creación y uso de repositorios.

4. LDAP

4.1. Introducción.
4.2. Instalación y configuración.
4.3. Explicación de la estructura usada.
4.4. ACL

5. PHP

5.1. Introducción.
5.2. Visión general.
5.3. Introducción a las librerías usadas.

-

-

-

-

-

6. Moodle

-
6.1. Introducción y características del CMS.
6.2. Configurar Moodle con LDAP.

7. MediaWiki

7.1. Introducción y características del CMS
7.2. Configurar MediaWiki con LDAP.

8. Aplicación de gestión de usuarios

8.1. ¿Qué hace la aplicación?
8.2. Manual de usuario

-

-

8.2.1. Pantalla principal.
8.2.2. Pantalla principal del profesor.
8.2.3. Pantalla principal del alumno.
8.2.4. Añadir usuario.
8.2.5. Listado completo.
8.2.6. Exportar estructura.
8.2.7.
Importar
8.2.8. Tu perfil

8.3. Documentación del programa.

8.3.1. Funcionamiento de las clases utilizadas.

8.3.1.1. LDAP Class
8.3.1.2. LDAP2LDIF
8.3.1.3. Upload

8.3.2. Explicación de cada módulo. (en el código)

- 3 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

9. Conclusión del proyecto

- 4 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

1.- Introducción al proyecto integrado

1.1.- ¿Qué vamos a hacer?

El objetivo de este proyecto es el de realizar autenticaciones y almacenamiento de información por
medio de un sistema centralizado de directorios, en nuestro caso OpenLDAP, y hacer que esta información
sea útil para distintos CMS. Además, se elaborará una aplicación PHP con la que administrar el servidor, así
como realizar exportaciones de archivos LDIF e importaciones a partir de un esquema especificado.

1.2.- ¿Qué vamos a usar?

Para esta tarea nos ayudaremos de máquinas virtuales. En lugar de usar Xen, como se dijo en el
anteproyecto, usaremos KVM, un sistema de virtualización más limpio (no requiere modificaciones del
kernel), de momento, está dando unos resultados muy buenos.

También usaremos un sistema de control de versiones llamado GIT. A pesar de lo relativamente
nuevo que es y la dificultad que aparenta en un principio, es muy fácil de usar, además de que guarda un log
completo de los cambios con comentarios, las diferencias entre la versión actual y las anteriores, etc.

El sistema operativo ha sido una distribución Linux, ya que desde un principio me plantee el
proyecto integrado usando únicamente tanto herramientas como un SO libre. Empecé en Ubuntu Intrepid,
pero al actualizar a Jaunty empezaron a surgir bastantes problemas de dependencias, así que me pasé a
Debian Lenny y, un tiempo después, a Debian Squeeze. Sobra decir que en el servidor (máquina virtual con
KVM) siempre he tenido Debian Lenny.

En cuanto al IDE me decidí por Eclipse con el plugin de PHP, después de pasar por Netbeans (que
funcionaba bien, pero dejaba unos espacios demasiado grandes entre las líneas del código, y parecía que eso
no se podía cambiar...) y Bluefish (bastante limitado).

1.3.- Finalidad del proyecto.

La finalidad del proyecto es centralizar la autentificación de diferentes servicios o aplicaciones

utilizando un servicio de directorios como es LDAP.

- 5 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

2.- KVM

-

Problemas con la virtualización durante el proyecto.

Durante el transcurso de este proyecto se ha pasado por VirtualBox, VMWare antes que KVM. En un
principio VirtualBox mostró unos resultados decentes, hasta que empezó a fallar lo suficiente como para
decidir dejarlo. Aprovechando que el formato que usa VB para sus máquinas virtuales era fácil de convertir
al formato de VMWare, me pase a este programa de virtualización. Al ver que el funcionamiento no era el
adecuado (lentitud, fallos al arrancar) tuve que cambiarlo.

Después de convertir el HD de VirtualBox y después de VMWare a IMG (el formato que necesitaba)

conseguí arrancar la máquina virtual en KVM.

2.1.- Introducción y características.

Kernel-based Virtual Machine , o KVM, es una solución para implementar virtualización completa
con Linux sobre hardware x86. Está formada por un módulo del núcleo (con el nombre kvm.ko) y
herramientas en el espacio de usuario, siendo en su totalidad software libre. El componente KVM para el
núcleo está incluido en Linux desde la versión 2.6.20.

KVM permite ejecutar máquinas virtuales utilizando imágenes de disco que contienen sistemas
operativos sin modificar. Cada máquina virtual tiene su propio hardware virtualizado: una tarjeta de red,
discos duros, tarjeta gráfica, etc.

KVM fue creado, y está mantenido, por Qumranet.

(Fuente: http://es.wikipedia.org/wiki/Kernel-based_Virtual_Machine)

Existe un estudio comparativo entre distintos sistemas de virtualización. Lo puedes encontrar tras

este hipervínculo.

Requisitos para su uso:

-
-

Procesador x86 con soporte para Virtualization Technology
SO Linux

Puede ejecutar huéspedes Linux (32 y 64 bits) y Windows (32 bits)

2.2.- Instalación.

El proceso de instalación de KVM es muy sencillo. En unos pocos pasos se puede tener lista una

máquina virtual sin mayores complicaciones. Explico el proceso:

1. Instalamos el paquete de KVM

# aptitude install kvm

2. Creamos un archivo IMG de 4GB en bloques de uno. Lo usaremos para instalar nuestra

máquina virtual.

$ dd if=/dev/zero of=maquina-virtual.img bs=1G count=4

- 6 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

3. Arrancamos la máquina virtual diciéndole que arranque la ISO expecificada en al

instrucción. (La opción “-m” especifica cuanta memoria dedicaremos a la máquina virtual).

# kvm -hda maquina-virtual.img –cdrom
/home/ark/Desktop/imagen.iso -m 512 -boot d

4. Una vez terminada la instalación, ejecutaremos la máquina virtual con la siguiente

instrucción:

#kvm -hda disk1.img -m 512 -boot c

2.3.- Optimización del esquema de red.

Aunque con los pasos anteriormente dados la máquina virtual sería totalmente funcional, KVM
ponía a la máquina por defecto como NAT, cosa que no me servía para lo que pretendía hacer... Por esta
razón, procedo a explicar como hacer que KVM funcione en modo bridge.



Ponemos lo siguiente en el archivo interfaces:

auto br0
iface br0 inet static
address 192.168.1.2
netmask 255.255.255.0
gateway 192.168.1.1
bridge_ports eth0
bridge_fd 9
bridge_hello 2
bridge_maxage 12
bridge_stp off

En bridge_ports ponemos la interfaz que usemos para conectarnos a la red y en address la

misma IP que la puesta en bridge_ports (en mi caso, eth0).





Modificamos el archivo /etc/kvm/kvm-ifup y lo dejamos con este contenido:

#!/bin/sh
ifconfig $1 0.0.0.0 promisc up
brctl addif br0 $1
exit 0

Levantamos la máquina virtual con el siguiente comando

# kvm -hda VM/debian-server.img -net nic -net tap -m 512

Con estos 3 pasos ya tenemos lista la máquina virtual para funcionar en modo bridge.

- 7 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

3.- GIT

3.1.- Introducción.

GIT es un software de sistema de control de versiones diseñado por Linus Torvalds, pensando en
la eficiencia y la confiabilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran
numero archivos de código fuente. Al principio, Git se pensó como un motor de bajo nivel sobre el cual
otros pudieran escribir el interfaz de usuario o front end como Cogito o StGIT.Sin embargo, GIT se ha
convertido desde entonces en un sistema de control de versiones con funcionalidad plena. Hay algunos
proyectos de mucha relevancia que ya usan GIT, en particular, el grupo de programación de núcleo del
sistema operativo Linux.

(Fuente: http://es.wikipedia.org/wiki/Git)

3.2.- Creación y uso del repositorio.

Lo primero y fundamental es instalar el paquete git-core, que es el que tiene todo lo necesario para la
creación y gestión de los repositorios. Este paquete debe ser instalado tanto en el servidor como en los
clientes.

# aptitude install git-core

Ahora, explicaré los pasos para poner GIT a punto, distinguiendo cliente de servidor.



Servidor

o Creamos una carpeta en el lugar que queramos con el formato carpeta.git. En mi caso,

he creado la carpeta en /var/git/ldap-php5.git

# mkdir /var/git/ldap-php5.git

o Movemos dentro de esa carpeta los archivos de nuestro proyecto.

o Ahora crearemos dentro de esa carpeta un repositorio vacío. Nos colocamos dentro de la

carpeta carpeta.git que habíamos creado y ejecutaremos la siguiente línea:

$ git init

Una vez hecho esto nos aparecerá el siguiente mensaje:

Initialized empty Git repository in ruta_git_init

o Añadimos los archivos.

$ git add nombrearchivo/s

Con esto añadimos los archivos que queramos a la cola de nuestro repositorio. Yo,
normalmente, suelo usar git add ., para añadir todos los archivos que se hayan
cambiado.

o Confirmamos los archivos añadidos. Esto se hace con la instrucción commit.

- 8 -

Antonio Luis Román Naranjo Varela 1º ASI – I.E.S. Gonzalo Nazareno

$ git commit -a -m “Aquí ponemos un comentario”

Con esta línea hacemos que los cambios añadidos con git add se den por buenos, por
decirlo de alguna forma.

o Creamos un usuario llamado git. Todos l
  • Links de descarga
http://lwp-l.com/pdf4677

Comentarios de: Instalación, administración y gestión de LDAP (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad