Etherpad Installieren: Unterschied zwischen den Versionen

Aus Hostsharing Wiki
Zur Navigation springen Zur Suche springen
(Version Update)
KKeine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 11: Zeile 11:
Mit ''hsscript'' können diese Ressourcen wie folgt angelegt werden:
Mit ''hsscript'' können diese Ressourcen wie folgt angelegt werden:


Als Paketadmin ''xyz00'' aufrufen:<pre>hsscript -i</pre>
Als Paketadmin ''xyz00'' aufrufen: <code>hsscript -i</code>


In der HSAdmin-Shell gibt man dann ein:
In der HSAdmin-Shell gibt man dann ein:


<pre>
<syntaxhighlight lang=shell>
xyz00@hsadmin> user.add({set:{name:'xyz00-pad', password:'mein-Geheimwort', shell:'/bin/bash'}})
xyz00@hsadmin> user.add({set:{name:'xyz00-pad', password:'mein-Geheimwort', shell:'/bin/bash'}})
xyz00@hsadmin> domain.add({set:{name:'pad.example.com', user:'xyz00-pad'}})
xyz00@hsadmin> domain.add({set:{name:'pad.example.com', user:'xyz00-pad'}})
Zeile 21: Zeile 21:
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_paddb', owner:'xyz00_padusr'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_paddb', owner:'xyz00_padusr'}})
xyz00@hsadmin> bye
xyz00@hsadmin> bye
</pre>
</syntaxhighlight>


== Installation ==
== Installation ==


Etherpad benötigt ''nodejs'' in einer Version > 8.9. Die Installation erfolgt gemäß der Wiki-Anleitung: [[NodeJS]]
Etherpad benötigt ''nodejs'' in einer Version > 10.13. Die Installation erfolgt gemäß der Wiki-Anleitung: [[NodeJS]]


Als Paketadmin ''xyz00'' nimmt man mit <pre>sudo -u xyz00-pad -i</pre> die Rechte des Domain-Administrators ''xyz00-pad'' für die neue Domain ''pad.example.com'' an.
Als Paketadmin ''xyz00'' nimmt man mit <code>sudo -u xyz00-pad -i</code> die Rechte des Domain-Administrators ''xyz00-pad'' für die neue Domain ''pad.example.com'' an.


Die Etherpad-Software kann aus dem Git-Repository bei Github ausgecheckt werden:
Die Etherpad-Software kann aus dem Git-Repository bei Github ausgecheckt werden:


<pre>
<syntaxhighlight lang=shell>
cd
cd
git clone https://github.com/ether/etherpad-lite.git
git clone https://github.com/ether/etherpad-lite.git
cd etherpad-lite/
cd etherpad-lite/
git tag -l
git tag -l
git checkout tags/1.7.5
git checkout tags/1.8.12
./bin/run.sh  
./bin/run.sh  
</pre>
</syntaxhighlight>


Mit "git checkout tags/1.7.5" wird Release 1.7.5 ausgecheckt, die heute (23.02.2019) aktuelle Version.
Mit "git checkout tags/1.8.12" wird Release 1.8.12 ausgecheckt, die heute (10.03.2021) aktuelle Version.


Bei der Initialisierung der Anwendung gibt es einige Warnungen, die man ignorieren kann. Wenn die Initialisierung durchgelaufen ist, kann man
Bei der Initialisierung der Anwendung gibt es einige Warnungen, die man ignorieren kann. Wenn die Initialisierung durchgelaufen ist, kann man
Zeile 54: Zeile 54:
(immer noch als User ''xyz00-pad''):
(immer noch als User ''xyz00-pad''):


<pre>
<syntaxhighlight lang=shell>
cd
cd
cd ~/doms/pad.example.com
cd ~/doms/pad.example.com
rm -rf htdocs
rm -rf subs/www
rm -rf subs-ssl/www
rm -rf htdocs-ssl
rm -rf htdocs-ssl
ln -s ~/etherpad-lite/src/static htdocs
ln -s ~/etherpad-lite/src/static htdocs-ssl
ln -s ~/etherpad-lite/src/static htdocs-ssl
</pre>
</syntaxhighlight>


Für die Anwendung legen wir in den Verzeichnissen ''~/doms/pad.example.com/app/'' und ''~/doms/pad.example.com/app-ssl/'' eine Datei app.js mit dem folgenden Inhalt an:
Für die Anwendung legen wir im Verzeichnis ''~/doms/pad.example.com/app-ssl/'' eine Datei app.js mit dem folgenden Inhalt an:


<pre>
<syntaxhighlight lang=javascript>
require('/home/pacs/xyz00/users/pad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js');
require('/home/pacs/xyz00/users/pad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js');
process.chdir('/home/pacs/xyz00/users/pad/etherpad-lite');
process.chdir('/home/pacs/xyz00/users/pad/etherpad-lite');
</pre>
</syntaxhighlight>


Zum Schluß wird in der Datei ''~/etherpad-lite/settings.js'' noch die MySQL-Datenbank konfiguriert. Dazu muss der Teil mit ''dbType: mysql'' aktiv (nicht auskommentiert) sein. Etwa wie folgt:
Zum Schluß wird in der Datei ''~/etherpad-lite/settings.js'' noch die MySQL-Datenbank konfiguriert. Dazu muss der Teil mit ''dbType: mysql'' aktiv (nicht auskommentiert) sein. Etwa wie folgt:


