Páginas

viernes, 14 de octubre de 2011

Matar procesos en Ubuntu Server

Hola a tod@s!

Estamos de nuevo con otro post sobre los...¡PROCESOS DEL SISTEMA!

Como siempre, os voy a mostrar varias formas de ver los procesos que están corriendo en el sistema y como matar esos procesos. En Linux no es muy común tener nuestro sistema cargado por culpa de un proceso que esté ocupando todas nuestras reservas de nuestro sistema. Sobre todo tenemos que prestar más atención a los denominados procesos "Zombies". Son procesos que han terminado de ejecutarse pero siguen estando en nuestra tabla de procesos. Sí tenemos muchos "Zombies" tenemos que preocuparnos un poco porque significará que nuestro sistema están en problemas. Luego explicaré la forma de acabar con ellos ;).

Vamos a ver las formas que tenemos de ver los procesos que están corriendo en nuestro sistema:

# ps aux


Nos muestra todos los procesos de nuestro sistema

# top


Muestra más información de los procesos y los que se están ejecutando en tiempo real.


Para matar o forzar la parada de los procesos existen varias formas, son:

- kill

La utilizamos para matar el proceso más el "PID", ejemplo: Hemos ejecutado la sentencia "TOP", para matar el proceso "Xorg" tenemos que ver cuál es su "PID". En éste caso es el "478", lo podemos ver en el nombre de las columnas. Ejecutamos así:

# kill 478

- killall

A veces si utilizamos "kill", algunos procesos tienen otros procesos activos. Para ello utilizaremos "killall" y finalizaremos todos los procesos activos del proceso que queremos matar.

# killall 478

- pkill

Muchas veces nos volvemos locos buscando el "PID" del proceso que está saturando nuestro sistema, pues bien, "pkill" nos facilita un poquito más y nos ayudará a matar el proceso directamente por su nombre, sin necesidad de buscar su "PID".

# pkill xorg



Hay otras formas, como para un entorno de escritorio, etc... Pero creo que están las más representativas y las más fáciles de usar.

Para finalizar el post, vamos a ver la forma de matar nuestros procesos "zombies", que son, los más peligrosos para nuestro sistema.

Para determinar o buscar los procesos zombies, tenemos que ejecutar: "TOP". En la parte superior nos mostrará los procesos zombies que tenemos ejecutandose en nuestro sistema.

En la imagen vemos que tenemos 1 proceso catalogado como zombie. Para ver cual es el proceso, debemos de hacer una búsqueda, así:

# ps - A -ostat,ppid,pid,cmd | grep -e '^[Zz]'

Nos devolverá el resultado y nos listará los procesos catalogados como zombies. El problema es que no podemos matarlos con un simple "kill", tenemos que ejecutar lo siguiente:

# kill -HUP `ps -A -ostat,ppid,pid,cmd | grep -e '^[Zz]' | awk '{print $2}'`

Ahora sí que hemos matado a los "zombies", espero que no dejen más sus almas y mueran definitivamente! :)

Hasta la próxima!

martes, 27 de septiembre de 2011

Cliente Nagios para monitorizar máquina Linux

Hola a tod@s!

¡¡Ya estamos de vuelta del periodo de vacaciones!!.

Para empezar la nueva temporada, quiero hablaros en esta ocasión sobre: "NRPE".


NRPE, es un cliente Linux para monitorizar nuestro host en un servidor NAGIOS

Seré conciso y directo en el nuevo post sobre la instalación y configuración de NRPE en host remoto y en el server.
Nuestro escenario será sobre "Ubuntu server 10.04", tanto en host remoto como en el Servidor Nagios. Versión de Nagios es 3.2.1.

Empezamos!!!!

- Instalación en el host remoto

1. Tenemos que crear el usuario "nagios" y el grupo "nagios", para ello lo hacemos todo desde "root".

#sudo -s
#adduser nagios (password, por ejemplo "nagios")
#adduser nagios nagios (para añadirlo al grupo, sabemos que cuando creamos un usuario, automáticamente se crea el grupo).

