EtherPad est un éditeur de texte collaboratif en temps réel. Il permet par défaut à un maximum de seize personnes de partager un texte en cours d’élaboration. Les contributions de chacun apparaissent immédiatement sur l’écran de tous les participants et sont signalées par des couleurs différentes. Une fenêtre de messagerie instantanée est également disponible. Le système ne requiert aucune installation, ni aucune inscription, il suffit d’avoir une connexion internet et un navigateur web.
Pour installer Etherpad Lite sur un serveur debian squeeze :
Assurez-vous que les dépendances suivantes soient installées
Créez un utilisateur etherpad et donnez-lui les droits sur les fichiers
adduser etherpad
chown -R etherpad:etherpad etherpad-lite/
Rendez-vous dans le répertoire d’Etherpad
cd etherpad-lite
Configurez Etherpad
nano settings.json
/*
This file must be valid JSON. But comments are allowed
Please edit settings.json, not settings.json.template
*/
{
// Name your instance!
"title": "WOoOPads",
// favicon default name
// alternatively, set up a fully specified Url to your own favicon
"favicon": "https://www.woinux.fr/favicon.png",
//IP and port which etherpad should bind at
"ip": "0.0.0.0",
"port" : 9001,
// Session Key, used for reconnecting user sessions
// Set this to a secure string at least 10 characters long. Do not share this value.
"sessionKey" : "",
/*
// Node native SSL support
// this is disabled by default
//
// make sure to have the minimum and correct file access permissions set
// so that the Etherpad server can access them
"ssl" : {
"key" : "/path-to-your/epl-server.key",
"cert" : "/path-to-your/epl-server.crt"
},
*/
/*
// Commentez l'utilisation de la base Dirty
//The Type of the database. You can choose between dirty, postgres, sqlite and mysql
//You shouldn't use "dirty" for for anything else than testing or development
"dbType" : "dirty",
//the database specific settings
"dbSettings" : {
"filename" : "var/dirty.db"
},
*/
// Dé-commentez l'utilisation de la base MySQL et indiquez les identifiants de votre base de données
"dbType" : "mysql",
"dbSettings" : {
"user" : "etherpad",
"host" : "localhost",
"password": "Fa3dPzG5ASseVMRH",
"database": "etherpad"
},
//the default text of a pad
"defaultPadText" : "Welcome to Etherpad!\n\nThis pad text is synchronized as you type, so that everyone viewing this page sees the same text. This allows yo$
/* Users must have a session to access pads. This effectively allows only group pads to be accessed. */
"requireSession" : false,
/* Users may edit pads but not create new ones. Pad creation is only via the API. This applies both to group pads and regular pads. */
"editOnly" : false,
/* Users, who have a valid session, automatically get granted access to password protected pads */
"sessionNoPassword" : false,
/* if true, all css & js will be minified before sending to the client. This will improve the loading performance massivly,
but makes it impossible to debug the javascript/css */
"minify" : true,
/* How long may clients use served javascript code (in seconds)? Without versioning this
may cause problems during deployment. Set to 0 to disable caching */
"maxAge" : 21600, // 60 * 60 * 6 = 6 hours
/* This is the path to the Abiword executable. Setting it to null, disables abiword.
Abiword is needed to advanced import/export features of pads*/
"abiword" : null,
/* Allow import of file types other than the supported types: txt, doc, docx, rtf, odt, html & htm */
"allowUnknownFileEnds" : true,
/* This setting is used if you require authentication of all users.
Note: /admin always requires authentication. */
"requireAuthentication" : false,
/* Require authorization by a module, or a user with is_admin set, see below. */
"requireAuthorization" : false,
/*when you use NginX or another proxy/ load-balancer set this to true*/
"trustProxy" : false,
/* Privacy: disable IP logging */
"disableIPlogging" : false,
/* Users for basic authentication. is_admin = true gives access to /admin.
If you do not uncomment this, /admin will not be available! */
"users": {
"admin": {
"password": "changeme1",
"is_admin": true
},
"user": {
"password": "changeme1",
"is_admin": false
}
},
// restrict socket.io transport methods
"socketTransportProtocols" : ["xhr-polling", "jsonp-polling", "htmlfile"],
/* The toolbar buttons configuration.
"toolbar": {
"left": [
["bold", "italic", "underline", "strikethrough"],
["orderedlist", "unorderedlist", "indent", "outdent"],
["undo", "redo"],
["clearauthorship"]
],
"right": [
["importexport", "timeslider", "savedrevision"],
["settings", "embed"],
["showusers"]
],
"timeslider": [
["timeslider_export", "timeslider_returnToPad"]
]
},
*/
/* The log level we are using, can be: DEBUG, INFO, WARN, ERROR */
"loglevel": "INFO",
//Logging configuration. See log4js documentation for further information
// https://github.com/nomiddlename/log4js-node
// You can add as many appenders as you want here:
"logconfig" :
{ "appenders": [
{ "type": "console"
//, "category": "access"// only logs pad access
}
/*
, { "type": "file"
, "filename": "your-log-file-here.log"
, "maxLogSize": 1024
, "backups": 3 // how many log files there're gonna be at max
//, "category": "test" // only log a specific category
}*/
/*
, { "type": "logLevelFilter"
, "level": "warn" // filters out all log messages that have a lower level than "error"
, "appender":
{ Use whatever appender you want here }
}*/
/*
, { "type": "logLevelFilter"
, "level": "error" // filters out all log messages that have a lower level than "error"
, "appender":
{ "type": "smtp"
, "subject": "An error occured in your EPL instance!"
, "recipients": "[email protected], [email protected]"
, "sendInterval": 60*5 // in secs -- will buffer log messages; set to 0 to send a mail for every message
, "transport": "SMTP", "SMTP": { // see https://github.com/andris9/Nodemailer#possible-transport-methods
"host": "smtp.example.com", "port": 465,
"secureConnection": true,
"auth": {
"user": "[email protected]",
"pass": "bar_foo"
}
}
}
}*/
]
}
}
Lancer Etherpad en tâche de fond grâce à Screen
Screen est un « multiplexeur de terminaux » permettant d’ouvrir plusieurs terminaux dans une même console, de passer de l’un à l’autre et de les récupérer plus tard. Idéal dans notre cas car Etherpad ne se lance pas en tâche de fond et comme on n’a pas l’intention de laisser notre terminal ouvert en permanence…
Commencez par installer screen (si ce n’est pas déjà fait)
apt-get install screen
Créez la session Screen pour Etherpad
screen -S etherpad
Connectez-vous en tant qu’utilisateur etherpad (créé un peu plus haut)
su etherpad
Rendez-vous dans le répertoire où est installé Etherpad
cd /var/www/etherpad-lite/
Lancez Etherpad
bin/run.sh
Détachez la session Screen
CTRL + A + D
Pour rattacher la session Screen ou bien la stopper je vous recommande de lire la page Screen sur la documentation Ubuntu :
Si tout s’est bien passé, vous pourrez accéder à votre Etherpad en entrant l’adresse de votre serveur suivi du port par défaut utilisé par Etherpad
http://adresse-de-votre-serveur:9001
Obtenir la clé API (API KEY) de votre Etherpad :
Pour coupler Etherpad avec d’autres logiciels (comme OpenERP 7 par exemple) vous aurez besoin d’indiquer la clé APi (API KEY). Celle-ci se trouve à la racine de votre installation d’Etherpad dans un fichier nommé APIKEY.txt :
/var/www/etherpad-lite/APIKEY.txt
À propos de ce site
Passionné par les technologies du web ainsi que par Linux et les logiciels libres, j'ai créé ce site afin de partager mes découvertes et aussi pour me servir d'aide mémoire...
Je ne suis pas un blogueur professionnel donc ne vous attendez pas à me voir poster des dizaines d'articles chaque jour. N'hésitez pas à me suivre sur les réseaux sociaux ou à vous abonner au flux RSS pour être au courant dès que je poste un article sur ce site.