Páginas

martes, 28 de junio de 2011

Instalación y configuración de Feng Office con LDAP para Active Directory

Hola a tod@s!

En siguiente tutorial voy a hablaros sobre "Feng Office". Gracias a la gente de "Feng Office" (súper profesionales) voy a escribir un manual para su instalación y posterior configuración.

Feng Office, anteriormente llamado "Open Goo"es de código abierto y es una aplicación web. Podemos llamarle: "Suite Ofimática" ; para nuestro entorno capaz de gestionar, colaborar y compartir documentos entre un grupo de usuarios vía web.



Feng Offfice se comercializa a través de dos tipos de servicios: Feng Sky y Feng Onsite. Feng Sky  está orientado a aquellas empresas que requieren una solución de uso inmediato y no disponen de una infraestructura de hardware ni licencias de software. Por otro lado, Feng Onsite esta orientado a empresas que requieren una solución instalada en sus propios servidores. Ambos tienen el mismo precio y le permiten al cliente acceder a una solución de trabajo colaborativo. Para saber más sobre estos servicios viste http://www.fengoffice.com/web/services.php

Feng Office es una plataforma colaborativa para la gestión de proyectos y clientes sin límites en la comunicación y colaboración, donde usted puede organizar y compartir toda la información deseada. Este software ayuda a organizar, clasificar e integrar la información de manera electrónica y sencilla.

Gestione proyectos y clientes, organice su agenda y compártala con quienes desee, comuníquese con clientes y socios, asigne tareas y controle el cumplimiento de las mismas, intercambie cualquier tipo de documento, escriba comentarios sobre notas, tareas o documentos, vincule su correo electrónico a documentos, notas, tareas o eventos del calendario. Con Feng Office usted puede ingresar a todos los datos de su empresa en cualquier momento desde cualquier lugar, lo único que necesita es un equipo y una conexión a internet.

Feng Office presenta una solución permanente y segura para sus negocios garantizando la fluidez y comunicación. Esté un 100% conectado y en control de sus negocios.

Despúes de la introducción, vamos con el manual de instalación y configuración de Feng Office.

Lo vamos a dividir en dos partes: 

1ª Parte - INSTALACIÓN

En el ejemplo que vamos a trabajar será en una distribución Linux que es: Debian 6.0 server y la versión de Feng Office es 1.7.4. Los requisitos para la puesta "a punto" de Feng Office son:

- Instalación de php5, php5-gd, php5-ldap- Instalación de Apache2
- Instalar MySQL
- Instalar PhpMyAdmin
- Habilitar  LDAP en Apache2
- Descargar Feng Office versión 1.7.4, desde aquí.

No voy a entrar en los comandos para la instalación de todo porque seguro que lo sabéis hacer!!!!!

Para habilitar "LDAP" en Apache2, debemos de habilitar los siguientes módulos: so –enable-ldap –enable-authnz-ldap.

Dependiendo de la versión de Apache2, habilitando el siguiente modulo sería suficiente:

root@:/etc/apache2# a2enmod authz_ldap

Por defecto no vienen habilitados todos los modulos en Apache2.

Una vez instalado todo, debemos de saber que necesitamos; me explico: ¿Queremos que los usuarios se autentifiquen cuando escriban la url de Feng Office antes del login de inicio en la aplicación?. Sí es así, debemos de configurar "LDAP" en el site de Feng Office.

Por defecto, tenemos que mover el directorio "feng_community" ( Extraído de la descargar de Feng Office) en "/var/www/". Quedaría así:

# /var/www/feng_community

Para no escribir todo y poder cometer un error de escritura, voy a poner un ejemplo de configuración. En el ejemplo he cambiado el nombre de la url y he habilitado un puerto para Feng Office.

Ejemplo:

  • Creamos un fichero en: "/etc/apache2/sites-avaliable" y lo editamos así:

#sudo nano fengoffice

NameVirtualHost *:8008
<VirtualHost *:8008>
ServerAdmin webmaster@pruebas.local
ServerName fengoffice
ErrorLog ${APACHE_LOG_DIR}/ldap_error.log

# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
LogLevel warn

CustomLog ${APACHE_LOG_DIR}/ldap_access.log combined

DocumentRoot /var/www/feng_community
<Directory />
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>
<Directory /var/www/feng_community>
AuthType Basic
AuthName "Conectar servidor Active Directory"
AuthBasicProvider ldap
AuthzLDAPAuthoritative off
AuthLDAPURL ldap://ip_de_nuestro_servidor_Active_Directory:3268/OU=fengoffice,DC=pruebas,DC=local?sAMAccountName?sub?(objectClass=*)
AuthLDAPBindDN "CN=Administrador,CN=Users,DC=pruebas,DC=local"
AuthLDAPBindPassword password
Require valid-user
</Directory>
</VirtualHost>