2. Descargarmos los plugins de nagios. Creamos un directorio donde descargaremos el plugin e instalaremos.

#mkdir /opt/nagios/nrpe
#cd /opt/nagios/nrpe
root@remote:/opt/nagios/nrpe#wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz/download
root@remote:/opt/nagios/nrpe#tar xzf nagios-plugins-1.4.15.tar.gz
root@remote:/opt/nagios/nrpe#cd /nagios-plugins.1.4.15
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#./configure
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#make
root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#make install

3. Instalamos "Xinetd" para el Dameon del nuevo servicio NRPE

root@remote:/opt/nagios/nrpe/nagios-plugins.1.4.15#apt-get install xinetd

4. Descargamos e instalamos el plugin "NRPE".

root@remote:/opt/nagios/nrpe#wget  http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz/download
root@remote:/opt/nagios/nrpe#tar xzf nrpe-2.12.tar.gz
root@remote:/opt/nagios/nrpe#cd nrpe-2.12
root@remote:/opt/nagios/nrpe/nrpe-2.12#./configure
root@remote:/opt/nagios/nrpe/nrpe-2.12#make all
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-plugin
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install -daemon
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-daemon-config
root@remote:/opt/nagios/nrpe/nrpe-2.12#make install-xinetd

Editamos en ficheros "/etc/xinetd.d/nrpe" para añadir la ip del servidor nagios en el apartado "only_from".

# default: on
# description: NRPE (Nagios Remote Plugin Executor)
service nrpe
{
        flags           = REUSE
        socket_type     = stream
        port            = 5666
        wait            = no
        user            = nagios
        group           = nagios
        server          = /usr/local/nagios/bin/nrpe
        server_args     = -c /usr/local/nagios/etc/nrpe.cfg --inetd
        log_on_failure  += USERID
        disable         = no
        only_from       = ip_servidor_nagios
}



Agregamos la sentencia NRPE en el fichero "/etc/services", lo podemos añadir al final del fichero

# Local services
nrpe            5666/tcp                        #NRPE Nagios

Reiniciamos el servicio Xinietd

root@remote:/opt/nagios/nrpe/nrpe-2.12#service xinietd restart


Para podemos modificar los elementos a monitorizar debemos de editar el fichero : "/usr/local/nagios/etc/nrpe.cfg".

- INSTALACIÓN DEL PLUGIN NRPE EN EL SERVIDOR NAGIOS

1. Descargar e instalar el plugin nrpe.

#mkdir /opt/nagios/nrpe
#cd /opt/nagios/nrpe
root@servernagios:/opt/nagios/nrpe#wget  http://sourceforge.net/projects/nagios/files/nrpe-2.x/nrpe-2.12/nrpe-2.12.tar.gz/download
root@servernagios:/opt/nagios/nrpe#tar xzf nrpe-2.12.tar.gz
root@servernagios:/opt/nagios/nrpe#cd nrpe-2.12
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#./configure
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#make all
root@servernagios:/opt/nagios/nrpe/nrpe-2.12#make install-plugin

Para hacer una prueba de testeo, así:

# sudo /usr/local/nagios/libexec/check_nrpe -H ip_remote_host

Nos devolverá (si todo ha ido bien ;)) la versión del plugin NRPE.

NRPE v2.12

2. Tenemos que añadir el command para el plugin nrpe, para ello editamos el fichero "/usr/local/nagios/etc/commads.cfg" y escribimos al final:

# Plugin nrpe para remote host linux
define command{
        command_name  check_nrpe
        command_line  $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }


3. Para definir los objetos a monitorizar debemos de añadirlos en nuestro fichero de configuración de nagios. Cada persona es un mundo, por lo tanto cada uno de nosotros tenemos una instalación de nagios enfocada a nuestras necesidades, por lo tanto debemos de añadir los objetos en el fichero que tengamos para ello. Por lo tanto un ejemplo, sería en el fichero "localhost.cfg".


