Arquivo

Archive for the ‘Openfire’ Category

Atualizar o Openfire automaticamente.

21 de maio de 2014 11 comentários
Openfire

COMO ATUALIZAR O OPENFIRE

 

O Openfire é um servidor de mensagens instatâneas que permite que clientes de um mesmo domínio troquem mensagens entre si de forma organizada e com regras de acesso. O mesmo pode ser integrado com Active Directory e utilizar um banco de dados externo (Oracle, Sql, Mysql) ou mesmo um bancozinho interno embutido chamado HSQLDB (Não recomendo esse banco, melhor usar um banco com mais opções como Oracle, M$ Sql ou Mysql.)

Há alguns dias saiu uma nova atualização para o Openfire, a 3.9.3.

Esta nova versão possui uma série de melhorias, elas podem ser consultadas aqui no changelog.

Vamos lá, primeiro vou descrever meu cenário:

Sistema Operacional: Debian 7.1 64 Bits
Banco de Dados: SQL Server (Windows 2008 R2 Enterprise)
Autenticação: LDAP do Active Directory
Versão do Openfire: 3.9.1
Diretório de Instalação: /opt/openfire

Bom, agora vamos atualizar.

Vale ressalvar que eu estou atualizando do meu jeito pois não vi nada oficial no site do desenvolvedor. Acredito que este tipo de atualização é válida para qualquer tipo de banco de dados e autenticação que você utilize.

Todos os comandos aqui representados são executados como root #!

Vejo que muita gente tem complicação na hora de atualizar o Openfire. Pensando nisso e visando otimizar minhas tarefas aqui na empresa, resolvi automatizar a atualização do openfire. Para isto eu criei um script em bash com os seguintes passos:

1 – Checa as versões do spark local e da versão disponível no site do desenvolvedor.
2 – Compara as versões
3 – Caso as versões sejam diferentes e a versão local do openfire seja menor, o script irá fazer backup do seu openfire e em seguida atualizar o mesmo.

 

Para baixar o script clique aqui. Apenas dê permissão de execução para ele:

chmod +x atualiza_openfire.sh

O script não sai direito aqui no blog não sei qual o motivo, mas você pode visualizar o script na integra aqui neste link:

Lembrando que o script quando acionado gera dois backups um compactado e outro, um diretório com o formato openfire_$versao_$data. Caso queira desfazer a atualização, basta você proceder da seguinte forma:

Mover o diretório que foi atualizado

mv /opt/openfire /opt/openfire_bug_atualizacao

Em seguida, voltar seu openfire comoe stava antes, igualzinho

cp -ar /opt/openfire_$versao_data /opt/openfire

Pronto, agora só reinicialize seu serviço:

/opt/openfire/bin/openfire stop
/opt/openfire/bin/openfire start

 

Segue parte do trecho do script

 

#!/bin/bash
#Obtem Versao do Openfire
#2014
#Autor: Jacques de Beijer - beijer00@gmail.com
#Livre divulgacao, mantenham os creditos


DATA=`/bin/date +%d%m%Y`

#Checa versao local do Openfire
versao=`cat /opt/openfire/bin/openfire | grep '"version ' | awk -F'"version ' '{ print $2 }' | awk -F'"' '{ print $1 }' | sort -u`

#Checa Versao do Openfire no site da Ignite Realtime
wget -q -O /tmp/openfire_checa_versao_novo.txt --no-check-certificate https://igniterealtime.org/projects/openfire/index.jsp
versao_nova=`cat /tmp/openfire_checa_versao_novo.txt | grep '<strong>Openfire' | cut -d'<' -f2 | cut -d' ' -f2` # | sed -e 's/\.//g'`

if [ `echo $versao | sed -e 's/\.//g'` -lt `echo $versao_nova | sed -e 's/\.//g'` ] ; then
echo "Necessario atualizar"
if [ ! -d "/opt/openfire" ]; then
echo "Diretorio do Openfire deafult não existe, impossivel continuar. Verifique seus diretorios!!!"
echo "Encerrando atualização!"
else
echo "Diretorio do Openfire OK! - Continuando instalacao"
echo "Obtendo nova versao do Openfire..."
wget -c --progress=dot -O /tmp/openfire_"`echo $versao_nova | sed -e 's/\./_/g'`".tar.gz http://download.igniterealtime.org/openfire/openfire_`echo $versao_nova | sed -e 's/\./_/g'`.tar.gz
echo "Compactando Diretorio atual - Backup escrito em: /opt/openfire_"$versao"_"$DATA".tar.gz"
tar cfz /opt/openfire_"$versao"_"$DATA".tar.gz /opt/openfire/
echo "Encerrando servico Openfire..."
killall -9 openfire
killall -9 java
echo "Movendo diretorio atual..."
mv /opt/openfire/ /opt/openfire_"$versao"_"$DATA"
echo "Descompactando nova versao e atualizando seu Openfire"
tar zxf /tmp/openfire_`echo $versao_nova | sed -e 's/\./_/g'`.tar.gz -C /opt/
echo "Habilitando suas configuracoes definidas"
cp -arp /opt/openfire_"$versao"_"$DATA"/enterprise /opt/openfire/
cp -arp /opt/openfire_"$versao"_"$DATA"/conf /opt/openfire/
cp -arp /opt/openfire_"$versao"_"$DATA"/plugins /opt/openfire/
cp -arp /opt/openfire_"$versao"_"$DATA"/resources /opt/openfire/
echo "Inicializando seu Openfire..."
/opt/openfire/bin/openfire start
echo "OPENFIRE ATUALIZADO - Aguarde 3 minutos para fazer login em seu cliente Jabber"
fi
else
if [ `echo $versao | sed -e 's/\.//g'` -eq `echo $versao_nova | sed -e 's/\.//g'` ] ; then
echo "Na eh necessario atualizar seu Openfire, ele ja esta na versao mais nova!!!"
else
if [ `echo $versao | sed -e 's/\.//g'` -gt `echo $versao_nova | sed -e 's/\.//g'` ] ; then
echo "A versao do seu Openfire detectada esta acima da versao mais recente disponibilizada pela Ignite Realtime. Verifique seu Sistema!!!"
fi
fi
fi

 