<pre>
<syntaxhighlight lang=javascript>
  "dbType" : "mysql",
"dbType" : "mysql",
  "dbSettings" : {
"dbSettings" : {
      "user"    : "xyz00_padusr",
  "user"    : "xyz00_padusr",
      "host"    : "localhost",
  "host"    : "localhost",
      "password": "anderes-Geheimwort",
  "password": "anderes-Geheimwort",
      "database": "xyz00_paddb",
  "database": "xyz00_paddb",
      "charset" : "utf8mb4",
  "charset" : "utf8mb4",
      "insecureAuth": "true"
  "insecureAuth": "true"
    },
},
</pre>
</syntaxhighlight>


Die Einstellungen für den ''dbType: dirty'' werden dafür entfernt.
Die Einstellungen für den ''dbType: dirty'' werden dafür entfernt.

Aktuelle Version vom 1. Juli 2024, 11:17 Uhr

Etherpad Lite installieren

Etherpad ist eine JavaScript-Anwendung mit der mehrere Bearbeiter gleichzeitig einen Text im Browser editieren können.

Mit Hilfe von Etherpad können zum Beispiel die Teilnehmer einer Telefonkonferenz gemeinsam an einem Text-Dokument arbeiten.

Vorbereitung

Als Paket-Admin xyz00 werden mit HSAdmin ein User angelegt und eine Domain aufgeschaltet. Eine produktive Installation von Etherpad braucht zusätzlich einen MySQL-User und eine MySQL-Datenbank.

Mit hsscript können diese Ressourcen wie folgt angelegt werden:

Als Paketadmin xyz00 aufrufen: hsscript -i

In der HSAdmin-Shell gibt man dann ein:

xyz00@hsadmin> user.add({set:{name:'xyz00-pad', password:'mein-Geheimwort', shell:'/bin/bash'}})
xyz00@hsadmin> domain.add({set:{name:'pad.example.com', user:'xyz00-pad'}})
xyz00@hsadmin> mysqluser.add({set:{name:'xyz00_padusr', password:'anderes-Geheimwort'}})
xyz00@hsadmin> mysqldb.add({set:{name:'xyz00_paddb', owner:'xyz00_padusr'}})
xyz00@hsadmin> bye

Installation

Etherpad benötigt nodejs in einer Version > 10.13. Die Installation erfolgt gemäß der Wiki-Anleitung: NodeJS

Als Paketadmin xyz00 nimmt man mit sudo -u xyz00-pad -i die Rechte des Domain-Administrators xyz00-pad für die neue Domain pad.example.com an.

Die Etherpad-Software kann aus dem Git-Repository bei Github ausgecheckt werden:

cd
git clone https://github.com/ether/etherpad-lite.git
cd etherpad-lite/
git tag -l
git checkout tags/1.8.12
./bin/run.sh

Mit "git checkout tags/1.8.12" wird Release 1.8.12 ausgecheckt, die heute (10.03.2021) aktuelle Version.

Bei der Initialisierung der Anwendung gibt es einige Warnungen, die man ignorieren kann. Wenn die Initialisierung durchgelaufen ist, kann man unter der URL http://xyz00.hostsharing.net:9001/ schon die die Etherpad-Anwendung ohne Datenbank und ohne die gewünschte Domain sehen.

Wir brechen das run.sh-Skript mit Ctrl-c ab.

Konfiguration für Apache und Passenger

Vor der Nutzung von Phusion Passenger bitte unbedingt die dortigen Hinweise zur Nutzung beachten.

Die statischen Dateien der Anwendung werden mit den folgenden Befehlen richtig verlinkt (immer noch als User xyz00-pad):

cd
cd ~/doms/pad.example.com
rm -rf subs/www
rm -rf subs-ssl/www
rm -rf htdocs-ssl
ln -s ~/etherpad-lite/src/static htdocs-ssl

Für die Anwendung legen wir im Verzeichnis ~/doms/pad.example.com/app-ssl/ eine Datei app.js mit dem folgenden Inhalt an:

require('/home/pacs/xyz00/users/pad/etherpad-lite/node_modules/ep_etherpad-lite/node/server.js');
process.chdir('/home/pacs/xyz00/users/pad/etherpad-lite');

Zum Schluß wird in der Datei ~/etherpad-lite/settings.js noch die MySQL-Datenbank konfiguriert. Dazu muss der Teil mit dbType: mysql aktiv (nicht auskommentiert) sein. Etwa wie folgt:

"dbType" : "mysql",
"dbSettings" : {
  "user"    : "xyz00_padusr",
  "host"    : "localhost",
  "password": "anderes-Geheimwort",
  "database": "xyz00_paddb",
  "charset" : "utf8mb4",
  "insecureAuth": "true"
},

Die Einstellungen für den dbType: dirty werden dafür entfernt.

Weiter unten in der Datei kann dann noch ein Admin-User aktiviert werden.

Etherpad sollte nun unter der URL: http://pad.example.com/ erreichbar sein.

Links