Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
jabberd2 [Le 11/03/2010, 17:33] – itoon | jabberd2 [Le 07/01/2013, 12:21] (Version actuelle) – [Installation et Configuration de jabberd2] 217.128.100.214 | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | {{tag> | ||
+ | ---- | ||
+ | ====== Installation et Configuration de jabberd2 ====== | ||
+ | Le but de ce document est de proposer une façon simple et rapide d' | ||
+ | |||
+ | |||
+ | |||
+ | ===== Pré-requis ===== | ||
+ | Pour garder les informations liées aux utilisateurs, | ||
+ | |||
+ | Cette façon de procéder doit marcher pour dapper et edgy (il y a de forte chance que ce soit toujours valable pour feisty). | ||
+ | |||
+ | |||
+ | Pour ajouter un utilisateur au serveur, exécutez la commande suivante en tant que root : | ||
+ | |||
+ | |||
+ | |||
+ | sudo groupadd jabber | ||
+ | sudo useradd -g jabber jabber | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Choisissez ensuite un mot de passe pour ce compte à l'aide de la commande suivante : | ||
+ | |||
+ | |||
+ | sudo passwd jabber | ||
+ | |||
+ | |||
+ | |||
+ | Après avoir changé le mot de passe, nous devons créer un répertoire dans lequel le processus stockera ses journaux et ses pids. Pour ce faire, exécutez les commandes suivantes : | ||
+ | |||
+ | |||
+ | < | ||
+ | sudo mkdir -p / | ||
+ | sudo mkdir -p / | ||
+ | </ | ||
+ | |||
+ | |||
+ | Une fois les répertoires créés, changeons l' | ||
+ | |||
+ | |||
+ | < | ||
+ | sudo chown -R jabber: | ||
+ | sudo chown -R jabber: | ||
+ | </ | ||
+ | |||
+ | < | ||
+ | < | ||
+ | |||
+ | ===== Installation du package jabberd2 ====== | ||
+ | |||
+ | sudo apt-get update | ||
+ | sudo apt-get install jabberd2 | ||
+ | |||
+ | Vous pouvez également utiliser Synaptic. | ||
+ | |||
+ | |||
+ | |||
+ | ===== pour Mysql jabberd2-mysql ====== | ||
+ | |||
+ | sudo apt-get update | ||
+ | sudo apt-get install jabberd2-mysql | ||
+ | |||
+ | |||
+ | via phpmyadmin créer un compte jabber et sa table et entrer le mots de passe équivalent au fichier *xml cité plus bas | ||
+ | < | ||
+ | Sur Precise, le support mysql est inclus dans le paquet jabberd2</ | ||
+ | |||
+ | =====le script pour créer les tables ===== | ||
+ | |||
+ | |||
+ | CREATE DATABASE jabberd2; | ||
+ | USE jabberd2; | ||
+ | | ||
+ | -- | ||
+ | -- c2s authentication/ | ||
+ | -- | ||
+ | CREATE TABLE `authreg` ( | ||
+ | `username` TEXT, KEY `username` (`username`(255)), | ||
+ | `realm` TINYTEXT, KEY `realm` (`realm`(255)), | ||
+ | `password` TINYTEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Session manager tables | ||
+ | -- | ||
+ | | ||
+ | -- | ||
+ | -- Active (seen) users | ||
+ | -- Used by: core | ||
+ | -- | ||
+ | CREATE TABLE `active` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `time` INT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Logout times | ||
+ | -- Used by: mod_iq_last | ||
+ | -- | ||
+ | CREATE TABLE `logout` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `time` INT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Roster items | ||
+ | -- Used by: mod_roster | ||
+ | -- | ||
+ | CREATE TABLE `roster-items` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `jid` TEXT, | ||
+ | `name` TEXT, | ||
+ | `to` TINYINT, | ||
+ | `from` TINYINT, | ||
+ | `ask` INT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Roster groups | ||
+ | -- Used by: mod_roster | ||
+ | -- | ||
+ | CREATE TABLE `roster-groups` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `jid` TEXT, | ||
+ | `group` TEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- vCard (user profile information) | ||
+ | -- Used by: mod_iq_vcard | ||
+ | -- | ||
+ | CREATE TABLE `vcard` ( | ||
+ | `collection-owner` VARCHAR(255) NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `fn` VARCHAR(255), | ||
+ | `nickname` VARCHAR(255), | ||
+ | `url` VARCHAR(255), | ||
+ | `tel` VARCHAR(255), | ||
+ | `email` VARCHAR(255), | ||
+ | `jabberid` VARCHAR(3071), | ||
+ | `mailer` VARCHAR(1023), | ||
+ | `title` VARCHAR(255), | ||
+ | `role` VARCHAR(255), | ||
+ | `bday` VARCHAR(255), | ||
+ | `tz` VARCHAR(7), | ||
+ | `n-family` VARCHAR(255), | ||
+ | `n-given` VARCHAR(255), | ||
+ | `n-middle` VARCHAR(255), | ||
+ | `n-prefix` VARCHAR(255), | ||
+ | `n-suffix` VARCHAR(255), | ||
+ | `adr-street` VARCHAR(255), | ||
+ | `adr-extadd` VARCHAR(255), | ||
+ | `adr-pobox` VARCHAR(15), | ||
+ | `adr-locality` VARCHAR(255), | ||
+ | `adr-region` VARCHAR(255), | ||
+ | `adr-pcode` VARCHAR(31), | ||
+ | `adr-country` VARCHAR(63), | ||
+ | `geo-lat` VARCHAR(255), | ||
+ | `geo-lon` VARCHAR(255), | ||
+ | `org-orgname` VARCHAR(255), | ||
+ | `org-orgunit` VARCHAR(255), | ||
+ | `agent-extval` VARCHAR(255), | ||
+ | `sort-string` VARCHAR(255), | ||
+ | `desc` TEXT, | ||
+ | `note` TEXT, | ||
+ | `uid` VARCHAR(255), | ||
+ | | ||
+ | `photo-type` VARCHAR(127), | ||
+ | `photo-binval` TEXT, | ||
+ | `photo-extval` VARCHAR(255), | ||
+ | | ||
+ | `logo-type` VARCHAR(127), | ||
+ | `logo-binval` TEXT, | ||
+ | `logo-extval` VARCHAR(255), | ||
+ | | ||
+ | `sound-phonetic` VARCHAR(255), | ||
+ | `sound-binval` TEXT, | ||
+ | `sound-extval` VARCHAR(255), | ||
+ | | ||
+ | `key-type` VARCHAR(127), | ||
+ | `key-cred` TEXT, | ||
+ | | ||
+ | `rev` VARCHAR(255) | ||
+ | ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Offline message queue | ||
+ | -- Used by: mod_offline | ||
+ | -- | ||
+ | CREATE TABLE `queue` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `xml` MEDIUMTEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Private XML storage | ||
+ | -- Used by: mod_iq_private | ||
+ | -- | ||
+ | CREATE TABLE `private` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `ns` TEXT, | ||
+ | `xml` MEDIUMTEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Message Of The Day (MOTD) messages (announcements) | ||
+ | -- Used by: mod_announce | ||
+ | -- | ||
+ | CREATE TABLE `motd-message` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `xml` TEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Times of last MOTD message for each user | ||
+ | -- Used by: mod_announce | ||
+ | -- | ||
+ | CREATE TABLE `motd-times` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `time` INT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- User-published discovery items | ||
+ | -- Used by: mod_disco_publish | ||
+ | -- | ||
+ | CREATE TABLE `disco-items` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `jid` TEXT, | ||
+ | `name` TEXT, | ||
+ | `node` TEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Default privacy list | ||
+ | -- Used by: mod_privacy | ||
+ | -- | ||
+ | CREATE TABLE `privacy-default` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `default` text ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Privacy lists | ||
+ | -- Used by: mod_privacy | ||
+ | -- | ||
+ | CREATE TABLE `privacy-items` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `list` TEXT, | ||
+ | `type` TEXT, | ||
+ | `value` TEXT, | ||
+ | `deny` TINYINT, | ||
+ | `order` INT, | ||
+ | `block` INT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Vacation settings | ||
+ | -- Used by: mod_vacation | ||
+ | -- | ||
+ | CREATE TABLE `vacation-settings` ( | ||
+ | `collection-owner` TEXT NOT NULL, KEY(`collection-owner`(255)), | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `start` INT, | ||
+ | `end` INT, | ||
+ | `message` TEXT ) DEFAULT CHARSET=UTF8; | ||
+ | | ||
+ | -- | ||
+ | -- Users statuses | ||
+ | -- Used by: mod_status | ||
+ | -- | ||
+ | CREATE TABLE `status` ( | ||
+ | `collection-owner` TEXT NOT NULL, | ||
+ | `object-sequence` BIGINT NOT NULL AUTO_INCREMENT, | ||
+ | `status` TEXT NOT NULL, | ||
+ | `show` TEXT NOT NULL, | ||
+ | `last-login` INT DEFAULT ' | ||
+ | `last-logout` INT DEFAULT ' | ||
+ | `xml` TEXT); | ||
+ | |||
+ | |||
+ | Le script peut être trouvé dans le fichier db-setup.mysql disponible sous | ||
+ | / | ||
+ | |||
+ | Pour l' | ||
+ | gzip -d / | ||
+ | mysql -u root -p | ||
+ | |||
+ | Une fois connectée à l' | ||
+ | \. db-setup.mysql | ||
+ | |||
+ | Puis : | ||
+ | GRANT select, | ||
+ | to jabberd2@localhost IDENTIFIED by ' | ||
+ | |||
+ | En remplaçant secret par le mot de passe de votre choix | ||
+ | |||
+ | ===== Configuration ===== | ||
+ | |||
+ | |||
+ | ==== Nom du serveur dans sm.xml et c2s.xml ==== | ||
+ | |||
+ | Votre nom de serveur doit être renseigné à la fois dans '' | ||
+ | |||
+ | Editez '' | ||
+ | gksudo gedit / | ||
+ | |||
+ | Renseignez le champ '' | ||
+ | <code xml> | ||
+ | <!-- Session manager configuration --> | ||
+ | <sm> | ||
+ | <!-- Our ID on the network. Users will have this as the domain part of | ||
+ | their JID. If you want your server to be accessible from other | ||
+ | | ||
+ | | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Editez '' | ||
+ | gksudo gedit / | ||
+ | |||
+ | Renseignez le champ '' | ||
+ | <code xml> | ||
+ | <!-- Local network configuration --> | ||
+ | < | ||
+ | <!-- Who we identify ourselves as. This should correspond to the | ||
+ | ID (host) that the session manager thinks it is. You can | ||
+ | | ||
+ | have additional session manager instances on the network to | ||
+ | | ||
+ | or SASL authentication realm for the host. If the attribute is | ||
+ | not specified, the realm will be selected by the SASL | ||
+ | | ||
+ | users are assigned to a realm, not a host, so two hosts in the | ||
+ | same realm will have the same users. | ||
+ | If no realm is specified, it will be set to be the same as the | ||
+ | ID. --> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Comme il est mentionné dans le fichier '' | ||
+ | :!: EVITEZ '' | ||
+ | :!: Pensez à reporter le mot de passe mysql saisi à l' | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ==== Création de la base de données et configuration de jabberd2 ==== | ||
+ | === Postgresql === | ||
+ | |||
+ | Dans un terminal : | ||
+ | sudo su postgres | ||
+ | createuser -SDRP jabberd2 | ||
+ | createdb -O jabberd2 jabberd2 | ||
+ | psql -U jabberd2 -h 127.0.0.1 | ||
+ | |||
+ | Dans la session '' | ||
+ | jabberd2=> | ||
+ | jabberd2=> | ||
+ | (Ne pas faire attention à la première ligne d' | ||
+ | N' | ||
+ | exit | ||
+ | |||
+ | Editez '' | ||
+ | |||
+ | gksudo gedit / | ||
+ | |||
+ | <code xml> | ||
+ | <!-- Storage database configuration --> | ||
+ | < | ||
+ | <!-- By default, we use the MySQL driver for all storage --> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Toujours dans '' | ||
+ | |||
+ | <code xml> | ||
+ | <!-- PostgreSQL driver configuration --> | ||
+ | < | ||
+ | <!-- Database server host and port --> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- Database name --> | ||
+ | < | ||
+ | |||
+ | <!-- Database username and password --> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- Transaction support. If this is commented out, transactions | ||
+ | will be disabled. This might make database accesses faster, | ||
+ | but data may be lost if jabberd crashes. --> | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Vous ne devez changer le champ '' | ||
+ | Si vous n' | ||
+ | |||
+ | Jabberd2 est maintenant configuré pour stocker ses informations dans une base PostgreSQL. | ||
+ | |||
+ | Il reste à configurer l' | ||
+ | |||
+ | Dans '' | ||
+ | |||
+ | gksudo gedit / | ||
+ | |||
+ | <code xml> | ||
+ | <!-- Authentication/ | ||
+ | < | ||
+ | <!-- Backend module to use --> | ||
+ | < | ||
+ | </ | ||
+ | |||
+ | Toujours dans '' | ||
+ | |||
+ | <code xml> | ||
+ | <!-- PostgreSQL module configuration --> | ||
+ | < | ||
+ | <!-- Database server host and port --> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- Database name --> | ||
+ | < | ||
+ | |||
+ | <!-- Database username and password --> | ||
+ | < | ||
+ | < | ||
+ | </ | ||
+ | </ | ||
+ | |||
+ | Vous ne devez changer le champ '' | ||
+ | Si vous n' | ||
+ | |||
+ | Jabberd2 est maintenant configuré. Il ne vous reste plus qu'à tester votre installation. | ||
+ | |||
+ | === Mysql === | ||
+ | <code xml> | ||
+ | <!-- MySQL driver configuration --> | ||
+ | < | ||
+ | <!-- Database server host and port --> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | <!-- Database name --> | ||
+ | < | ||
+ | |||
+ | <!-- Database username and password --> | ||
+ | < | ||
+ | < | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
+ | Vous ne devez changer le champ '' | ||
+ | Si vous n' | ||
+ | |||
+ | Jabberd2 est maintenant configuré. Il ne vous reste plus qu'à tester votre installation. | ||
+ | |||
+ | |||
+ | |||
+ | ===== Tests de l' | ||
+ | |||
+ | Le serveur jabberd2 étant lancé dès l' | ||
+ | |||
+ | sudo / | ||
+ | |||
+ | Ensuite configurez un client jabber ([[pidgin]] par exemple) depuis une machine du réseau local pour vous connecter à votre serveur jabberd2. Si ça ne marche pas, bonne chance ! Allez tout de même jeter un coup d'oeil dans les logs (''/ | ||
+ | |||
+ | Si cette opération réussit et que vous voulez que votre serveur soit accessible depuis internet, recommencez l' |