Commit 4827977b authored by spf's avatar spf

Etherpad postgesql

parent f1daf7ce
...@@ -208,28 +208,25 @@ située en l’état à la ligne 55. ...@@ -208,28 +208,25 @@ située en l’état à la ligne 55.
Par défaut, c’est [node-dirty][15], une base embarquée extrêmement Par défaut, c’est [node-dirty][15], une base embarquée extrêmement
simple qui est employée. Etherpad enregistre toutes les actions en base simple qui est employée. Etherpad enregistre toutes les actions en base
et cela peut rapidement représenter beaucoup de données. et cela peut rapidement représenter beaucoup de données.
Chez Framasoft, après avoir employé MySQL, nous sommes passés à [MongoDB][16], Chez Framasoft, après avoir employé MySQL, puis à MongoDB, pour finalement utiliser [PostgreSQL](https://www.postgresql.org/)
qui offre de bons résultats pour cet usage. qui offre de bons résultats pour cet usage.
Nous faisons donc le choix d’installer MongoDb et profitons d’avoir Nous faisons donc le choix d’installer postgres et profitons d’avoir
activé les backports pour obtenir une version plus récente que celle activé les backports pour obtenir une version plus récente que celle
disponible sous Debian Stable par défaut : disponible sous Debian Stable par défaut :
apt-get install -t wheezy-backports mongodb apt-get install -t wheezy-backports postgresql postgresql-client
Cette commande a pour effet d’installer `mongodb`, d’effectuer un Ensuite, créons un utilisateur et une base de données :
premier paramétrage dont la création d’un utilisateur dédié et le
démarrage automatique du moteur de base de données.
Le fichier de configuration de MongoDB se situe dans `/etc/mongodb.conf`.
Pour un usage dédié à Etherpad, la configuration par défaut nous convient.
Le moteur ne fonctionne que localement et n’est de ce fait pas accessible ```
depuis l’extérieur. Nous allons ensuite avoir besoin d’installer le module `mongodb` pour NodeJS. CREATE USER mon-utilisateur WITH password 'MotDePasse';
Nous utilisons NPM pour cela avec la commande : CREATE DATABASE etherpad WITH OWNER mon-utilisateur;
```
cd /home/etherpad/etherpad-lite/ Le fichier de configuration de PostgreSQL se situe dans `/etc/postgresql/NUMERO-DE-VERSION/postgresql.conf`.
su -c 'npm install mongodb' etherpad Pour un usage dédié à Etherpad, la configuration par défaut nous convient.
Nous devons maintenant répercuter l’usage de MongoDb dans la Nous devons maintenant répercuter l’usage de PostgreSQL dans la
configuration d’Etherpad. configuration d’Etherpad.
Modifions le fichier `/home/etherpad/etherpad-lite/settings.json` et remplaçons : Modifions le fichier `/home/etherpad/etherpad-lite/settings.json` et remplaçons :
...@@ -250,15 +247,16 @@ Par : ...@@ -250,15 +247,16 @@ Par :
//"dbSettings" : { //"dbSettings" : {
// "filename" : "var/dirty.db" // "filename" : "var/dirty.db"
// }, // },
"dbType" : "mongodb", "dbType" : "postgrespool",
"dbSettings" : { "dbSettings" : {
"host" : "localhost", "host" : "localhost",
"port" : 27017, "port" : 5432,
"dbname" : "etherpad" "password": "PASSWORD",
"database" : "etherpad"
}, },
Nous avons remplacé `dirty` par `mongodb` et avons fourni les paramètres Nous avons remplacé `dirty` par `postgrespool` et avons fourni les paramètres
par défaut (excepté le nom de la base de données pour lequel nous avons choisi `etherpad`). par défaut (excepté le nom de la base de données pour lequel nous avons choisi `etherpad` et le mot de passe).
### Lancer Etherpad ### Lancer Etherpad
...@@ -269,7 +267,7 @@ Nous pouvons maintenant lancer Etherpad par la commande : ...@@ -269,7 +267,7 @@ Nous pouvons maintenant lancer Etherpad par la commande :
Elle a pour effet d’utiliser le script fourni prévu à cet effet, et Elle a pour effet d’utiliser le script fourni prévu à cet effet, et
l’application sera lancée par l’utilisateur `etherpad`. l’application sera lancée par l’utilisateur `etherpad`.
À partir de ce moment, une instance d’Etherpad fonctionne sur votre À partir de ce moment, une instance d’Etherpad fonctionne sur votre
machine et utilise la base MongoDb configurée. machine et utilise la base PostgreSQL configurée.
Etherpad est accessible de l’extérieur et écoute par défaut sur le port 9001. Etherpad est accessible de l’extérieur et écoute par défaut sur le port 9001.
Nous pourrions modifier le fichier `settings.json` pour changer ce comportement. Nous pourrions modifier le fichier `settings.json` pour changer ce comportement.
...@@ -334,7 +332,7 @@ profiter pleinement du temps réel offert par Etherpad : ...@@ -334,7 +332,7 @@ profiter pleinement du temps réel offert par Etherpad :
apt-get install -t wheezy-backports nginx apt-get install -t wheezy-backports nginx
Comme pour MongoDB, Nginx sera pré-configuré et lancé par défaut au Comme pour PostgreSQL, Nginx sera pré-configuré et lancé par défaut au
démarrage de Debian dès l’installation. Modifions la configuration démarrage de Debian dès l’installation. Modifions la configuration
d’Etherpad de manière à ce que celui-ci ne soit plus accessible directement. d’Etherpad de manière à ce que celui-ci ne soit plus accessible directement.
...@@ -402,15 +400,15 @@ Pour plus d’informations et d’autres exemples, nous nous référerons au ...@@ -402,15 +400,15 @@ Pour plus d’informations et d’autres exemples, nous nous référerons au
### Autres moteurs de base de données ### Autres moteurs de base de données
Etherpad supporte d’autres moteurs de base de données que MongoDb, via Etherpad supporte d’autres moteurs de base de données que postgres, via
[ueberDB][21]. [ueberDB][21].
Il s’agit d’une bibliothèque NodeJS spécialement développée pour Etherpad Il s’agit d’une bibliothèque NodeJS spécialement développée pour Etherpad
et qui transforme des moteurs classiques en bases clés-valeurs. et qui transforme des moteurs classiques en bases clés-valeurs.
Parmi les solutions supportées, l’une des plus communes est MySQL. Parmi les solutions supportées, l’une des plus communes est MySQL.
Si nous avions souhaité employer MySQL plutôt que MongoDb, Si nous avions souhaité employer MySQL plutôt que PostgreSQL,
la configuration serait restée relativement simple. la configuration serait restée relativement simple.
Dans `settings.json`, au lieu de saisir la section dédiée à `mongodb`, Dans `settings.json`, au lieu de modifier la section `dbType` et la section `dbSettings`,
nous aurions pu nous servir de l’exemple fourni par défaut, nous aurions pu nous servir de l’exemple fourni par défaut,
nous permettant de définir l’utilisateur, l’hôte, le mot de passe et nous permettant de définir l’utilisateur, l’hôte, le mot de passe et
de choisir la base de données qui sera utilisée : de choisir la base de données qui sera utilisée :
...@@ -472,7 +470,6 @@ Sur les instances de pads à durée limitée il y a en plus ...@@ -472,7 +470,6 @@ Sur les instances de pads à durée limitée il y a en plus
[11]: https://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=npm [11]: https://packages.debian.org/search?suite=all&section=all&arch=any&searchon=names&keywords=npm
[12]: https://github.com/npm/npm#fancy-install-unix [12]: https://github.com/npm/npm#fancy-install-unix
[15]: https://github.com/felixge/node-dirty [15]: https://github.com/felixge/node-dirty
[16]: https://www.mongodb.org/
[19]: http://nginx.org/ [19]: http://nginx.org/
[20]: https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy [20]: https://github.com/ether/etherpad-lite/wiki/How-to-put-Etherpad-Lite-behind-a-reverse-Proxy
[21]: https://github.com/Pita/ueberDB [21]: https://github.com/Pita/ueberDB
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment