Configuración del Ejabberd

Recursos consultados:

http://michael-prokop.at/blog/2007/07/27/setting-up-your-own-jabber-server-ejabberd/ http://morgancollett.wordpress.com/2008/02/27/olpc-community-jabber-servers-ejabberd-200-from-source/ http://www.informaticien.be/forum_topic-3518-Configuration_ejabberd_sous_Linux_Debian.html http://www.sinanimodelucro.net/material/manuales/ejabberd_basico.pdf http://www.process-one.net/docs/ejabberd/guide_en.html http://support.process-one.net/doc/display/MESSENGER/mail/2028 (Salas persistentes) http://www.ejabberd.im/aclpopulate - Para que se formen automáticamente los shared roster http://www.ejabberd.im/mod_ctlextra (utilidades extras para ejabberdctl) http://www.ejabberd.im/shared-roster-all http://wiki.laptop.org/go/Installing_ejabberd http://wiki.laptop.org/go/Ejabberd_Configuration http://www.ejabberd.im/mod_filter(módulo para filtros)

Sobre conexión con mysql:

http://samueladam.net/2008/03/19/install-ejabberd-xmpp-server-mysql (Esto es una utilización extra)

Pasos:

1- Instalar el ejabberd

1.1 - Crear registros en el dns: Anexo II

2- Definir el nombre del servidor jabber

3- Reiniciar el ejabberd y añadir un user

Si el ejabberd funciona: ejabberdctl status

Para registrar un usuario

Si quiere añadir una cuenta para otro dominio virtual:

Para quitar un usuario:

Funcionando de esta manera se pueden crear salas automáticamente y los usuarios se pueden autoregistrar.

3.5- Acceso a la inteface web

4- Establecimiento de políticas:

Esta acl impide el registro automático de los usuarios:

{access, register, [{deny, all}]}.

y se comenta el módulo

% {mod_register, [{access, register}]},

Para darle permisos a un usuario como administrador:

Sobre la estructura de las listas de control de acceso:

Estructura de una acl:

se define como se comportará:

Por ejemplo para la cuestión de las salas o conferencias es lo referido al módulo muc:

{acl, admins, {user, "admin", "jabber.my.domain"}}.

Estas cláusulas permiten lo sgte:

Otro ejemplo más restricctivo:

Se plantea:

a)Sólo los usuarios de la regla "autorizados" pueden acceder a las salas b)Sólo el administrador puede crear salas c)Sólo los administradores tienen privilegios administrativos(admins).

Si se quieren guardar trazas de las conversaciones(en html):

{mod_muc_log, [

Se plantea:

a) Sólo los del grupo muc_admins pueden deshabilitar el traceo. b) Un fichero de stylo para guardar las trazas c) si se pone la opción subdirs, se crean subdirectorios para años y meses, sino se pone en el mismo directorio(plain) d) Directorio donde se guardarán: /var/www/muclogs e) tiempo universal(puede ser local y por lo tanto se toma del Sistema Operativo) f) spam_prevention añade attributos especiales para que no puedan ser indexadas por búsquedas las charlas g) top_link es el enlace superior que se adiciona en la web generada

Para el módulo irc:

mod_irc

{modules,

irc con un encoding determinado

Si se quiere restringir el acceso a determinados usuarios:

Solo pordrían acceder los usuarios que están en el grupo autor_irc.

Para asegurar las credenciales de los usuarios

Para que no se devuevan todas

Para transferencia de ficheros a través de http:

Anexo 1:

Funcionalidades del ejabberdctl

El ejabberdctl tiene una gran cantidad de opciones para hacer salvas de la BD, etc:

status obtiene el esto del servidor ejabberd. stop detiene el servidor ejabberd. restart reinicia el servidor ejabberd. reopen-log reabre el fichero de log. register user server password registra a un usuario en un servidor. unregister user server elimina a un usuario de un servidor. backup file almacena la base de datos en un fichero. restore file restaura la base de datos desde un fichero. install-fallback file instala una base de datos desde un fichero. dump file vuelca el contenido de la base de datos a un fichero de texto. load file restaura la base de datos de un fichero de texto. import-file file importa la base de datos de usuario de un fichero spool. import-dir dir importa la base de datos de usuario de un directorio de spool. registered-users lista todos los usuarios registrados. delete-expired-messages elimina todos los mensajes de “fuera de linea”, que han expirado, del servidor.

Anexo II

Añadir registro en el DNS

Por supuesto se necesitan los registro de host.my.domain directos e inversos en el DNS.

y luego los propios del Jabber.

_xmpp-server._tcp.jabber.my.domain. 21600 IN SRV 5 0 5269 host.my.domain. _xmpp-client._tcp.jabber.my.domain. 1600 IN SRV 5 0 5222 host.my.domain. _jabber._tcp.jabber.my.domain. 21600 IN SRV 5 0 5222 host.my.domain.