Installer ejabberd sous Mac OS X depuis le repository Git
Par david le mercredi 30 juin 2010, 11:07 - technique - Lien permanent

Tout est dans le titre, l'idée est de pouvoir installer depuis les sources afin d'avoir un environnement de developpement de modules ejabberd "up and running" :)
Dans les pré-requis il faut évidemment disposer d'erlang et de Git sur sa machine.
A titre personnel j'ai éprouvé des difficultés a compiler Ejabberd avec la version Erlang de macports ainsi qu'avec une version d'Erlang compilé spécialement pour ma machine.
As always la solution la plus simple était en fait la meilleure : j'ai installé Erlang via l'excellent Homebrew, et comme vous allez le voir dans la suite de ce post, cela permet de réaliser une installation simple et efficace d'un environnement de développement autour d'Ejabberd.
Versions utilisées dans ce tutorial :
Erlang : R13B04
Ejabberd : 2.1.4
L'installation suivante permet d'avoir tous les fichiers d'ejabberd rassemblés au même endroit.
Tout d'abord on se place dans le répertoire de son choix et on récupère le projet ejabberd via le repository Git :
git clone git://git.process-one.net/ejabberd/mainline.git
ejabberd
cd ejabberd/
git checkout -b 2.1.x origin/2.1.x
Ensuite direction le repertoire src pour configurer le build :
./configure --prefix=/Users/mulder/developpement/ejabberd/local/
--disable-eldap
et
make
sudo make install
Tout est prêt pour le premier démarrage !
l'utilitaire dans mon exemple est situé dans
/Users/mulder/developpement/ejabberd/local/sbin/
j'ai donc ajouté ce répertoire a mon PATH via mon .profile ensuite c'est simple :
sudo ejabberdctl start
et
sudo ejabberdctl status
pour verifier que tout fonctionne correctement.
Voici ce que ça donne sur mon shell :
mulpro:~ mulder$ sudo ejabberdctl start
mulpro:~ mulder$ sudo ejabberdctl status
The node ejabberd@localhost is starting with status: started
ejabberd 2.1.x is running in that node
Si tout est ok, il est conseiller d'enregistrer notre premier utilisateur aupres du serveur et de lui donner les droits adequats afin qu'il puisse acceder à la console d'administration
Cela se fait en ayant le server démarré et en utilisant :
sudo ejabberdctl register admin localhost admin
Ensuite il faut modifier un peu ejabberd.cfg, le fichier de configuration d'ejabberd (situé dans /Users/mulder/developpement/ejabberd/local/etc/ejabberd sur ma machine).
A l'étape précédente nous avons ajouté un utilisateur, il va falloir lui donner les droits d'admin.
Pour que nos modifications dans le fichier de configuration soient prises en compte a chaque redemarrage (ejabberd cache dans mnesia les infos de configuration) , nous allons commencer par dé-commenter les lignes suivantes :
%%override_global.
%%override_local.
%%override_acls.
en enlevant %%
Enfin nous allons donner les droits d'admin a l'utilisateur admin de cette façon :
{acl, admin, {user, "admin", "localhost"}}.
On redemarre le serveur et logiquement vous devriez pouvoir accèder a la console d'administration d'ejabberd via
http://localhost:5280/admin
et pouvoir vous logguer avec admin@localhost/admin !