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 14/02/2007, 13:15] – xav_19 | 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' | ||
