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 est testé sur:
- 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 fi
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 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, je vous propose d'utiliser Backup Manager. Pour l'installer, vous pouvez suivre le guide:
Installer et configurer Backup Manager sur Debian
Une fois Backup Manager installé, configurez la sauvegarde des fichiers de l'application :
command backup-manager-tools 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 l'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.