Version 15 (modified by alexandrecorreia, 14 years ago) (diff) |
---|
Instalando o Ejabberd
Nota: Essa instalação foi testada no Debian Etch e Lenny
1 - Baixar o binário do Ejabberd no site http://www.process-one.net/en/ejabberd/downloads
2 - Descompactar com:
# gzip -dv ejabberd-X.X.X-linux-x86-installer.bin.gz
3 - Dar permissão de execução ao binário baixado:
# chmod +x ejabberd-X.X.X_X-linux-x86-installer.bin
4 - Executando o instalador:
# ./ejabberd-X.X.X_X-linux-x86-installer.bin
5 - Configure o diretório de instalação para /opt/ejabberd e coloque a senha para o usuário admin
6 - Copiando o script de inicialização:
# cp /opt/ejabberd/bin/ejabberd.init /etc/inid.d/ejabberd
7 - Adicionando usuário:
# adduser --home /opt/ejabberd --shel /bin/sh -c "System user ejabberd" --system --group ejabberd
8 - Alterando permissão de grupo:
# chown -R ejabberd:ejabberd /opt/ejabberd
9 - Alterando permissão de acesso:
# chmod 755 -R /opt/ejabberd
Gerenciando o serviço do Ejabberd
Para automatizar o script de inicialização do Ejabberd rode o comando abaixo:
# update-rc.d ejabberd start 15 2 3 4 5 . stop 85 0 1 2 3 4 5 6 .
Iniciando o serviço:
# /etc/inid.d/ejabberd start
Parando o serviço:
# /etc/inid.d/ejabberd stop
Vendo todas as opções disponíveis:
# /etc/inid.d/ejabberd *
Configurando o Ejabberd
Nessa seção iremos abordar como configurar o Ejabberd para se autenticar no LDAP e armazenar dados no Mysql.
Pre-requisitos:
Ter os pacotes do mysql-server, php5-mysql, php5-mcrypt
Notas:
Nota 1 - O diretório com os arquivos de configuração do Ejabberd é o /opt/ejabberd/conf
Nota 2 - O arquivo principal de configuração do Ejabberd é o /opt/ejabberd/conf/ejabberd.cfg que apenas referenciaremos no restante do documento de ejabberd.cfg
Nota 3 - O arquivo de configuração odbc do Mysql é o /opt/ejabberd/conf/odbc.ini que apenas referenciaremos no restante do documento de odbc.ini
Nota 4 - %% é comentário no arquivo ejabberd.cfg
Configurando o HOST
O nome do host deve ser resolvido por seu servidor e por suas estações clientes.
Abra ejabberd.cfg e vá na seção "SERVED HOSTNAMES"
Altere a linha:
{hosts, ["example.org"]}.
Nota: Esse nome de host será usando dentro das configurações do módulo no Expresso Livre.
Configurando as portas que o seu ejabberd irá escutar
Vá na seção "LISTENING PORTS" do ejabberd.cfg
Por padrão o seu Ejabberd já escuta a porta 5222 essa porta que se autentica em texto plano.
Para clientes que se autenticam com SSL no formato antigo descomentar as linhas, referentes a porta 5223.
Para habilitar suporte ao novo Expresso Menssenger que é em javascript vá na configuração da porta 5280 e deixe conforme abaixo:
{5280, ejabberd_http, [ {request_handlers, [{["http-bind"],mod_http_bind}]},http_poll ]}
Configurando a autenticação no LDAP
Nota: Comentar significa colocar na frente da instrução %%
Vá na seção "AUTHENTICATION" do ejabberd.cfg
Comente a linha:
{auth_method, internal}.
Vá para seção %% Authentication using LDAP
Descomente:
%%{auth_method, ldap}.
Descomente e aponte para o seu servidor LDAP:
%% {ldap_servers,["SEU_SERVIDOR_LDAP"]}.
Descomente e aponte para o seu contexto LDAP:
%% {ldap_base, "dc=xx,dc=yy"}.
Descomente e aponte para o seu administrador do LDAP:
%% {ldap_rootdn, "cn=admin,dc=xx,dc=yy"}.
Descomente e coloque a senha de seu administrador do LDAP:
%% {ldap_passwd, "SENHA"}.
Configurando o acesso do Ejabberd ao banco de dados Mysql
Descomente a linha abaixo e ajuste os valores necessários de seu ejabberd.cfg.
%% {odbc server, {mysql, "server", 1234, "database", "username", "password"}}.
Recomendado:
{odbc server, {mysql, "localhost", 3306, "ejabberd", "root", "SENHA"}}.
Notas:
"server" = Ip ou nome de seu servidor mysql 1234 = Porta do servidor mysql "database" = Nome do banco de dados "username" = Usuário com permissão de acessar o banco de dados "password" = Senha do usuário com permissão de acessar o banco de dados
Agora abra o arquivo odbc.ini e ajustes os parâmetros necessários, segue exemplo abaixo:
[ejabberd] Driver = MySQL DATABASE = ejabberd PWD = SENHA SERVER = localhost SOCKET = /var/run/mysqld/mysqld.sock UID = root
Notas:
DATABASE = Colocar o nome do bando de dados PWD = Colocar a senha de acesso ao banco de dados SOCKET = Verifique no my.cnf arquivo de configuração do Mysql a opção “socket” UID = Colocar o usuário que tem acesso ao banco.
Configurando os módulos
Vá na seção "MODULES" do ejabberd.cfg e verifique se existem os módulos e configurações abaixo:
{modules, [ {mod_adhoc, []}, {mod_announce, [{access, announce}]}, {mod_caps, []}, {mod_configure,[]}, {mod_disco, []}, {mod_http_bind,[{max_inactivity,10}]}, {mod_irc, []}, {mod_last_odbc, []}, {mod_muc, [ {access, muc}, {access_create, muc_create}, {access_persistent, muc_create}, {access_admin, muc_admin} ]}, {mod_offline_odbc, []}, {mod_privacy_odbc, []}, {mod_private_odbc, []}, {mod_proxy65,[]}, {mod_pubsub, [ % requires mod_caps {access_createnode, pubsub_createnode}, {ignore_pep_from_offline, true}, {last_item_cache, false}, {plugins, ["flat", "hometree", "pep"]} ]}, {mod_roster_odbc, []}, {mod_shared_roster,[]}, {mod_time, []}, {mod_vcard, []}, {mod_version, []} ]}.
Criando o banco dados do Ejabberd no Mysql
Faça download do export_jabber.zip e descompacte com o comando abaixo:
# unzip export_jabber.zip
Entre no diretório export_jabber e execute o comando abaixo para criar o banco:
# mysql -u root -p < ejabberd_mysql.sql
Dando permissão no banco de dados.
# mysql -u root -p mysql> use mysql; mysql> grant all privileges on ejabberd.* to 'root'@'%' identified by 'SENHA' with grant option; mysql> flush privileges;
Nota: Colocar a senha do usuário root de seu Mysql
Ajustando o Apache
Pre-requisitos:
Ter os pacotes apache2-mpm-worker, apache2-mpm-prefork, apache2-mpm-itk, apache2-mpm-event instalados.
1 - Rode os comandos abaixo para ativar os módulos de proxy e proxy_http no apache:
# a2enmod proxy # a2enmod proxy_http
2 - Abra o arquivo /etc/apache2/mods-enabled/proxy.conf e configure conforme exemplo abaixo:
<IfModule mod_proxy.c> ProxyRequests Off <Proxy *> AddDefaultCharset off Order deny,allow Allow from all </Proxy> ProxyPass /proxy/ejabberd http://IP_SEVER_JABBER:5280/http-bind/ ProxyPassReverse /proxy/ejabberd http://IP_SEVER_JABBER:5280/http-bind/ </IfModule>
Nota: No IP_SEVER_JABBER pode ser colocado nome ou IP.
3 - Reiniciando o Apache
/etc/init.d/apache2 restart
Créditos Joaquim Ferraz (joaquim.ferraz at ati.pe.gov.br)
Referência http://www.process-one.net/en/ejabberd/guide_en
- Página inicial do Wiki Jabberit Messenger
- Página Anterior Jabberit Messenger