=====Installation de Jappix version 0.2=====
Jappix est un client XMPP libre, il peut remplacer des clients jabber comme Empathy, Pidgin, Gaijm.... Jappix. C’est un tout nouveau client Jabber qui a ceci de particulier qu’il fonctionne depuis une interface web. Bien pratique pour se connecter à Jabber depuis une machine sur laquelle il n’y a pas de client Jabber installé (au boulot, par exemple).
=====Fonctionnalités=====
Jappix propose, entre autres, les fonctionnalités suivantes :
***Boîte de réception**
messagerie permettant la lecture, la composition et l'archivage de messages simples XMPP
***vCard**
édition de son profil utilisateur (informations, avatar)
***PEP**
publication et réception d'évènements personnels, tels que l'humeur, l'activité, la musique écoutée et la position géographique
***Private**
gestion des salons de discussion favoris et recherche
***Directory**
recherche d'utilisateurs dans un annuaire
***MUC**
gestion, en plus des chats privés, des salons de discussion (avec un mode anonyme)
===== Installation =====
On commence par télécharger jappix à l'adresse suivante : [[http://project.jappix.com/]]
Il est capable de fonctionner avec divers serveurs web : **lighttpd**, **apache**...
Notre installation se portera sur apache. Documentation officielle : [[http://codingteam.net/project/jappix/doc]]
***Décompression et copie dans le répertoire**
Créons ce dossier :
mkdir -p /var/www/jappix
Changeons le propriétaire
chown -R www-data:www-data /var/www/jappix
On copie les fichiers de l'archive dans /var/www/jappix.
===== Apache et PHP =====
* Installation apache2 et php
apt-get install apache2 php5 php5-gd libapache2-mod-php5
* Modules apache rewrite et proxy
a2enmod rewrite proxy proxy_http
===== Configuration Apache =====
* Création du vhost
Fichier : // /etc/apache2/sites-available/jappix.mdl29.net //
Bien mettre AllowOverride sur All
ServerName jappix.mdl29.net
DocumentRoot /var/www/jappix/
ErrorLog syslog:local1
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
# LogLevel warn
CustomLog |/usr/local/bin/apache_log.pl combined
Options Indexes FollowSymLinks MultiViews
AllowOverride all
Order allow,deny
allow from all
Et voilà, le tour est joué!
il ne reste qu'à activer notre Vhost :
a2ensite jappix.mdl29.net
/etc/init.d/apache2 reload
* AccessFileName
Fichier : // /etc/apache2/apache2.conf //
on vérifie dans le fichier que la ligne suivante est bien décommentée :
AccessFileName .htaccess
Voilà pour la configuration d'apache c'est fini, on relance le serveur
/etc/init.d/apache2 restart
===== Configuration de Jappix =====
Une fois notre serveur apache correctement configuré, nous allons modifier 2 fichiers de configuration afin que notre serveur puisse communiquer avec jappix.
Nos 2 fichiers se trouvent dans le dossier jappix/conf : // hosts.php // et //main.php.php//. Documentation officielle : [[http://codingteam.net/project/jappix/doc]]
* Le fichier hosts.php
// THE STATIC FILES HOST
define('HOST_STATIC', '.'); (same server: . or external one like http://static.jappix.com
// THE MAIN XMPP HOST (your XMPP server host, like jappix.com)
define('HOST_MAIN', 'mdl29.net');
// THE MUC XMPP HOST (your MUC server host, like muc.jappix.com)
define('HOST_MUC', 'conference.mdl29.net');
// THE ANONYMOUS XMPP HOST (enable it on your server and in main.php before)
define('HOST_ANONYMOUS', 'anonymous.mdl29.net');
* Le fichier main.php
// SERVICE NAME
define('SERVICE_NAME', 'Jappix');
// SERVICE DESCRIPTION
define('SERVICE_DESC', ' messagerie maison du libre');
// JAPPIX RESOURCE
define('JAPPIX_RESOURCE', 'mdl29');
// BINDING HTTP-BASE (generally : bosh/http-bind/bind)
define('HTTP_BASE', 'bind');
// SECURED HTTP CONNECTIONS WITH SSL (on/off)
define('SSL', 'off');
// LOCK TO THE DEFINED HOST (on/off)
define('LOCK_HOST', 'off');
// ALL PAGES COMPRESSED WITH GZIP (on/off)
define('GZIP', 'on');
// ANONYMOUS MUC CONNECTIONS ALLOWED (on/off)
define('ANONYMOUS_ENABLED', 'off');
// DISABLE THE CACHING WITH THE DEVELOPER MODE (on/off)
define('DEVELOPER_MODE', 'off');
*Intéressons-nous à la ligne define('JAPPIX_RESOURCE', 'mdl29');
Petite explication sur **RESOURCE** :
**La ressource est une partie optionnelle d’une adresse Jabber**.
C’est le dernier champ de celle-ci, séparé des autres par une barre oblique (« / »).
Une ressource, librement paramétrable par l’utilisateur dans son logiciel client, indique généralement l’endroit où un utilisateur de Jabber est situé. Par exemple, les valeurs Maison, Travail, Laptop ou bien Logiciel sont courantes. La ressource devient utile lorsqu’un utilisateur se connecte de plusieurs endroits ou avec plusieurs clients au même moment. Ses contacts ont alors le choix de lui envoyer un message à l’une ou l’autre de ses ressources, ou bien à celle par défaut, c’est-à-dire celle ayant la plus haute priorité. Si plusieurs ressources connectées au même moment ont des priorités égales, alors le message est adressé à la dernière ressource connectée. (source wikipedia)
===== Jappix et notre serveur ejabberd =====
Le but est de faire fonctionner notre serveur jabbber avec jappix pour cela on a besoin de modifier notre fichier de configuration. Documentation officielle : [[http://codingteam.net/project/jappix/doc/XmppServer]]
* Modification du fichier de configuration
Fichier : // /etc/ejabberd/ejabberd.cfg //
On recherche le module **mod_pubsub** dans le fichier et on le remplace par :
{mod_pubsub, [ % requires mod_caps
{access_createnode, pubsub_createnode},
{ignore_pep_from_offline, false},
{last_item_cache, false},
{max_items_node, 10000},
{plugins, ["flat", "pep"]}]},
On redémarre notre serveur jabber :
/etc/init.d/ejabberd restart
===== Testons notre client web jabber =====
Maintenant que nos serveurs apache et jabber sont bien configurés, nous avons accès à notre client web : [[http://jappix.mdl29.net/]]
Après avoir cliquer sur **Je me connecte**, on renseigne les champs avec nos identifiants jabber. Il est possible d'utiliser ce service avec un téléphone mobile.
{{:braveo:jappix.png|}}