Bom, basicamente desta forma eu consigo manter meu openfire atualizado o tempo todo via crontab, não me preocupo mais com a atualização do mesmo.

 

Qualquer dúvida, entrem em contato.

 

Abraços

Anúncios

Atualizar Openfire 3.9.1

10 de fevereiro de 2014 6 comentários
Openfire

Openfire

Atualizando Openfire para versão 3.9.1.

O Openfire é um servidor de mensagens instatâneas que permite que clientes de um mesmo domínio troquem mensagens entre si de forma organizada e com regras de acesso. O mesmo pode ser integrado com Active Directory e utilizar um banco de dados externo (Oracle, Sql, Mysql) ou mesmo um bancozinho interno embutido chamado HSQLDB (Não recomendo esse banco, melhor usar um banco com mais opções como Oracle, M$ Sql ou Mysql.) (Correção do nome do banco dada por Alex Borges =]])

Neste final de semana saiu uma nova atualização para o Openfire, a 3.9.1 (A última versão estável foi a 3.8.2, disponibilizada em 28 de maio de 2013, faz tempo eim).

Esta nova versão possui uma série de melhorias, elas podem ser consultadas aqui no changelog.

Vamos lá, primeiro vou descrever meu cenário:

Sistema Operacional: Debian 7.1 64 Bits
Banco de Dados: SQL Server (Windows 2008 R2 Enterprise)
Autenticação: LDAP do Active Directory
Versão do Openfire: 3.8.2
Diretório de Instalação: /opt/openfire

Bom, agora vamos atualizar.

Vale ressalvar que eu estou atualizando do meu jeito pois não vi nada oficial no site do desenvolvedor. Acredito que este tipo de atualização é válida para qualquer tipo de banco de dados e autenticação que você utilize.

Todos os comandos aqui representados são executados como root #!

1 – Baixar o Openfire 3.9.1 ;

wget http://download.igniterealtime.org/openfire/openfire_3_9_1.tar.gz

2 – Descompactar o pacote tar gz;

tar zxvf openfire_3_9_1.tar.gz

3 – Parar o Openfire;

/etc/init.d/openfire stop

4 – Fazer backup do diretório de instalação;

mv /opt/openfire /opt/openfire_3.8.2_to_3.9.1_09022014

5 – Mover o diretório que a descompactação gerou para onde está instalado o openfire;

mv -vif openfire /opt/

6 – Copiar alguns arquivos do openfire antigo para não ter que configurar nada;

cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/enterprise /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/conf /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/plugins /opt/openfire/
cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014/resources /opt/openfire/

6 – Iniciar o Openfire!

/etc/init.d/openfire start

7 – Checar se a porta 5222 subiu, ou teste direto na console.

nmap localhost | grep 5222

8 – Entrar na console de admin do Openfire e atualizar seus plugins, sugiro atualizar um plugin de cada vez, parar o Openfire, logar com o Spark e depois de checar se está tudo okay, atualizar o próximo.

Pronto,  seu Openfire está atualizado e operacional! =]]

Caso ele não esteja =[[, siga os passos abaixo para desfazer tudo que você fez e voltar para sua versão 3.8.2 ou qualquer outra versão que seu Openfire se encontra.

1 – Pare o Openfire.

/etc/init.d/openfire stop

2 – Remova o diretório com o Openfire na versão 3.9.1

rm -rf /opt/openfire

3 – Volte o backup de seu Openfire Antigo

cp -arp /opt/openfire_3.8.2_to_3.9.1_09022014 /opt/openfire

4 – Inicie seu Openfire.

/etc/init.d/openfire start

5 – Pronto seu Openfire já está okay.

Openfire é bem simples e quase nunca dá problema. Recomendo o uso do Plugin Content Filter. Este plugin aliado com expressões regulares dão asas ao Openfire.