#SERVICIOS REMOTE HOST LINUX###################

define service {
        use                                generic-service
        host_name                    remote
        service_description      CPU Load
        check_command          check_nrpe!check_load
        }

define service{
        use                                generic-service
        host_name                    remote
        service_description      Current Users
        check_command           check_nrpe!check_users
         }

define service{
        use                                generic-service
        host_name                    remote
        service_description      /dev/sda1 Free Space
        check_command           check_nrpe!check_hda1
        }

define service{
        use                                generic-service
        host_name                     remote
       service_description        Total Processes
        check_command           check_nrpe!check_total_procs
}

define service{
        use                                 generic-service
        host_name                     remote
        service_description       Zombie Processes
        check_command           check_nrpe!check_zombie_procs
        }



Podemos añadir muchos más, os he dejado unos ejemplos

Para comprobar que todo está OK, debemos de chequear la configuración de nagios, para ello ejecutamos:

# sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Devolverá un "chorro" de info, pero lo más importante tenemos que tener el resultado en "0".

Checking for circular paths between hosts...
Checking for circular host and service dependencies...
Checking global event handlers...
Checking obsessive compulsive processor commands...
Checking misc settings...

Total Warnings: 0
Total Errors:   0

Despúes reinciamos nagios

#sudo /etc/init.d/nagios restart

Ya hemos finalizado la instalación del plugin nrpe, tanto en el host remoto como en el servidor.

Os invito a buscar más info para customizar la monitorización de nuestro host remoto ( un ejemplo, la menoria...etc) con nuestro servidor NAGIOS

Hasta la próxima!!

lunes, 8 de agosto de 2011

Configurar WGET por proxy

Hola a tod@s!

Una nota rápida, quería escribir una forma (hay varias) para salir a internet sí tenemos un servidor proxy delante de nuestro Server Ubuntu 10.04 (también es válido para otras versiones de Ubuntu).

Para poder utilizar el comando "wget" con proxy  debemos de hacer lo siguiente:

Podemos aplicarlo para los protocolos:

-. HTTP = puerto 80
-. HTTPS =puerto 443
-. FTP = puerto 21

-. Tenemos que editar el fichero "/etc/wgetrc". Debemos de descomentar las siguientes líneas:


#http_proxy = http://proxy.yoyodyne.com:18023/
#https_proxy = http://proxy.yoyodyne.com:18023/
#ftp_proxy = http://proxy.yoyodyne.com:18023/
#use_proxy = on


# sudo nano /etc/wgetrc

# You can set the default proxies for Wget to use for http and ftp.
# They will override the value in the environment.

http_proxy = http://ip_servidor_proxy:8080/
https_proxy = http://ip_servidor_proxy:8080/
ftp_proxy = http://ip_servidor_proxy:8080/

# If you do not want to use proxy at all, set this to off. 
use_proxy = on

Guardamos los cambios "Ctrl+X" y "y".

Ahora cuando ejecutemos el comando "wget", veremos como redirige la petición a nuestro servidor proxy.

Hasta la próxima!!

lunes, 1 de agosto de 2011

Backup de nuestro host ESX/ESXi con VMA

Hola a tod@s!

Quiero hablaros esta semana sobre el backup de nuestros hosts esx/esxi. Hay varias formas, unas más "bonitas" y otras más "feas". Las "feas", con copiar una serie de directorios y salvarlos en otro path, sería suficiente. Pero vamos a centrarnos en la forma"bonita".

Para ello, vamos a aprovecharnos de una herramienta que nos proporciona VMware, a través de "VMware Management Assistance". Está en la web de vmware appliances, podemos descargarlo en formato .OVF desde aquíVMA, nos facilita gestionar todos nuestros hosts de una forma centralizada y sustituir la consola de servicio, a partir de la versión 3.5 U2 esx/esxi.

Para la configuración de VMA, sólo debemos de ingresar la configuración TCP/IP y el nombre de nuestra nueva máquina virtual.

En otro post, veremos como configurar VMA

