=====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