HedgeDoc installieren: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) K (neues Ansible Skript verlinkt, bei Codeberg) |
|||
(8 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= | = HedgeDoc installieren = | ||
''' | '''HedgeDoc''' ist ein Online-Texteditor für das gemeinschaftliche Bearbeiten von Texten. Die Texte können mit Hilfe von Markdown mit Hervorhebungen und Gliederung gestaltet werden. | ||
[[Datei:Codimd-screen.png|720px]] | [[Datei:Codimd-screen.png|720px]] | ||
[https://hedgedoc.org/ HedgeDoc] ist eine moderne Alternative zum [[Etherpad_Installieren|Etherpad]]. | |||
Das Projekt hieß auch mal CodiMD und HackMD, die Geschichte ist hier nachzulesen: https://hedgedoc.org/history/ | |||
== Vorbereitungen in HSAdmin == | == Vorbereitungen in HSAdmin == | ||
Zeile 11: | Zeile 13: | ||
Nach des Hostsharing "best practice" soll für jede Anwendung eine eigene (Sub-)domain unter einem eigenen User geschaltet werden. Eine eigene Datenbank versteht sich von selbst... | Nach des Hostsharing "best practice" soll für jede Anwendung eine eigene (Sub-)domain unter einem eigenen User geschaltet werden. Eine eigene Datenbank versteht sich von selbst... | ||
HedgeDoc unterstützt unter anderem PostgreSQL als Datenbank, so dass wir hier eine Postgres-Datenbank verwenden. | |||
Als Paketadmin ''xyz00'' aufrufen:<pre>hsscript -i</pre> | Als Paketadmin ''xyz00'' aufrufen:<pre>hsscript -i</pre> | ||
Zeile 18: | Zeile 20: | ||
<pre> | <pre> | ||
xyz00@hsadmin> user.add({set:{name:'xyz00- | xyz00@hsadmin> user.add({set:{name:'xyz00-hedgedoc', password:'mein-Geheimwort', shell:'/bin/bash'}}) | ||
xyz00@hsadmin> domain.add({set:{name:' | xyz00@hsadmin> domain.add({set:{name:'hedgedoc.hs-example.de', user:'xyz00-hedgedoc'}}) | ||
xyz00@hsadmin> postgresqluser.add({set:{name:' | xyz00@hsadmin> postgresqluser.add({set:{name:'xyz00_hedgedoc', password:'anderes-Geheimwort'}}) | ||
xyz00@hsadmin> postgresqldb.add({set:{name:' | xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_hedgedoc', owner:'xyz00_hedgedoc'}}) | ||
xyz00@hsadmin> bye | xyz00@hsadmin> bye | ||
</pre> | </pre> | ||
Zeile 27: | Zeile 29: | ||
== Voraussetzungen installieren == | == Voraussetzungen installieren == | ||
HedgeDoc benötigt ''nodejs'' in einer Version >= 16.x. Die Installation erfolgt gemäss der Wiki-Anleitung: [[NodeJS]] | |||
Als neu angelegter User ''xyz00- | Als neu angelegter User ''xyz00-hedgedoc'': | ||
<pre> | <pre> | ||
Zeile 35: | Zeile 37: | ||
touch .profile | touch .profile | ||
chmod u+x .profile | chmod u+x .profile | ||
curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash | |||
exit | exit | ||
</pre> | </pre> | ||
Dann wieder als User ''xyz00- | Dann wieder als User ''xyz00-hedgedoc'' anmelden: | ||
<pre> | <pre> | ||
nvm install 16 | |||
npm install -g yarn | npm install -g yarn | ||
</pre> | </pre> | ||
Damit sind ''yarn'' und ''node'' installiert. | Damit sind ''yarn'' und ''node'' installiert. | ||
== | == HedgeDoc installieren == | ||
Weiter als User ''xyz00- | Weiter als User ''xyz00-hedgedoc'': | ||
<pre> | <pre> | ||
cd | cd | ||
git clone https://github.com/ | git clone https://github.com/hedgedoc/hedgedoc.git hedgedoc | ||
cd | cd hedgedoc | ||
git checkout 1.6.0 // aktuelle Version auswählen, heute (im | git checkout 1.6.0 // aktuelle Version auswählen, heute (im Juni 2022) ist das 1.9.3 | ||
source ~/.profile | |||
./bin/setup | ./bin/setup | ||
yarn install --frozen-lockfile | |||
yarn build | |||
</pre> | </pre> | ||
An dieser Stelle | An dieser Stelle wird die Datei ''config.json'' angepasst. | ||
Meine ''config.json'': | Meine ''config.json'': | ||
Zeile 73: | Zeile 72: | ||
{ | { | ||
"production": { | "production": { | ||
"domain": " | "domain": "hedgedoc.hs-example.de", | ||
"loglevel": "info", | "loglevel": "info", | ||
"hsts": { | "hsts": { | ||
Zeile 91: | Zeile 90: | ||
}, | }, | ||
"db": { | "db": { | ||
"username": " | "username": "xyz00_hedgedoc", | ||
"password": "anderes-Geheimwort", | "password": "anderes-Geheimwort", | ||
"database": " | "database": "xyz00_hedgedoc", | ||
"host": "localhost", | "host": "localhost", | ||
"port": "5432", | "port": "5432", | ||
Zeile 103: | Zeile 102: | ||
} | } | ||
} | } | ||
</pre> | </pre> | ||
Zeile 120: | Zeile 107: | ||
<pre> | <pre> | ||
cd $HOME/ | cd $HOME/hedgedoc | ||
npm start --production | npm start --production | ||
</pre> | </pre> | ||
Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter ''http://xyz00. | Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter ''http://xyz00.hostsharing.net:3000'' erreichbar. | ||
Mit Ctrl-C abbrechen. | Mit Ctrl-C abbrechen. | ||
Zeile 132: | Zeile 119: | ||
<pre> | <pre> | ||
cd | cd | ||
cd doms/ | cd doms/hedgedoc.hs-example.de | ||
rm -rf subs/www subs-ssl/www app-ssl htdocs-ssl | rm -rf subs/www subs-ssl/www app-ssl htdocs-ssl | ||
ln -s $HOME/ | ln -s $HOME/hedgedoc app-ssl | ||
ln -s $HOME/ | ln -s $HOME/hedgedoc/public htdocs-ssl | ||
echo "PassengerNodejs $(which node)" >.htaccess | echo "PassengerNodejs $(which node)" >.htaccess | ||
</pre> | </pre> | ||
Die Anwendung ist unter ''https:// | Die Anwendung ist unter ''https://hedgedoc.hs-example.de'' erreichbar. | ||
== Links == | == Links == | ||
* https://demo. | * https://demo.hedgedoc.org/s/features | ||
* https://github.com/ | * https://github.com/hedgedoc/hedgedoc/releases | ||
* https:// | * https://docs.hedgedoc.org/setup/manual-setup/ | ||
* [https://codeberg.org/tpokorra/hs.ansible/src/branch/main/playbooks/hedgedoc Ansible Playbook für Hostsharing] | |||
---- | ---- | ||
Zeile 153: | Zeile 141: | ||
[[Kategorie:Passenger]] | [[Kategorie:Passenger]] | ||
[[Kategorie:NodeJS]] | [[Kategorie:NodeJS]] | ||
[[Kategorie:Ansible Playbook]] |
Aktuelle Version vom 24. Juni 2023, 14:34 Uhr
HedgeDoc installieren
HedgeDoc ist ein Online-Texteditor für das gemeinschaftliche Bearbeiten von Texten. Die Texte können mit Hilfe von Markdown mit Hervorhebungen und Gliederung gestaltet werden.
HedgeDoc ist eine moderne Alternative zum Etherpad.
Das Projekt hieß auch mal CodiMD und HackMD, die Geschichte ist hier nachzulesen: https://hedgedoc.org/history/
Vorbereitungen in HSAdmin
Nach des Hostsharing "best practice" soll für jede Anwendung eine eigene (Sub-)domain unter einem eigenen User geschaltet werden. Eine eigene Datenbank versteht sich von selbst...
HedgeDoc unterstützt unter anderem PostgreSQL als Datenbank, so dass wir hier eine Postgres-Datenbank verwenden.
Als Paketadmin xyz00 aufrufen:
hsscript -i
In der HSAdmin-Shell gibt man dann ein:
xyz00@hsadmin> user.add({set:{name:'xyz00-hedgedoc', password:'mein-Geheimwort', shell:'/bin/bash'}}) xyz00@hsadmin> domain.add({set:{name:'hedgedoc.hs-example.de', user:'xyz00-hedgedoc'}}) xyz00@hsadmin> postgresqluser.add({set:{name:'xyz00_hedgedoc', password:'anderes-Geheimwort'}}) xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_hedgedoc', owner:'xyz00_hedgedoc'}}) xyz00@hsadmin> bye
Voraussetzungen installieren
HedgeDoc benötigt nodejs in einer Version >= 16.x. Die Installation erfolgt gemäss der Wiki-Anleitung: NodeJS
Als neu angelegter User xyz00-hedgedoc:
cd touch .profile chmod u+x .profile curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash exit
Dann wieder als User xyz00-hedgedoc anmelden:
nvm install 16 npm install -g yarn
Damit sind yarn und node installiert.
HedgeDoc installieren
Weiter als User xyz00-hedgedoc:
cd git clone https://github.com/hedgedoc/hedgedoc.git hedgedoc cd hedgedoc git checkout 1.6.0 // aktuelle Version auswählen, heute (im Juni 2022) ist das 1.9.3 source ~/.profile ./bin/setup yarn install --frozen-lockfile yarn build
An dieser Stelle wird die Datei config.json angepasst.
Meine config.json:
{ "production": { "domain": "hedgedoc.hs-example.de", "loglevel": "info", "hsts": { "enable": true, "maxAgeSeconds": 31536000, "includeSubdomains": true, "preload": true }, "csp": { "enable": true, "directives": { }, "upgradeInsecureRequests": "auto", "addDefaults": true, "addDisqus": false, "addGoogleAnalytics": false }, "db": { "username": "xyz00_hedgedoc", "password": "anderes-Geheimwort", "database": "xyz00_hedgedoc", "host": "localhost", "port": "5432", "dialect": "postgres" }, "protocolUseSSL": true, "allowPDFExport": true, "linkifyHeaderStyle": "gfm" } }
Die Anwendung testweise starten:
cd $HOME/hedgedoc npm start --production
Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter http://xyz00.hostsharing.net:3000 erreichbar.
Mit Ctrl-C abbrechen.
Apache und Passenger konfigurieren
cd cd doms/hedgedoc.hs-example.de rm -rf subs/www subs-ssl/www app-ssl htdocs-ssl ln -s $HOME/hedgedoc app-ssl ln -s $HOME/hedgedoc/public htdocs-ssl echo "PassengerNodejs $(which node)" >.htaccess
Die Anwendung ist unter https://hedgedoc.hs-example.de erreichbar.
Links
- https://demo.hedgedoc.org/s/features
- https://github.com/hedgedoc/hedgedoc/releases
- https://docs.hedgedoc.org/setup/manual-setup/
- Ansible Playbook für Hostsharing