Servidor básico de Mensajería Ejabberd en Debian
Introducción
ejabberd es un servidor de mensajería instantánea de código abierto (GNU GPL) para plataformas Unix (BSD, GNU/Linux, etc), Microsoft Windows y otras. Para la comunicación instantánea se utiliza XMPP. Está escrito principalmente en Erlang, es software concurrente y distribuido.
Alexey Shchepin fundó el proyecto en 2002 y continúa manteniéndolo. El nombre « ejabberd » significa « Erlang Jabber Daemon ». Se escribe en letras minúsculas solamente, que es uso común en el mundo de Unix. El objetivo del proyecto ejabberd es la creación de un servidor XMPP estable y con variedad de posibilidades.
Fuente: Wikipedia
Ejabberd nos permitirá
- Crear Usuarios
- Salas de Chat
- Administradores y más
¿En donde podremos implementar Ejabberd?
Ejabberd puede ser implementado en una Oficina, Centro de Estudio, Aulas o el Hogar. Ejabberd nos permitirá crear nuestro propio "Servidor Chat" donde podremos crear "Usuarios" personalizados.
Si disponemos de una IP Pública, en su defecto un Dominio Registrado, también podremos usar Ejabberd como Servidor de Mensajería en Internet, no solo nuestra Red Local. En esta entrada de Wiki realizaremos una configuración básica para su puesta en función.
1. Instalación
Ejabber se encuentra en los "Repositorios de Debian" Para instalar vamos a ejecutar en nuestra Terminal Favorita:
# aptitude install ejabberd2. Configuración
Esta prueba ha sido realizada en una Red Local con 15 máquinas, El servidor Debian posee como IP Local 192.168.15.130 Y como Ip Pública 204.181.XXX.XXX
Lo primero que haremos será decirle a nuestro Servidor Ejabberd cual será el Dominio a utilizar, para ello hemos escogido la IP con nuestra Red Local [192.168.15.130] para ello en nuestra terminal como Usuario Root haremos lo siguiente:
# nano /etc/ejabberd/ejabberd.cfgAhora buscamos las siguientes líneas donde configuraremos de la siguiente manera:
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%% Options which are set by Debconf and managed by ucf
%% Admin user
{acl, admin, {user, "", "192.168.15.130"}}.
%% Hostname
{hosts, ["192.168.15.130"]}.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Para administrar nuestro Servidor Ejabberd vía Web [Http] deberemos verificar que tengamos la siguiente línea
{5280, ejabberd_http, [
http_poll,
web_admin
]}
]}.
Recuerda: Que debes tener abierto el puerto 5280 en tu Firewall o Router en caso que este se encuentre administrado.
3. Creando el Usuario Administrador
Antes de ingresar a Ejabber por Web, debemos de crear un Usuario Administrador, para ello haremos lo siguiente desde Terminal como Usuario Root.
La sintaxis es:
# ejabberdctl register <usuario> <servidor> <contraseña>por lo que en la terminal haremos:
# ejabberdctl register xander 192.168.15.130 123456Ahora debemos decirle a Ejabberd que "Xander" será un Usuario con privilegios de Administrador, para ello, entramos nuevamente a nuestro archivo de configuración:
# nano /etc/ejabberd/ejabberd.cfgY agregamos a "Xander" en la siguiente línea
%%% ====================
%%% ACCESS CONTROL LISTS
%%
%% The 'admin' ACL grants administrative privileges to Jabber accounts.
%% You can put as many accounts as you want.
%%
{acl, admin, {user, "xander", "192.168.15.130"}}.
%%{acl, admin, {user, "ermine", "example.org"}}.
4. Verificando que Ejabberd funcione correctamente
Primero reiniciaremos Ejabberd
# /etc/init.d/ejabberd restartAhora verificaremos que está funcionando
# ejabberdctl statusNos tiene que decir:
Node ejabberd@TU_SERVIDOR is started. Status: started
ejabberd is running5. Ingresando a Ejabberd vía Http
Para ello en tu navegador tienes que colocar: http://192.168.15.130:5280/admin
Te pedirá un usuario, en cual será
xander@192.168.15.130
La contraseña será que has especificado al momento de crear tu Usuario, en nuestro caso es:
123456
Finalmente tendrás una ventana similar a esta
6. Creando Usuarios
Para esta prueba se creará un "Usuario" de prueba para que se comunique con "Xander" [Administrador]
# ejabberdctl register usuario 192.168.15.130 1234567. Configuración del programa Cliente
Programa para Gnu/Linux
Para esta prueba hemos utilizado Kopete como programa de mensajería cliente en Gnu/Linux. Su configuración es la siguiente:
Usuario: xander@192.168.15.130
Servidor: 192.168.15.130
Puerto: 5222Programa para Windows
Para nuestro usuario de Prueba [llamado usuario] hemos instalado Pidgin como cliente Jabberd
Usuario: usuario@192.168.15.130
Servidor: 192.168.15.130
Puerto: 5222Finalmente
Hemos configurado Ejabber en nuestro hogar, para ello hemos hecho la prueba con Gnu/Linux y Windows en una Máquina Virtual con Microsoft Windows Xp
Nuestro Servidor Ejabberd está funcionando
Autenticación mediante LDAP
He aqui una confguración básica de como logre autenticar mi ejabber con el ldap mediante el metodo auth_method, ldap.
{auth_method, ldap}.
{ldap_servers, ["10.x.x.x"]}.
{ldap_rootdn, "cn=admin,dc=mydominio,dc=com"}.
{ldap_password, "password"}.
{ldap_base, "dc=mydominio,dc=com"}.
{ldap_filter, "(objectClass=sambaSamAccount)"}.Y ya
listo
ahora ya todos los usuarios de nuestro ldap podrán hacer login en el jabber.

