Google+

lunes, 27 de julio de 2009

Instalar ejabberd en Fedora con autentificación LDAP


Es importante en los días en los que estamos la comunicación entre todo el personal de la oficina y que mejor manera que con una mensajería interna, ya que tener el messenger no queda muy corporativo. Hemos elegido ejabberd y los usuarios como siempre de un LDAP, si os preguntáis por que siempre cojo los datos del LDAP es para tener un control mayor. Si buscáis por el blog tengo como instalar un LDAP, pero si esta montado mejor que mejor.



Instalamos ejabberd desde los repositorios
#yum install ejabberd

Activar el servicio:
#chkconfig ejabberd on

Editar fichero de configuración:
#vi /etc/ejabberd/ejabberd.cfg

Os lo voy a postear y vosotros cambiáis las lineas que creáis convenientes:
{loglevel, 5}. #Nivel del log, en nivel 3 esta bien, pero el 5 te da todos los datos
{hosts, ["chat.linuxadmin.es"]}. #Host
{listen,
[
{5222, ejabberd_c2s, [
{certfile, "/etc/ejabberd/ejabberd.pem"}, starttls,
{access, c2s},
{shaper, c2s_shaper},
{max_stanza_size, 65536}
]},
{5269, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_poll,
web_admin
]}
]}.
{s2s_use_starttls, true}.
{s2s_certfile, "/etc/ejabberd/ejabberd.pem"}.
{auth_method, ldap}.
{ldap_servers, ["directorio.linuxadmin.es"]}. #Hostname del servidor ldap
{ldap_port,389}. #Puerto
{ldap_uidattr, "uid"}. #Atributo único
{ldap_uids, [{"uid", "%u"}]}.
{ldap_base, "cn=users,cn=accounts,dc=directorio,dc=linuxadmin,dc=es"}.
{shaper, normal, {maxrate, 1000}}.
{shaper, fast, {maxrate, 50000}}.
%%Administradores web
{acl, admin, {user, "ipuerto"}}. #Usuario administrador para interfaz web
{acl, local, {user_regexp, ""}}.
{access, max_user_sessions, [{10, all}]}.
{access, local, [{allow, local}]}.
{access, c2s, [{deny, blocked},
{allow, all}]}.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{access, s2s_shaper, [{fast, all}]}.
{access, announce, [{allow, admin}]}.
{access, configure, [{allow, admin}]}.
{access, muc_admin, [{allow, admin}]}.
{access, muc, [{allow, all}]}.
{access, pubsub_createnode, [{allow, all}]}.
{access, register, [{deny, all}]}. #Denegamos que los usuarios se puedan registrar
{language, "es"}. #Idioma
{modules,
[
{mod_adhoc,    []},
{mod_announce, [{access, announce}]},
{mod_caps,     []},
{mod_configure,[]},
{mod_disco,    []},
{mod_irc,      []},
{mod_last,     []},
{mod_muc,      [
{access, muc},
{access_create, muc},
{access_persistent, muc},
{access_admin, muc_admin}
]},
{mod_offline,  []},
{mod_privacy,  []},
{mod_private,  []},
{mod_pubsub,   [ % requires mod_caps
{access_createnode, pubsub_createnode},
{plugins, ["default", "pep"]}
]},
{mod_register, [
{welcome_message, {"Welcome!",
"Hi\nWelcome to this Jabber server."}},
{access, register}
]},
{mod_roster,   []},
{mod_shared_roster,[]},
{mod_stats,    []},
{mod_time,     []},
{mod_vcard,    []},
{mod_version,  []}
]}.

Ahora iniciamos el servicio:
#/etc/init.d/ejabberd start

Ahora podremos ejecutar el cliente, tened cuidado con el firewall en fedora, es muy restrictivo. Para entrar a la parte de administración del ejabber entrad en la dirección del ejabber:
http://chat.linuxadmin.es/admin

Recordad el usuario que hemos puesto una linea de arriba, ipuerto, bueno pues para entrar sería ipuerto@chat.linuxadmin.es y la contraseña que tengáis.