Realizar el Backup

Desde la consola de administración de VMA, debemos de ejecutar el siguiente comando:

# vicfg-cfgbackup -s server nombre_host_esx /path/para/el/backup"

Ejemplo

[vi-admin@vma~]$ vicfg-cfgbackup -s server 8.8.8.100 /tmp/backup_esxi.cfg

Restaurar Backup

Para la restauración de la copia de seguridad, debemos de ejecutar:

# vicfg-cfgbackup -l server nombre_host_esx /path/para/el/backup"

Ejemplo:

[vi-admin@vma~]$ vicfg-cfgbackup -l server 8.8.8.100 /tmp/backup_esxi.cfg

Y por último, podemos restaurar la configuración por defecto de nuestro host esx/esxi, debemos de ejecutar lo siguiente:

# vicfg-cfgbackup -r server nombre_host_esx".

Hasta la próxima!!

martes, 26 de julio de 2011

Instalar VMware Tools en Ubuntu server 10.04 Lucid Lynx

Hola a tod@s!

En el siguiente manual, voy a explicar la forma de instalar VMware tools en Ubuntu server 10.04 Lucid Lynx.

En las versiones anteriores de las Distros de Ubuntu, era de la siguiente forma; lo podemos ver en el manual del blog, aquí.

Empezamos!!!!

1. Requisitos del sistema, son: build-essential linux-headers-( más el resultado de ejecutar "uname -r") make gcc

# sudo apt-get install build essential linux-headers-( más el resultado de ejecutar "uname -r") make gcc

2. Una vez instalados los paquetes, update y upgrade .

# sudo apt-get update

# sudo apt-get upgrade

3. Tenemos que instalar VMware tools desde la maquina virtual en el cliente Vsphere o Vcenter. Pinchamos sobre la MV con el botón derecho y nos movemos hasta "Guest" y luego hacemos click sobre "Install/Upgrade VMware Tools".


4. Tenemos que crear un directorio para montar la unidad "CDrom".

# sudo makdir /media/cdrom

5. Una vez creado el direcctorio montamos la unidad de CD.

# sudo mount /dev/cdrom /media/cdrom

6. Ya hemos montado la unidad "cdrom", debemos de copiar el fichero "VMware*.tar.gz" y pegarlo en la carpeta "tmp".

# sudo cp /media/cdrom/VMware*.tar.gz /tmp

7. Entramos en la carpeta "tmp" y descomprimimos el fichero "Vmware*.tar.gz".

# cd /tmp/
# tar zxvf VMware*.tar.gz

8. Instalamos el ejecutable "vmware-install" para finalizar la instalación de las VMware Tools en nuestro servidor Ubuntu 10.04.

# cd /vmware-tools-distrib/
# sudo ./vmware-install.pl

En el proceso de instalación, nos pregutaran una serie de cuestiones, las tenemos que dejar todas por defecto.

9. Una vez finalizado la instalación, reiniciamos el servidor y listo!.

# sudo reboot

Hasta la próxima!!

Monitorizar la red con IPtraf

Hola a tod@s!

Hoy quiero hablaros sobre "IPtraf". IPtraf, es una herramienta de código abierto que nos ayudará a monitorizar las interfaces de nuestro servidor o equipo del cliente. Es una aplicación antigua pero muy útil.

IPtraf se conoce como "interfaces sources" e intercepta paquetes para luego mostranos información de nuestra red.

Para saber un poco más de "IPtraf" entrar en: "http://iptraf.seul.org/".

Os doy un ejemplo para su utilización: Tenemos "Squid" configurado en nuestro servidor y otorgamos acceso a internet a los clientes. Para controlar el tráfico que generan nuestros clientes, tenemos las herramientas "Sarg" (para visualizar los logs de Squid) y "Cacti" para ver las gráficas de tráfico de red que generan las interfaces. Si tenemos "IPtraf" instalado, nos ayudará a controlar quién está abusando de nuestra de red o quién tiene un software malicioso que esté saturando nuestra en red en tiempo real. En mi caso, lo utilizo para ver en tiempo real el "cosumo" de mi red por direcciones IP.