Habilitamos el puerto "8008", editamos el fichero "/etc/apache2/ports.conf" y añadimos:


NameVirtualHost *:80
Listen 80
Listen 8008

Sólo nos falta habilitar el site, ejecutamos lo siquiente:

# sudo a2ensite fengoffice

Aplicamos los cambios en Apache, así: # sudo /etc/init.d/apache2 reload


Ya tenemos nuestro sitio habilitado y ahora con teclear la dirección ip de nuestro servidor y el puerto tenemos que acceder sin problemas.

http://ip_de_nuestro_servidor:8008/



2ª Parte - CONFIGURACIÓN

Una vez configurado la instalación y la parte de Apache, podemos entrar en el asistente de Feng Office.

http://ip_de_nuestro_servidor:8008/

Nos aparecerá un asistente para poder configurar Feng Office. Es muy sencillo e intuitivo, sólo debemos de creaer nuestra base de datos para finalizar la instalación sin problemas.

Para crear nuestra base de datos, debemos de acceder a: "http://ip_de_nuestro_servidor/phpmyadmin"



Es muy importante crear sólo la base de datos vacía porque luego Feng Office añadirá todos los datos en la base de datos creada.



También la podemos crear por comandos, pero ya que hemos instalado la herramienta "PhpMyAdmin" vamos a aprovecharnos de ella y sobre todo nos lo va a mostar mucho más detallado.

Datos de la base de datos:

- nombre: fengoffice
- usuario: root
- contraseña: password

Una vez creada nuestra base de datos seguimos en el asistente de Feng Office.

La primera imagen nos dice que vamos a instalar y Feng Office ( He cogido las imagenes desde la web oficial de Feng Office, no os preocupéis porque aparezca "OpenGoo". El proceso de instalación y configuración es el mismo.)




La segunda imagen muestra si tenemos nuestro sistema "OK" para seguir con la configuración de Feng Office. El único problema que podemos tener, es el relacionado con los permisos. Debemos de darles los permisos necesario a las carpetas "/var/www/feng_community/*". En mi caso con dar permisos de "R+W+X" al usuario y grupo "www-data" es suficiente. Tenemos que ser consecuente con los permisos, en éste ejemplo es un entorno de pruebas y por eso he dado estos permisos, todo dependerá de vuestras necesidades. ;)

root@pruebas:var/www# chmod 770 -R feng_community/

root@pruebas:var/www# chown www-data:www-data -R feng_community/




En la tercera imagen, tenemos que añadir los campos con los datos de la conexión a nuestra base de datos que hemos creado antes (recordar; con PhpMyAdmin).

Debemos de cambiar los datos añadidos en los campos por los siquientes:

- Username: root
- Password: password
- Database name: fengoffice


En la cuarta imagen, nos muestra que hemos finalizada la instalación. 



Ahora debemos de navegar a la dirección que hemos creado y configurado en Apache, para acabar con la configuración de Feng Office es:

http://ip_de_nuestro_servidor:8008/

Al abrir la url nos aparecerá un formulario para crear nuestro usuario con permisos de Administrador. El usuario se creará en la base de datos. Debemos de rellenar todos los campos para poder finalizar el registro. Los campos tenemos que modificarlos a nuestras necesidades. En el apartado "COMPANY" debemos de ingresar el nombre de nuestra "empresa" u "organización". 


Una vez creado, entramos con el usuario que hemos registrado en el formulario.



Os he subido la imagen de mi pantalla de login, quiero recordar que podemos modificarla. Está escrito en  PHP y podemos hacer lo que queramos con ella. Yo no he querido hacer un gran cambio para no llevaros al equivoco en el tutorial, sólo he realizado unos pequeños cambios ;).

Aquí subo la imagen original de login de Feng Office


Una vez logados, ya estamos dentro!!!!!!!!


No quiero centrarme en el menú y en lo que podemos hacer dentro de Feng Office. Como bien dice nuestro título de nuestro tutorial, vamos a configurar LDAP!

Antes de realizar los cambios, debemos de crear un usuario que esté en nuestro Active Directory. Es muy importante que los campos "nombre de usuario" y "dirección de correo" sean iguales a los datos del usuario que está en el Directorio Activo de nuestra organización y vamos a crear el Feng Office

Para crear un usuario, debemos de movernos a la parte superior-derecha de Feng Office. Pinchamos en "Administración" para acceder al menú de Administración.


Una vez dentro del menú de "Administración", pinchamos en "Agregar Usuarios".


Tenemos que rellenar los campos. No voy a entrar en el tema de los permisos (lo dejaré para el próximo tutorial porque es un tema muy interesante) por lo que al usuario que vamos a crear tendrá permisos de Administrador. Es muy importante que el primer usuario tenga permisos de Administrador porque una vez que activemos la "Autentificación por LDAP" el usuario que hemos creado antes por defecto, no podremos acceder con él. El nuevo usuario será el nuevo administador de Feng Office. 

