Etherpad lite
Aus Vosp.info
Inhaltsverzeichnis
minimal installation
Grundsätzlich macht es Sinn npm und co nicht als root auszuführen, wegen der sicherheit und teilweise kommen auch fehler zu stande
apt install gzip git curl python libssl-dev pkg-config build-essential
curl -sL https://deb.nodesource.com/setup_9.x | sudo -E bash -
sudo apt-get install -y nodejs
git clone https://github.com/ether/etherpad-lite.git && cd etherpad-lite
# für den export !!!
apt-get install abiword
# zum testen, ansich nicht als root
bin/run.sh
# und dann im Browser http://127.0.0.1:9001/
npm ... extensions
npm init
npm i ep_fileupload
# weitere siehe unten
mit apache ansprechen
- /etc/apache2/sites-available/pad.domain.tld.conf
<VirtualHost *:80>
ServerName pad.domain.tld
ServerAlias www.pad.domain.tld
ServerAdmin webmaster@localhost
Redirect permanent / https://pad.domain.tld/
</VirtualHost>
<IfModule mod_ssl.c>
<VirtualHost *:443>
ServerName pad.domain.tld
ServerAlias www.pad.domain.tld
# SSL configuration
SSLEngine on
# If you hold wildcard certificates for your domain the next two lines are not necessary.
SSLCertificateFile /etc/ssl/private/nc/SSLCertificateFile.crt
SSLCertificateKeyFile /etc/ssl/private/nc/SSLCertificateKeyFile.key
# nc bof
SSLCertificateChainFile /etc/ssl/private/nc/SSLCertificateChainFile.cer
SetEnv nokeepalive ssl-unclean-shutdown
# nc eof
ProxyVia On
ProxyRequests Off
ProxyPreserveHost on
# wenn zielserver https ist (etherpad-lite/settings.json ssl bereich!!!!) dann
SSLProxyEngine On
<Location />
AuthType Basic
AuthName "Welcome to the domain.org Etherpad"
AuthUserFile /etc/htpasswd/htpasswd_nc
Require valid-user
ProxyPass http://localhost:9001/ retry=0 timeout=30
ProxyPassReverse http://localhost:9001/
</Location>
<Location /socket.io>
# This is needed to handle the websocket transport through the proxy, since
# etherpad does not use a specific sub-folder, such as /ws/ to handle this kind of traffic.
# Taken from https://github.com/ether/etherpad-lite/issues/2318#issuecomment-63548542
# Thanks to beaugunderson for the semantics
RewriteEngine On
RewriteCond %{QUERY_STRING} transport=websocket [NC]
RewriteRule /(.*) ws://localhost:9001/socket.io/$1 [P,L]
ProxyPass http://localhost:9001/socket.io retry=0 timeout=30
ProxyPassReverse http://localhost:9001/socket.io
</Location>
<Proxy *>
Options FollowSymLinks MultiViews
AllowOverride All
Order allow,deny
allow from all
</Proxy>
</VirtualHost>
</IfModule>
a2enmod proxy proxy_http
systemctl restart apache2
Konfiguration
nach folgendend die entscheidenen Einstellungen
settings.json
ssl
- Wichtig ist hier das der ausführende Nutzer lese berechtigung hat
- etherpad-lite/settings.json
"ssl" : {
"key" : "/etc/ssl/private/ssl.key",
"cert" : "/etc/ssl/private/ssl.crt",
"ca": ["/etc/ssl/private/ssl.cer"]
},
mysql
create database dbname;
create user 'dbuser'@'localhost' identified by 'dbpasswd';
grant all on dbname.* to 'dbuser'@'localhost';
- etherpad-lite/settings.json
"dbType" : "mysql",
"dbSettings" : {
"user" : "dbuser",
"host" : "localhost",
"port" : 3306,
"password": "dbpasswd",
"database": "dbname",
"charset" : "utf8mb4"
},
Benutzer Rechte
- etherpad-lite/settings.json
"requireSession" : false,
"sessionNoPassword" : true,
"requireAuthentication" : false, // wichtig, macht sonst mit ep_mypads probleme
"requireAuthorization" : true,
"users": {
"admin": {
// "password" can be replaced with "hash" if you install ep_hash_auth
"password": "changeMe",
"is_admin": true
},
},
abiword
- wichtig. abiword muss natürlich mit apt-get installiert sein
- achtung: funktioniert nicht mit ep_font_size
- etherpad-lite/settings.json
"abiword" : "/usr/bin/abiword",
ep_mypads
- Anonymous pads: deaktivieren
- Registrierung öffnen: im Zweifel deaktivieren, wenn kein öffentliches pad
- E-Mail Einstellungen: müssen richtig sein, ansonsten Absturz
Benutzer erstellen
unter Authentifizierungseinstellungen die checkbox "Registrierung öffnen" aktivieren, dann können temporär user erstellt werden, hinterher evt. wieder schließen, weil sonst spam
linux system daemon
Installed plugins (tested)
- ep_adminpads@0.0.12
- ep_align@0.0.23
- ep_authorship_toggle@0.0.3
- ep_chatdate@1.0.0
- ep_colors@0.0.3
- ep_comments_page@0.0.35
- ep_fileupload@0.0.10
- ep_font_family@0.2.7
- ep_message_all@1.0.0
- ep_mypads@1.6.2
- ep_page_view@0.5.24
- ep_printer@0.0.2
- ep_sync_status@0.0.1
problem plugins
- ep_font_size@0.1.11
- macht Probleme beim export mit abiword