=====Installer Etherpad sous Ubuntu jaunty=====
##Note: installation ci-dessous est réalisée sur un vserver.##
[[EtherpadUbuntuDeb Installation avec source deb]] ~~<- des notes de tests~~
Les sources: http://code.google.com/p/etherpad/
Suivre ces étapes: https://wiki.ubuntu.com/Etherpad
Autres références:
http://ielashi.com/?p=96
https://wiki.ubuntu.com/Etherpad
ttp://code.google.com/p/etherpad/wiki/Instructions
http://pauleira.com/13/installing-etherpad/
http://michaelwenzl.de/dw/it:etherpad
http://groups.google.com/group/etherpad-open-source-discuss
http://karteek.selfdabba.com/post/301488675/etherpad-opensourced
http://matthew.mceachen.us/blog/howto-install-etherpad-on-ubuntu-9-10-811.html
http://www.jordanhollinger.com/2010/02/13/deploying-your-own-etherpad-on-ubuntu
http://www.webdevonlinux.fr/2010/03/installer-etherpad-sur-votre-serveur/
http://matthew.mceachen.us/blog/howto-install-etherpad-on-ubuntu-9-10-811.html
Fork:
http://github.com/karteek/etherpad
http://sourceforge.net/projects/openseapad/
Site utilisant Etherpad:
-http://piratepad.net/
Voir pour export: un patch: http://karteek.selfdabba.com/post/301488675/etherpad-opensourced
===Pour la compilation des jar===
Attention au /etc/hosts, il doit contenir une ligne comme celle-ci:
127.0.0.1 localhost
la commande hostname doit donner le bon nom de machine: etherpad.recit.org
le répertoire /tmp du vserver doit avoir plus de 16Mo d'espace, on change alors le fichier /etc/vservers/nomvserver/fstab pour ajouter des Mo dans le fichier. ON redémarre le vserver.
===Après la compilation===
Proxypass (retirer le port 9000): pour que le apache entête travaille bien pour ne pas avoir port à mettre le fichier .conf ressemble à ceci:
%%
ServerName epad.recit.org
ServerAlias *.epad.recit.org
ServerAdmin pierres@recitmst.qc.ca
ServerSignature Off
ProxyPass / http://192.168.1.198:9000/
ProxyPassReverse / http://192.168.1.198:9000/
ProxyRequests Off
ProxyPreserveHost on
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
Allow from all
# Possible values include: debug, info, notice, warn, error, crit,
# alert, emerg.
#LogLevel error
%%
Le fichier de config de etherpad ressemble à ceci (/etc/etherpad.localdev-default.properties)
%%
ajstdlibHome = ../infrastructure/framework-src/modules
appjetHome = ./data/appjet
devMode = false
etherpad.adminPass = unbonmotdepasse
etherpad.fakeProduction = false
etherpad.isProduction = true
etherpad.SQL_JDBC_DRIVER = com.mysql.jdbc.Driver
etherpad.SQL_JDBC_URL = jdbc:mysql://localhost:3306/etherpad
etherpad.SQL_PASSWORD = motpassemysql
etherpad.SQL_USERNAME = utilisateurmysql
listen = 9000
logDir = ./data/logs
modulePath = ./src
transportPrefix = /comet
transportUseWildcardSubdomains = true
useVirtualFileRoot = ./src
%%
Ajouter dans /etc/init.d/rc.local du vserver les lignes suivantes pour que etherpad démarre avec le vserver (le répertoire de etherpad se trouve dans /home/epad):
cd /home/epad/etherpad/trunk/etherpad/
sh bin/run-local.sh &
----
====Compte Pro====
http://groups.google.com/group/etherpad-open-source-discuss/browse_thread/thread/aad77dd4c875402d/602656f3ad8b76e9?#602656f3ad8b76e9
Des modifications pour faire fonctionner la version pro
%%
> function getRequestSuperdomain() {
> var parts = request.domain.split('.');
> parts.reverse();
> if (parts[0] == ".") {
> parts.shift();
> }
> return [parts[2],parts[1], parts[0]].join('.');
%%
http://groups.google.com/group/etherpad-open-source-discuss/browse_thread/thread/3d9f264921533285
%%
renderFramed('pro/pro_home.ejs', {
isEvaluation: licensing.isEvaluation(),
// evalExpDate: licensing.getLicense().expiresDate,
account: getSessionProAccount(),
isPNE: pne_utils.isPNE(),
pneVersion: pne_utils.getVersionString(),
livePads: livePads,
recentPads: recentPads,
renderRecentPads: renderRecentPads,
renderLivePads: renderLivePads,
orgName: r.orgName
});
dans src/etherpad/control/pro_signup_control.js
+ response.redirect('http://'+subdomain+'.epad.recit.org/ep/finish-activation');
+ // response.redirect('http://'+subdomain+"."+request.host+'/ep/finish-activation'); enleve par pl, cause prob pour la partie pro
%%
----{{indiquer ici="sources"}}
====Sources modifiées====
##Après avoir une installation fonctionnelle, on peut traduire en utilisant le répertoire /src ci-dessous. Attention, il y a des endroits où j'ai dû entrer l'adresse de mon installation à la dure (epad.recit.org). À modifier donc pour votre installation.##
Commande pour la création d'un patch (appliquer mes changements sur un répertoire src original):
diff -burN src src_0.1 >src_patch.diff
patch -p 1 < src_patch.diff (placer le .diff dnas le répertoire src à patcher)
Voici le fichier .diff du répertoire src contenant l'interface à traduire:
{{attacher fichier="src_0.35.diff" description="Diff 0.35 (16 avril 2010)" }}
Voici le répertoire src que j'utilise, il contient les images traduites, les fichiers traduits pour l'interface. J'ai copié la licence dans ce répertoire, j'y ai mis le .diff de mes modifications afin de respecter la licence apache.
{{attacher fichier="src_0.35.zip" description="src 0.35 (16 avril 2010)" }}
Les fichiers de configuration où epad.recit.org est inscrit à la dure (depuis /etherpad/trunk/etherpad/src/):
-mains.js
-etherpad/global.js
-static/crossdomain.xml
-etherpad/control/pro_signup_control.js
-etherpad/pro/pro_utils.js
----
====Fondation Etherpad.org====
Les sources de Google ont été modifiées par ce groupe. Voici ce que j'ai pris de ces sources.
===Ajout de couleurs===
Pour avoir plus de choix de couleurs, 3 fichiers à modifier.
/etherpad/global.js, /static/css/pad2_ejs.css et /templates/pad/pad_body2.ejs
Des diff
%%diff -burN epad_8couleurs/globals.js epad_32couleurs/globals.js
--- epad_8couleurs/globals.js 2010-03-12 17:44:23.000000000 -0500
+++ epad_32couleurs/globals.js 2010-04-16 07:45:59.000000000 -0400
@@ -19,8 +19,8 @@
//----------------------------------------------------------------
var COMETPATH = "/comet";
-
-var COLOR_PALETTE = ['#ffc6c6','#ffe2bf','#fffcbf','#cbffb3','#b3fff1','#c6e7ff','#dcccff','#ffd9fb'];
+//var COLOR_PALETTE = ['#ffc6c6','#ffe2bf','#fffcbf','#cbffb3','#b3fff1','#c6e7ff','#dcccff','#ffd9fb'];
+var COLOR_PALETTE = ['#ffc7c7','#fff1c7','#e3ffc7','#c7ffd5','#c7ffff','#c7d5ff','#e3c7ff','#ffc7f1','#ff8f8f','#ffe38f','#c7ff8f','#8fffab','#8fffff','#8fabff','#c78fff','#ff8fe3','#d97979','#d9c179','#a9d979','#79d991','#79d9d9','#7991d9','#a979d9','#d979c1','#d9a9a9','#d9cda9','#c1d9a9','#a9d9b5','#a9d9d9','#a9b5d9','#c1a9d9','#d9a9cd'];
function isProduction() {
return (appjet.config['etherpad.isProduction'] == "true");
@@ -29,6 +29,8 @@
var SUPERDOMAINS = {
'localbox.info': true,
'localhost': true,
+
+ 'epad.recit.org': true,
'etherpad.com': true
};
diff -burN epad_8couleurs/pad2_ejs.css epad_32couleurs/pad2_ejs.css
--- epad_8couleurs/pad2_ejs.css 2010-03-11 10:14:06.000000000 -0500
+++ epad_32couleurs/pad2_ejs.css 2010-04-16 07:54:14.000000000 -0400
@@ -245,7 +245,7 @@
#myswatch { width: 100%; height: 100%; background: transparent;/*...initially*/ }
#mycolorpicker {
background: url(/static/img/jun09/pad/colorpicker.gif) no-repeat left top;
- width: 232px; height: 76px;
+ width: 232px; height: 140px;
position: absolute;
left: 13px; top: 13px; z-index: 101;
display: none;/*...initially*/
@@ -258,6 +258,33 @@
#mycolorpicker .n6 { left: 148px; }
#mycolorpicker .n7 { left: 175px; }
#mycolorpicker .n8 { left: 202px; }
+#mycolorpicker .n9 { left: 13px; top: 34px ! important;}
+#mycolorpicker .n10 { left: 40px; top: 34px ! important;}
+#mycolorpicker .n11 { left: 67px; top: 34px ! important;}
+#mycolorpicker .n12 { left: 94px; top: 34px ! important;}
+#mycolorpicker .n13 { left: 121px; top: 34px ! important;}
+#mycolorpicker .n14 { left: 148px; top: 34px ! important;}
+#mycolorpicker .n15 { left: 175px; top: 34px ! important;}
+#mycolorpicker .n16 { left: 202px; top: 34px ! important;}
+
+#mycolorpicker .n17 { left: 13px; top: 56px ! important;}
+#mycolorpicker .n18 { left: 40px; top: 56px ! important;}
+#mycolorpicker .n19 { left: 67px; top: 56px ! important;}
+#mycolorpicker .n20 { left: 94px; top: 56px ! important;}
+#mycolorpicker .n21 { left: 121px; top: 56px ! important;}
+#mycolorpicker .n22 { left: 148px; top: 56px ! important;}
+#mycolorpicker .n23 { left: 175px; top: 56px ! important;}
+#mycolorpicker .n24 { left: 202px; top: 56px ! important;}
+
+#mycolorpicker .n25 { left: 13px; top: 78px ! important;}
+#mycolorpicker .n26 { left: 40px; top: 78px ! important;}
+#mycolorpicker .n27 { left: 67px; top: 78px ! important;}
+#mycolorpicker .n28 { left: 94px; top: 78px ! important;}
+#mycolorpicker .n29 { left: 121px; top: 78px ! important;}
+#mycolorpicker .n30 { left: 148px; top: 78px ! important;}
+#mycolorpicker .n31 { left: 175px; top: 78px ! important;}
+#mycolorpicker .n32 { left: 202px; top: 78px ! important;}
+
#mycolorpicker .pickerswatchouter {
border: 1px solid white;
width: 15px; height: 15px; position: absolute;
@@ -272,10 +299,10 @@
}
#mycolorpicker .picked { border: 1px solid #666 !important; }
#mycolorpicker .picked .pickerswatch { border: 1px solid #666; }
-#mycolorpickersave { position: absolute; left: 14px; top: 42px;
+#mycolorpickersave { position: absolute; left: 14px; top: 102px;
width: 47px; height: 0; padding-top: 20px; overflow: hidden;
cursor: pointer; }
-#mycolorpickercancel { position: absolute; left: 87px; top: 42px;
+#mycolorpickercancel { position: absolute; left: 87px; top: 102px;
width: 44px; height: 0; padding-top: 20px; overflow: hidden;
cursor: pointer; }
#myusernameform { margin-left: 35px; }
diff -burN epad_8couleurs/pad_body2.ejs epad_32couleurs/pad_body2.ejs
--- epad_8couleurs/pad_body2.ejs 2010-03-26 16:43:01.000000000 -0400
+++ epad_32couleurs/pad_body2.ejs 2010-04-16 07:48:19.000000000 -0400
@@ -187,7 +187,7 @@
-
Saved:Revision 1
+
Enregistre:Revision 1
@@ -307,7 +307,8 @@
-
+
+
@@ -316,8 +317,35 @@
-
Save
-
Cancel
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Save
Cancel
%%
----
====Trucs====
Pour insérer un epad.recit.org dans une page web, on inscrit le code comme ceci:
Où uVLljSYNLh est le nom de la note à insérer.
Un billet pour les trucs: http://recit.org/index.php/2010/04/16/inserer_un_epad_dans_une_page_web
Effacer le clavardage
http://groups.google.com/group/etherpad-open-source-discuss/browse_thread/thread/fb893133ec68605c
-So to summarize, best method for clearing pad chat is just to change the JSON string from numChatMessages:XX to numChatMessages:0
-dans la table PAD_META trouver avec le nom de la note numChatMessages en éditant leJSON, et mettre à 0.
====Trou de sécurité====
http://groups.google.com/group/etherpad-open-source-discuss/browse_thread/thread/05c4bee6ebe27078%20%3E
====Optimisation====
-Diminuer le nombre de connexion par note à 16
-config maxThreads=100 pour diminuer le nombre de processus java démarré (pstree, passé de 300 + à 40)
-On peut passer le nombre de RAm dans la commande, ex.: ./bin/run-local.sh 128M
-dans bin/run-local.sh on peut ajuster le nombre de ram de notre machine. 1G par défaut.
Apache travaille très fort (je suis en proxypass vers le port 9000 de l'application etherpad). J'ai ajusté les variables suivantes afin qu'il tienne le coup devant plusieurs dizaines de connections en mpeme temps:
-KeepAliveTimeout 5
-Timeout 15
-ServerLimit 1000
-MinSpareServers 70
-MaxSpareServers 300
-MaxRequestsPerChild 50
Avec ces valeurs, j'ai moins de processus (le 121) apache de pris (ça semble se rafrâichir plus rapidement):
init─┬─apache2───121*[apache2]
ce nombre monte en flèche avec plus de 20 personnes sur epad. Mais avec ma dernière config, ça semble moins sensible.
La swap est également moins solicité (200 Mo), ce qui devrait être corrigé avec l'ajout de ram sous peu. A suivre...
----
Problème mail après déménagement de serveur.
ajouté dans /etc/proprieties de etherpad la ligne smtpServer = 172.30.2.52:25
dans postfix main.cf, ligne mynetworks = 172.30.2.52