Para descargar "IPtraf", viene en todas las distribuciones sobre Debian por defecto (Debian,Ubuntu, etc...) o podemos descargar el código fuente desde aquí.

Instalación de IPtraf

-. Instalamos "IPtraf" con apt o aptitude

# sudo apt-get install iptraf

Trabajar con IPtraf

-. Una vez instalado IPtraf, solo tenemos que ejecutarlo

# sudo iptraf


-. Presionamos cualquier tecla y accedemos al menú de IPtraf



-. Dentro del menú nos encotramos con varias opciones:

1. "IP traffic monitor". Nos muestra en tiempo real el trádfico que pasa por las interfaces. Podemos seleccionar sólo una interfac o todas. Podemos ver qué IP está haciendo uso del tráfico de red.


2. "General  interfaces statistics". Muestra estadísticas de las interfaces.


3. "Detailed interfaces statistics". Información más detallada de una interfaz en concreto.


4. "Statistical breakdowns...". Tráfico de paquetes por tamaño o por TCP/UDP en una interfaz.


5. "LAN station monitor". Muestra las estadísticas de nuestra red detectadas en una o todas las interfaces.


6. "Filters". Podemos configurar filtros o crea uno nuevo.


7. "Configure". Configurar IPtraf para nuestras necesidades


Os dejo con esta interesantísima herramienta que os ayudará en la administración y monitorización de vuestra red.

Hasta la próxima!

lunes, 18 de julio de 2011

Ya está disponible VMWARE VSPHERE 5

Hola a tod@s!

Ya está disponible la nueva versión de VMware VSphere 5.

Podéis ver todas las nuevas características del nuevo hypervisor de VMware en el siguiente enlace:

http://www.vmware.com/products/vsphere/upgrade-center/overview.html

Hasta la próxima!

Gestionar IPs por web con GestióIP

Hola a tod@s!

Quiero hablaros de "GestióIP", es un "gestor web de direcciones IP de nuestra red". Voy a explicar lo que quiere decir la frase que he escrito "gestor web de direcciones IP de nuestra red". A veces, hemos tenido que asignar una ip a un equipo, pero hemos tenido que buscar en nuestro fichero una ip libre (creo que el fichero pocos lo tenemos actualizado, mal hecho!!) o ejecutar la herramienta "Angry IP  Scanner" (hay muchas más), para saber qué IP está libre y así no tener ningún problema de duplicidad de IPs. "GestióIP" lo que nos ofrece es tener todo organizado en un servidor y poder realizar la consulta desde cualquier equipo, genial verdad???. "GestióIP", es una herramienta "IPAM", es decir, utilidad para gestionar direcciones IP y es software libre.



Para la instalación sólo tenemos que tener instalado y configurado en nuestro servidor: Apache y MySQL.

Desde la web del proyecto, http://www.gestioip.net/ podemos encontrar toda la información.

Instalación de GestióIP
La instalación la realicé sobre la distro de Linux "Debian 6.0" en entorno de servidor.

Podéis descarga el programa desde, aquí.


Descomprimir "gestioip_2.2.8.tar.gz":

    $ tar vzxf gestioip_2.2.8.tar.gz

Una vez descomprimido, entramos en el directorio "gestioip_2.2.8":

    $ cd gestioip_2.2.8

Ejecutamos como root "setup_gestioip.sh":

    $ sudo ./setup_gestioip.sh

Y seguimos los pasos para su correcta configuración, consta de una serie de preguntas.

Reiniciamos Apache:

    $ sudo /etc/init.d/apache2 restart

Accedemos a la url de "GestióIP" para configurar los datos de acceso a la base de datos:

    http://localhost/gestioip/install


GestióIP, nos ofrece la posibilidad también de monitorizar nuestra red, historial de direcciones, etc.

Os ánimo a tener instalada "GestióIP"!!!.

Hasta la próxima!!

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!!