Instalando o OpenFire no Debian Etch
25 junho, 2008 35 Comentários
Olhando as estatisticas do meu blog, percebi que muitos buscam informações sobre a Instalação do Openfire, e caem em um post antigo meu sobre a instalação de um plugin de Logs em uma versão anterior do Openfire. Então resolvi criar este tutorial para as pessoas finalmente consigam encontrar a informação desejada 😀 .
Utilizei o Debian Etch 4 (Instalação básica), para fazer a instalação, mas acredito que este tutorial pode ser utilizado para o Ubuntu sem mudança, e também para qualquer outra distribuição, desde que tenha o servidor mysql instalado. O MYSQL não é necessário para instalar o Openfire, pois ele possui um banco de dados próprio, mas é recomendado instalar pois o desempenho é melhor.
Softwares utilizados:
- MYSQL
- Java 6
- Openfire 3.5.2
Instalar MYSQL e criar Base
Para instalar o MYSQL no debian/Ubuntu utilize o comando abaixo, para outras distribuições, verifique em foruns da mesma:
# aptitude install mysql-server
Feito isso vamos criar uma senha para o usuário root do mysql, utilize o comando abaixo substituindo a palavra “SENHA” pela senha desejada:
# mysqladmin -u root password 'SENHA'
Agora para criar o usuário que será utilizado pelo openfire use o comando abaixo, subistituindo a palavra SENHA pela senha desejada, esse comando vai solicitar a senha digitada no passo anterior:
# mysql -u root -p -e "GRANT USAGE ON * . * TO 'openfire'@'localhost' IDENTIFIED BY 'SENHA' "
E para criar o banco do openfire (novamente será solicitada a senha do root definida anteriormente):
# mysql -u root -p -e "CREATE DATABASE openfire "
# mysql -u root -p -e "GRANT ALL PRIVILEGES ON openfire . * TO 'openfire'@'localhost' "
Se não houverem erros o usuário e banco do openfire foram criados.
Instalar o Java
As instruções para instalar o java no linux você encontra neste link, e o download do programa está neste outro link. Mas seguem os passos abaixo mais rapidos.
Simplificando:
O primeiro comando cria o diretório /usr/java, e o segundo entra no diretório:
# mkdir /usr/java
# cd /usr/java
Comando para fazer o download do java com o nome de java.bin:
# wget http://javadl.sun.com/webapps/download/AutoDL?BundleId=20279 -O java.bin
Agora, com o primeiro comando é dada a permição de execução ao programa, e o segundo executa:
# chmod a+x java.bin
# ./java.bin
Vai aparecer os termos da licensa (leia atentamente :P), use a “barra de espaço” para decer, e ao final digite yes, e pronto 😀
Instalando o Openfire
Com os comandos abaixo, entre na pasta /opt , faça o download e depois descompacte o arquivo:
# cd /opt
# wget wget http://www.igniterealtime.org/downloadServlet?filename=openfire/openfire_3_5_2.tar.gz -O openfire.tar.gz
# tar -zxf openfire.tar.gz
OBS. No site da Ignite Realtime tem um pacote para o Debian, mas eu não consegui instalar, se alguém conseguir, me ensine 😀 .
Para criar um atalho na pasta de inicialização e colocar ele para iniciar execute os comandos abaixo:
# ln -s /opt/openfire/bin/openfire /etc/init.d/openfire
# update-rc.d openfire defaults 80
Para executalo entre no diretório do openfire, e execute o serviço:
# /etc/init.d/openfire start
Ou entre no diretório do openfire, e execute o serviço:
# cd /opt/openfire/bin
# ./openfire start
Se tudo deu certo, agora o openfire está rodando, então abra o navegador de internet (Firefox, Opera…) e entre no endereço ip_do_servidor:9090 (se o computador que estiver utilizando é o mesmo onde instalou o openfire pode usar: http://localhost:9090). Ex: 192.168.0.1:9090
Após entrar nesse endereço vai aparecer uma tela de “Bem Vindo” pedindo para selelcionar a lingua desejada, selecione.
Depois vai solicitar para definir o domínio e as portas que serão utilizadas para o site de administração, digite o seu Domínio ou IP.
Agora o programa pergunta qual banco de dados você quer utilizar, se você conseguiu fazer o passo de instalar o MYSQL sem problemas, selecione a primeira opção, mas caso você não tenha instalado, pode utilizar a segunda opção, porém esta possui um desempenho inferior.
Depois de escolher o banco de dados, se você escolheu a opção de banco de dados MYSQL configure os campos conforme as informações abaixo (as outras informações não precisa mudar), ou como a imagem:
Banco de dados: MYSQL
URL do banco de dados: jdbc:mysql://localhost:3306/openfire
Nome do Usuário: openfire
Senha: a senha que você definiu para o banco
A próxima etapa é a configurações de Perfil, mantenha a opção que vem por padrão, e na ultima etapa é o e-mail e senha do administrador, daí e a gosto 😀
E pronto, clique em logar-se com o administrador.
Quanto aos clientes de conversação existem várias opções, no site da Ignite Realtime tem um deles, mas eu recomento o PSI, mas vai da nececidade de cada ambiente! Espero que agora as pessoas encontrem o que precisam 😀
Atualizando o Openfire
No blog Mundo Open Source tem um tutorial explicando como atualizar o Openfire:
http://mundoopensource.blogspot.com/2008/08/openfire-como-atualizar-o-servidor-para.html
brother muito bom teu tutorial, mesmo eu não tendo um conhecimento grande sobre o assunto e até do próprio linux segui tudo passo a passo e deu certinho instalei no meu Ubuntu 7.10.Obrigado
Que bom Rodrigo, e obrigado pelo retorno!
Se tiver dúvidas é só perguntar!
😉
Cara, muito bom este tutorial. seguindo todos os passos funcionou 100%. Me quebrace um baita galho, valeu!
Obrigado Qaum,
É bom ter um retorno, e melhor ainda positivo 😛
Marcelo,
Este tutorial eh otimo e simples para a instalaçao do Openfire.
Pesquisei em muitas paginas da Internet e os demais tutoriais sao complicados pois, nao abordam de maneira simples e objetiva para a instalaçao. Utilizei o CentOS 5.1 e esta rodando muito bem.
Parabens pela materia…
Silvano
Obrigado Silvano, a idéia era essa mesma, que o tutotial fosse simples mas objetivo!
Marcelo,
Obrigado pelo tutorial, quando vejo pessoas como voce disponibilizando o que aprendeu me enche de alegria, por despender um tempo pensando em outras pessoas.Tutorial esta otimo.
Galera, o meu deu sertinho, porem qdo cadastro o usuário, e vou ativar o transporte, da um erro da primeira vez, dpois clik em voltar, e avançar novamente, ai funciona, o transporte não aparece da primeira vez. Alguém saberia me dizer sobre. transporte msn.
Olha Luiz, já tive esse problema que você citou em uma versão anterior! Experimenta desinstalar o plugin e instalar nomavente!
O tuto é simples e objetivo, esta em uma linguagem que umleigo pode fazer tudo sem preblemas.. ou quase tudo..
ta me dando esse erro, nao entendo o pq! se ta tudo instalado certinho, como manda o figurino
uso o debian 4
getulio:/usr/java# mysql -u root -p -e “CREATE DATABASE `openfire`”
-bash: openfire: command not found
Enter password:
ERROR 1064 (42000) at line 1: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ” at line 1
eu novamente:
isso é um erro?
nohup: appending output to `nohup.out’
mas quando digito o ip do server:9090
abre a pagina do openfire
getulio:/opt# nohup: appending output to `nohup.out’
getulio:/opt# cd /opt/openfire/bin
getulio:/opt/openfire/bin# ./openfire start
Starting openfire
nohup: appending output to `nohup.out’
getulio:/opt/openfire/bin#
opa..
gerrou esse erro na hora de selecionar um banco
isso tem haver com o primeiro erro?
A connection to the database could not be made. View the error message by opening the “/logs/error.log” log file, then go back to fix the problem.
ola. eu novamente..
refiz tudo e agora da esse erro depois que aperto o botao <>
HTTP ERROR: 500
INTERNAL_SERVER_ERROR
RequestURI=/setup/setup-datasource-standard.jsp
Caused by:
java.lang.NullPointerException
at org.jivesoftware.database.EmbeddedConnectionProvider.destroy(EmbeddedConnectionProvider.java:100)
at org.jivesoftware.database.DbConnectionManager.setConnectionProvider(DbConnectionManager.java:476)
at org.jivesoftware.openfire.admin.setup.setup_002ddatasource_002dstandard_jsp._jspService(setup_002ddatasource_002dstandard_jsp.java:204)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
opa… funcionaoutudooooooo
so o comando que tirei as ” do openfire ai funfou
mysql -u root -p -e “GRANT ALL PRIVILEGES ON openfire . * TO ‘openfire’@’localhost'”
desculpem .. tanta pergunta..
Olá Getulio! Desculpe se demorei a responder, mas eu não olho com frequencia meu blog!
O problema está nas linhas de comando do MYSQL, é que o wordpress subistitui aspas simples ‘ por crase! Vou tentar arrumar aqui!
Ha ha ha…
Você postou tantas perguntas Getulio, que eu nem reparei que você tinha postado uma mensagem que tinha dado certo! Mas como eu disse antes, o problema estava mesmo nas aspas, que o wordpress troca por aspas comerciais!
Mas o que importa é que você conseguiu! Abraço e sucesso!
Desculpe o flood, mas o importante é que deu certo.. e pode ter certeza que aprendi muito,
PARABENS PELO TUTORIAL.
Seria interesante, por um tuto de Plugins que nao estao na lista, e de atulizacao do openfire.
Obrigado t+
Obrigado Getulio!
Quanto a instalar novos plugins acho que não deve ser difícil! Se não me engano basta descompactar o plugin na pasta de plugins do openfire que ele vai aparecer na lista!
E quanto ao tutorial de como atualizar, alguém já fez 😀
http://mundoopensource.blogspot.com/2008/08/openfire-como-atualizar-o-servidor-para.html
ola, segui seu tutorial passo a passo, mas da um erro qdo entro no console admin do openfire, instalei a ultima versao 3.6.4, qdo coloco o user admin, e a senha ela da um erro.
O erro é o seguinte:
Login falhou: tenha certeza que seu usuário e senha estejam corretos e que você seja administrador ou moderador.
Alguem poderia me ajudar, nao to conseguindo,
obrigado
Muito Obrigado 100% seu poster não faz ideia o qanto vai me ajudar aqui na empresa segui a risca e deu tudo certo Deus te abeçõe caro colega o mundo precisa de pessoas que ajude como você.
rodrigo, provavelmente ele só vá aceitar login do admin se for no próprio server.
deve ter alguma opção liberando isso
Parabéns pelo Post, Ótimo!!!!!!!!!!!!!!!
Só tenho uma dúvida, não estou conseguindo aumentar a memória java. Já fiz isso:
* Acesse o diretório raiz do Openfire (no meu caso fica em /opt/openfire)
* Acesse o diretório bin
* Edite o script openfire e descomente a linha INSTALL4J_ADD_VM_PARAMS como no exemplo abaixo:
#! /bin/sh
# Uncomment the following line to override the JVM search sequence
# INSTALL4J_JAVA_HOME_OVERRIDE=
# Uncomment the following line to add additional VM parameters
# INSTALL4J_ADD_VM_PARAMS=
#———————————————————————
INSTALL4J_ADD_VM_PARAMS=”-Xms512m -Xmx1024m” # o primeiro parâmetro é o mínimo e o segundo é o máximo. Ambos podem ser iguais, se for o caso.
#———————————————————————
* Reinicie o Openfire.
MAS NÃO TIVE SUCESSO!!!!!
Quando vou reiniciar o openfire com essas alterações ele da esse erro:
openfire: line 6: -Xms128m -Xmx512m: command not found
e não funcionou!!!!!! Não consegui aumentar a memória java…continuo com no máximo 63.31mb de memória no openfire.
O QUE FAZER??????????????
Sabes me dizer se o Openfire suporta o cliente da Microsoft WLM MSN9? E como seria essa configuração?
Obrigado!
Como assim Paulo? Você quer saber se consegue conectar ao Openfire com o WLM9 ? Se for isso, acredito que não, para conectar ao WLM9 você tem que usar um cliente com suporte ao protocolo jabber.
Pois é, estou precisando, basicamente, gravar com data/hora e por usuário em um banco central todos os “papos” dos usuários do Cliente “Cliente Windows Live Messenger 9”. Eu sei que ele (WLM 9) tem um SDK que te possibilita fazer o que eu quero, mas nunca me interessei.
Conhecer alguma maneira (mais prática) de gravar todo o “papo” do MSN em um único DB? Msn-proxy não conta rsrsrs.
Eu preciso fornecer como serviço para alguns clientes indicadores de improdutividade no uso da TI, sacou?
Humm, entãotalvez esse programa seja mais adequado a sua necessidade:
http://sourceforge.net/projects/msn-proxy/
Eu não utilizei ele ainda, mas parece que ele faz o que vc quer! Talvez esse artigo te ajude:
http://www.vivaolinux.com.br/dica/Monitorar-o-Messenger-com-o-MSNProxy
Boa sorte 😀
Obrigado mesmo, mas como falei: O MSNProxy não conta, não serve hiauhauia. Sucesso ai!
huUHAhuAHU, por que não conta? Você já testou ele?
Com o Openfire vc vai conseguir, mas vai ter que usar outro programa cliente.
O MS-Proxy vai me fornecer pelo menos duas curvas desagradáveis de aprendizado:
1º- Os usuários reportam muitos problemas com ele. Percebi isso por amostragem. Vou pegar minha “peia” básica na implantação, implementação para resolução de bugs.
2º- A maioria dos meus Routers não suportam IPTables, vou ter que ficar “descobrindo” como fazer em cada modelo diferente o modo de desvio de pacotes (não gostei da idéia) rsrsrs.
A curva que me agradaria aqui seria a de confecção dos relatórios e gráficos para o cliente junto com o Openfire.
# Sabes se o Openfire tem algum plugin para controle ou monitoramento dos navegadores?
# Sei que o WLM 9 tem um SDK pra implementação, mas nunca usei. Porque alguém como você não implementa um “Trasnport” pra ele, para alguém como eu poder resolver minha questão? hauihauiaiuaa
Sucesso ai 😛
É, nunca vai aprender nada em curva, aprendizado se faz em linha reta.
Estudar nunca fez mal a ninguem.
Bom dia Marcelo estou com problemas na hora logar ele da esse erro
Exceção:
java.lang.NoClassDefFoundError: Could not initialize class org.jivesoftware.admin.LoginLimitManager$LoginLimitManagerContainer
at org.jivesoftware.admin.LoginLimitManager.getInstance(LoginLimitManager.java:38)
at org.jivesoftware.openfire.admin.login_jsp._jspService(login_jsp.java:123)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:97)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1093)
at com.opensymphony.module.sitemesh.filter.PageFilter.doFilter(PageFilter.java:39)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.LocaleFilter.doFilter(LocaleFilter.java:66)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.util.SetCharacterEncodingFilter.doFilter(SetCharacterEncodingFilter.java:42)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.PluginFilter.doFilter(PluginFilter.java:70)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.jivesoftware.admin.AuthCheckFilter.doFilter(AuthCheckFilter.java:99)
at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1084)
at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:360)
at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)
at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)
at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)
at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
at org.mortbay.jetty.Server.handle(Server.java:324)
at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)
at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:843)
at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)
at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)
at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)
at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:488)
Parabens pelo tutorial. Eu tinha ele instalado em windows , mas agora estou querendo virtualizar uma maquina para deixar rodando o openfire e creio que a melhor opçao desse caso sera usando linux.
Obrigado.
Pingback: Openfire em Ação nos meios Corporativos « Calusbr's Blog
Olá, tudo bem?
Muito bem elaborado o seu tutorial e eu estou usando-o como base para instalar o Openfire num servidor web onde eu trabalho, mas quando eu executo /etc/init.d/openfire start aparece um erronohup: appending output to `nohup.out’ e eu verifiquei no fórum do desenvolvedor que é um bug que não influencia no funcionamento, porém quando eu abro no navegador o http://ipdoservidor:9090 dá erro de página não encontrada com a mensagem de que o endereço demorou pra responder… isso pode ser firewall bloqueando a porta 9090?
Olá José,
Dê um tail nos arquivos de log do Openfire para ver se lá tem alguma informação mais clara sobre o problema:
tail /var/log/openfire/error.log
tail /var/log/openfire/info.log
tail /var/log/openfire/warn.log
Existe um firewall configurado no computador? Se não tiver então não é bloqueio, é necessário ver os logs para encontrar o possível problema, cnsulte também o syslog, pois pode ser que tenha enviado o erro para lá:
tail /var/log/syslog