Installer OpenFire sur Debian
OpenFire est un serveur XMPP (cad. Jabber) écrit en Java. Il a l'avantage d'être particulièrement simple à mettre en place et à administrer. Son inconvénient majeur : il ne peut gérer qu'un seul domaine par instance (pas de support des hôtes virtuels). Cet article vous aide à configurer OpenFire sur Debian GNU/Linux.
Ce guide a été testé sur les distributions suivantes :
- Debian 4.0 Etch
- Debian 5.0 Lenny
- Debian 6.0 Squeeze
Pré-requis
Ce guide nécessite un serveur MySQL disposant du script mysql-tools disponible dans le guide Installer et configurer MySQL sur Debian.
Paramètres
Renseignez le nom de domaine ou sera disponible l'application :
DOMAIN="jabberd.domaine-exemple.fr"
Renseignez le nom d'hôte de votre serveur MySQL (si vous ne savez pas de quoi il s'agit, ne modifiez pas cette valeur) :
MYSQL_HOST="localhost"
Si votre serveur MySQL n'est pas local, ce guide effectuera une connexion SSH pour y créer la base de données.
Installation
Installez la machine virtuelle Java de Sun :
if [ -n "$(command apt-cache search sun-java6-jdk \ | command grep sun-java6-jdk)" ]; then command apt-get install sun-java6-jdk command update-java-alternatives --set java-6-sun else command apt-get install sun-java5-jdk command update-java-alternatives --set java-1.5.0-sun fiRécupérez l'URL de la dernière version d'Openfire :
SOURCE_URL="$(command wget --quiet --output-document=- \ 'http://www.igniterealtime.org/downloads/index.jsp' \ | command grep 'openfire_.*_all.deb' \ | command sed 's|^.*href=".*file=\([^"]*\)".*$|http://www.igniterealtime.org/downloadServlet?filename=\1|g')"
Téléchargez le paquet Debian de OpenFire :
command wget "${SOURCE_URL}" --output-document='/tmp/openfire.deb'
Installez OpenFire:
command dpkg -i '/tmp/openfire.deb'
Démarrez OpenFire si nécessaire:
/etc/init.d/openfire start
Mise en place de la base de données MySQL
Créez la base de données :
if [ "${MYSQL_HOST}" = "localhost" ]; then MYSQL_PARAMS=$(command mysql-tools create-domain-db "${DOMAIN}") else command echo "Saisissez le mot de passe de l'utilisateur root MySQL :" command read PASSWORD MYSQL_PARAMS=$(command ssh "root@${MYSQL_HOST}" "command mysql-tools create-domain-db '${DOMAIN}' '$(command cat /etc/mailname)' '${PASSWORD}'") fi
Récupérez les paramètres de la nouvelle base de données. Notez précieusement les paramètres d'identification pour utilisation ultérieure :
MYSQL_DB="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_DB" \ | cut --delimiter="=" --fields="2-")" MYSQL_USER="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_USER" \ | cut --delimiter="=" --fields="2-")" MYSQL_PASSWORD="$(echo "${MYSQL_PARAMS}" | command grep -e "^MYSQL_PASSWORD" \ | cut --delimiter="=" --fields="2-")" echo "${MYSQL_PARAMS}"
Calculez l'adresse de la base de données MySQL pour utilisation lors de la configuration d'Openfire :
echo "\$jdbc:mysql://${MYSQL_HOST}:3306/${MYSQL_DB}"
Configuration
Connectez vous en HTTP à votre serveur sur le port 9090. Vous pouvez obtenir l'URL de connexion à l'aide de la commande :
echo "http://${DOMAIN}:9090"
Procédez à la configuration du serveur
Remarque : La même URL vous permet d'accéder à votre interface d'administration.
Paramètres du serveur
- Domaine : Saisissez le domaine Jabber que vous comptez associer à votre serveur. Vos utilisateurs Jabber seront de la forme name@domaine.
Sauvegardes
Pour sauvegarder votre installation OpenFire, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre mon guide:
Installer et configurer Backup Manager sur Debian 4.0 Etch
Une fois Backup Manager installé, vous pouvez configurer la sauvegarde des fichiers de Openfire avec les commandes suivantes:
command update-bm-folders add /var/lib/openfire
Important: Sauvegarder les fichiers ne suffit pas ! Il faut aussi sauvegarder la base de données. La procédure pour ce faire est disponible dans mon article MySQL sur Debian.
Mise à jour
Récupérez l'URL de la dernière version d'Openfire :SOURCE_URL="$(command wget --quiet --output-document=- \ 'http://www.igniterealtime.org/downloads/index.jsp' \ | command grep 'openfire_.*_all.deb' \ | command sed 's|^.*href=".*file=\([^"]*\)".*$|http://www.igniterealtime.org/downloadServlet?filename=\1|g')"
Téléchargez le paquet Debian de OpenFire :
command wget "${SOURCE_URL}" --output-document='/tmp/openfire.deb'Installez la nouvelle version d'OpenFire:
command dpkg -i '/tmp/openfire.deb'
Redémarrez OpenFire:
/etc/init.d/openfire restart
Remerciements
- Merci aux développeurs d'OpenFire
- Merci à Thom pour son post DNS SRV records for SIP and XMPP.
Configuration de MySQL
y'a rien à faire à par réfléchir un petit peu. Lorsque tu arrive sur la configuration de la base de donnée dans l'interface d'admin de OpenFire, il faut pas cliquer sur suivant immédiatement, mais rentrer les informations de connection correctes au serveur de base de données.
Si tu t'inspire correctement de l'exemple donné, ca devrait marcher sans problème.
mais comment
Configuraton de MySQL
En fait, en cherchant bien, si tu suis le blog suivant:
http://jangestre.wordpress.com/2007/06/26/install-openfire-on-centos-5/
Tu créées un compte dans mysql avant ensuite dans l'interface il faut mettre:
odbc.msql:localhost:3306/[ta base de données]
Et ca roule
mysql java
Avez-vous un howto , sur l'explication de l'installation de java pour mysql , car ce la fonctionne pas ...
MM