---- == 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 [[BR]] '''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: [[BR]] {{{ # ./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 [[BR]][[BR]] '''6''' - Copiando o script de inicialização: [[BR]] {{{ # 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:''' [[BR]] '''Nota 1''' - O diretório com os arquivos de configuração do Ejabberd é o '''/opt/ejabberd/conf''' [[BR]] '''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''' [[BR]] '''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''' [[BR]] '''Nota 4''' - %% é comentário no arquivo '''ejabberd.cfg''' [[BR]] '''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''' [[BR]] 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 [[BR]] ---- == Ajustando o Apache == ---- '''Pre-requisitos:''' [[BR]][[BR]] 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: {{{ ProxyRequests Off AddDefaultCharset off Order deny,allow Allow from all ProxyPass /proxy/ejabberd http://IP_SEVER_JABBER:5280/http-bind/ ProxyPassReverse /proxy/ejabberd http://IP_SEVER_JABBER:5280/http-bind/ }}} '''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 Anterior Jabberit Messenger [http://trac.expressolivre.org/wiki/jabberit_messenger] ----