Configuración de Ejabberd en Debian ETCH

download Configuración de Ejabberd en Debian ETCH

If you can't read please download the document

description

Manual para configurar el Ejabberd en Debian Etch

Transcript of Configuración de Ejabberd en Debian ETCH

################################################### Ejabberd en Servidor de prueba Nodo Infomed Cfgos - 3 de Abril 2008 ################################################### Recursos consultados: http://michael-prokop.at/blog/2007/07/27/setting-up-your-own-jabber-serverejabberd/ http://morgancollett.wordpress.com/2008/02/27/olpc-community-jabber-serversejabberd-200-from-source/ http://www.informaticien.be/forum_topic-3518Configuration_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 automticamente 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(mdulo para filtros) Sobre conexin con mysql: http://samueladam.net/2008/03/19/install-ejabberd-xmpp-server-mysql (Esto es una utilizacin extra) Pasos: 1- Instalar el ejabberd apt-get install ejabberd 1.1 - Crear registros en el dns: Anexo II 2- Definir el nombre del servidor jabber {hosts, ["jabber.my.domain"]}. Si se quiere manejar dominios virtuales se hace a travs de: {hosts, ["jabber.my.domain","jabber1.my.domain"]}. Los nombres de los servidores tienen que ser resulto por DNS Tambin se debe adicionar: {host_config, "jabber.my.domain", [{auth_method, [internal]}]}. {host_config, "jabber1.my.domain", [{auth_method, [internal]}]}.

Para tener abierto el acceso administrativo por la web: {5280, ejabberd_http, [http_poll, web_admin]}]}.

3- Reiniciar el ejabberd y aadir un user # /etc/init.d/ejabberd restart con ejabberdctl restart Si el ejabberd funciona: Para registrar un usuario # ejabberdctl register Si quiere aadir una cuenta para otro dominio virtual: # ejabberdctl register pepe jabber1.my.domain 123 Para quitar un usuario: # ejabberdctl unregister Funcionando de esta manera se pueden crear salas automticamente y los usuarios se pueden autoregistrar. 3.5- Acceso a la inteface web http://host.my.domain:5280/admin/ 4- Establecimiento de polticas: Esta acl impide el registro automtico de los usuarios: {access, register, [{deny, all}]}. y se comenta el mdulo % {mod_register, [{access, register}]}, ( ver anexo 1 para saber ms acerca de ejabberdctl)

ejabberdctl status

Para darle permisos a un usuario como administrador: {acl, admin, {user, "username"}}. En caso de dominios virtuales: {acl, admin, {user, "eaf","jabber.my.domain"}}.

{acl, admin, {user, "eaf","jabber1.my.domain"}}. Sobre la estructura de las listas de control de acceso: Estructura de una acl: {acl, , {, ...}}. se define como se comportar: {access, , [{allow, }, {deny, }, ... ]}. Por ejemplo para la cuestin de las salas o conferencias es lo referido al mdulo muc: {acl, admins, {user, "admin", "jabber.my.domain"}}. ... {access, muc_admins, [{allow, admins}]}. ... {modules, [ ... {mod_muc, [{access, all}, {access_create, all}, {access_admin, muc_admins}, {history_size, 0}]}, ... ]}. Estas clusulas permiten lo sgte: a)- Todos los usuarios pueden acceder a las salas b)- Todos pueden crear salas nuevas c)- Los admistradores(admins) pueden tener privilegios administrativos en las Salas. Otro ejemplo ms restricctivo: {acl, autorizados, {user, "usuario1", "jabber.my.domain"}}. {acl, autorizados, {user, "usuario2", "jabber.my.domain"}}. {acl, autorizados, {user, "usuario3", "jabber.my.domain"}}. {acl, admins, {user, "admin", "jabber.my.domain"}}. ... {access, muc_admins, [{allow, admins}, {deny, all}]}. {access, muc_access, [{allow, autorizados}, {allow, admins}, {deny, all}]}. ... {modules, [ ...

{mod_muc, [{access, muc_access}, {access_create, muc_admins}, {access_admin, muc_admins}]}, ... ]}. Se plantea: a)Slo los usuarios de la regla "autorizados" pueden acceder a las salas b)Slo el administrador puede crear salas c)Slo los administradores tienen privilegios administrativos(admins). Si se quieren guardar trazas de las conversaciones(en html): {mod_muc_log, [ {access_log, muc_admins}, {cssfile, "http://my.domain/my.css"}, {dirtype, plain}, {outdir, "/var/www/muclogs"}, {timezone, universal}, {spam_prevention, true}, {top_link, {"http://jabber.my.domain", "jabber.my.domain"}}

]}, Se plantea:

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

Para el mdulo irc: mod_irc {modules, [ ... {mod_irc, [{access, all}, {default_encoding, "iso8859-15"}]}, ... ]}. irc con un encoding determinado Si se quiere restringir el acceso a determinados usuarios: {acl, autor_irc, {user, "customer1", "jabber.my.domain"}}. {acl, autor_irc, {user, "customer2", "jabber.my.domain"}}.

{acl, autor_irc, {user, "customer3", "jabber.my.domain"}}. ... {access, aut_irc, [{allow, autor_irc}, {deny, all}]}. ... {modules, [ ... {mod_irc, [{access, autor_irc}, {host, "irc.jabber.my.domain"}]}, ... ]}. Solo pordran acceder los usuarios que estn en el grupo autor_irc. Para asegurar las credenciales de los usuarios {mod_vcard, ]}, Para que no se devuevan todas [{search, true}, {all_return_all, false}

Para transferencia de ficheros a travs de http: mod_http_fileserver 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 delete-expired-messages que han expirado, del servidor.

lista todos los usuarios registrados. elimina todos los mensajes de fuera de linea,

Anexo II Aadir 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. 5269 host.my.domain. _xmpp-client._tcp.jabber.my.domain. 5222 host.my.domain. _jabber._tcp.jabber.my.domain. 5222 host.my.domain. 21600 1600 21600 IN IN IN SRV SRV SRV 5 5 5 0 0 0