Muy importante, el usuario que vamos a crear no tiene que ir seguido de: "dominio\usuario", sólo debemos de poner el id del usuario. 

Ejemplo:

Creamos el usuario "office" y está dentro de nuestra organización del dominio AD. Para autenticarse en cualquier servidor que esté subido al dominio debe de ser así: "dominio\usuairo"
En Feng Office, TENEMOS QUE HACERLO SIN EL DOMINIO, así: usuario=office.


Para poder asignar el perfil de "Administrador", tenemos que hacer click en : "Ver todas las Configuraciones para este usuario". En el apartado "Qué hace esta persona" , en "Tipo de usuario" debemos de seleccionar "Administrador".


En "Contraseña" debemos de marcar "Generar contraseña aleatoria", el ¿por qué? muy sencillo, porque el usuario tiene que tener la misma contraseña que en el Directorio Activo. Para finalizar, click en "Agregar Persona".


Para configurar LDAP en nuestro flamante Feng Office, debemos de realizar unos cambios. Dependiendo de la versión Feng Office viene por soporte para LDAP, pero en versiones antiguas no lo tiene. Antes debíamos de bajarnos la libreria de PEAR: "NET-LDAP2" para poder disponer de autentificación ldap.

En la versión que estamos trabajando sí lo tiene por lo que sólo hay que hacer unos cambios.


Debemos de equipar el fichero "/var/www/feng_community/public/ldap.config.example.php" y modifcarlo así (Tener en cuenta que los datos que he modificado son para éste ejemplo y debemos de añadir los datos de nuestra organización o árbol de nuestro Directorio Activo).



root@pruebas:var/www# nano /feng_community/public/ldap.config.example.php


<?php


  /**
  * ldap.config.example.php is sample configuration file for ldap authentication. 
  * Rename it in ldap.config.php and change the values acconrding to your env.
  * 
  * @author Luca Corbo <luca.corbo@2bopen.org>
  */
  
  // The configuration array:
 $config_ldap = array (
// Usuario para tener acceso a nuestro árbol //
      'binddn'=> 'CN=Administrador,CN=Users,DC=pruebas,DC=local',
// Contraseña del usuario Administrador //
      'bindpw'=>'password',
// Unidad Organizativa a listar los permisos de los usuarios, en éste ejemplo tengo todo el árbol AD //
      'basedn'=>'DC=pruebas,DC=local',
// Es una ejmplo sí sólo queremos dar permisos a un grupo de usuarios dentro de una unidad organizativa //
'baseDNGroups'=> 'dc=weboffice,ou=fengoffice,dc=pruebas,dc=local',
// Ip del servidor de Active Directory //
      'host' => 'ldap://ip_de_nuesro_servidor_active_directory:3268',
// El puerto por defecto es 389, pero el puerto 3268 muestra más información de AD //
'port' => 3268,
'options'=> array ('LDAP_OPT_REFERRALS' => 0),
'password_encoding'=>'MD5',
      'uid' => 'sAMAccountName',
  );
  return true;
  
?>


Guardamos los cambios y renombramos el fichero como: ldap.config.php


Para saber los campos de la configuración basta con saber la ruta de "BaseDN" de nuestro árbol del Directorio Activo. Hay programas que nos pueden ayudar como "LdapBrowser Java".




Tenemos que aplicar los cambios reiniciando "Apache"

root@pruebas:var/www# /etc/init.d/apache2 restart


Una vez reiniciado "Apache" ya tenemos listo nuestro Feng Office con LDAP activado.


Para comprobar que todo está funcionando, tenemos que entrar con el nombre de usuario que hemos creado.

Para acabar, toda la documentación que necesitéis la podéis encontrar dentro de la web de Feng Office

El tema de "LDAP" es muy importante para un entorno empresarial y por seguridad.

Hasta la próxima!!

5 comentarios:

  1. Mil gracias, estamos empezando con Feng Office y necesitaba saber si la integración con LDAP iba a ser un dolor de cabeza o no.

    ResponderEliminar
  2. Hola MARINMORSA,

    Me alegro mucho, gracias por tus palabras!!!

    Me constó mucho configurar LDAP en Feng Office, por eso la idea de ponerlo en el Blog...:)

    En la web de Feng Office hay muy poco info sobre LDAP y que funcione,...mucho menos ;)

    Lo dicho, gracias por seguir el Blog...:)

    ResponderEliminar
  3. Me puedes ayudar, me aprece este mensaje cuando estoy instalando Feng Office'mysql' extension is not loaded", Gracias

    ResponderEliminar
  4. Me puedes ayudar, me aprece este mensaje cuando estoy instalando Feng Office'mysql' extension is not loaded", Gracias

    ResponderEliminar
  5. Buenas,

    Revisa los requisitos, te falta tener instalado mysql.

    Saludos...:)

    ResponderEliminar