HedgeDoc installieren: Unterschied zwischen den Versionen
Tim00 (Diskussion | Beiträge) K (neues Ansible Skript verlinkt, bei Codeberg) |
KKeine Bearbeitungszusammenfassung |
||
(Eine dazwischenliegende Version desselben Benutzers wird nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
HedgeDoc unterstützt unter anderem PostgreSQL als Datenbank, so dass wir hier eine Postgres-Datenbank verwenden. | HedgeDoc unterstützt unter anderem PostgreSQL als Datenbank, so dass wir hier eine Postgres-Datenbank verwenden. | ||
Als Paketadmin ''xyz00'' aufrufen:< | Als Paketadmin ''xyz00'' aufrufen:<syntaxhighlight lang="bash">hsscript -i</syntaxhighlight> | ||
In der HSAdmin-Shell gibt man dann ein: | In der HSAdmin-Shell gibt man dann ein: | ||
< | <syntaxhighlight lang="bash"> | ||
xyz00@hsadmin> user.add({set:{name:'xyz00-hedgedoc', password:'mein-Geheimwort', shell:'/bin/bash'}}) | 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> domain.add({set:{name:'hedgedoc.hs-example.de', user:'xyz00-hedgedoc'}}) | ||
Zeile 25: | Zeile 25: | ||
xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_hedgedoc', owner:'xyz00_hedgedoc'}}) | xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_hedgedoc', owner:'xyz00_hedgedoc'}}) | ||
xyz00@hsadmin> bye | xyz00@hsadmin> bye | ||
</ | </syntaxhighlight> | ||
== Voraussetzungen installieren == | == Voraussetzungen installieren == | ||
Zeile 33: | Zeile 33: | ||
Als neu angelegter User ''xyz00-hedgedoc'': | Als neu angelegter User ''xyz00-hedgedoc'': | ||
< | <syntaxhighlight lang="bash"> | ||
cd | |||
touch .profile | |||
chmod u+x .profile | |||
curl https://raw.githubusercontent.com/creationix/nvm/v0.35.3/install.sh | bash | |||
exit | |||
</ | </syntaxhighlight> | ||
Dann wieder als User ''xyz00-hedgedoc'' anmelden: | Dann wieder als User ''xyz00-hedgedoc'' anmelden: | ||
< | <syntaxhighlight lang="bash"> | ||
nvm install 16 | |||
npm install -g yarn | |||
</ | </syntaxhighlight> | ||
Damit sind ''yarn'' und ''node'' installiert. | Damit sind ''yarn'' und ''node'' installiert. | ||
Zeile 54: | Zeile 54: | ||
Weiter als User ''xyz00-hedgedoc'': | Weiter als User ''xyz00-hedgedoc'': | ||
< | <syntaxhighlight lang="bash"> | ||
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 | |||
</ | </syntaxhighlight> | ||
An dieser Stelle wird die Datei ''config.json'' angepasst. | An dieser Stelle wird die Datei ''config.json'' angepasst. | ||
Zeile 69: | Zeile 69: | ||
Meine ''config.json'': | Meine ''config.json'': | ||
< | <syntaxhighlight lang="json" line> | ||
{ | |||
"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" | |||
} | |||
} | |||
</ | </syntaxhighlight> | ||
Die Anwendung testweise starten: | Die Anwendung testweise starten: | ||
< | <syntaxhighlight lang="bash"> | ||
cd $HOME/hedgedoc | |||
npm start --production | |||
</ | </syntaxhighlight> | ||
Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter ''http://xyz00.hostsharing.net:3000'' erreichbar. | Die Anwendung sollte fehlerfrei starten und die Datenbank initialisieren. Sie ist unter ''http://xyz00.hostsharing.net:3000'' erreichbar. | ||
Zeile 117: | Zeile 117: | ||
== Apache und Passenger konfigurieren == | == Apache und Passenger konfigurieren == | ||
< | <syntaxhighlight lang="bash"> | ||
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 | |||
</ | </syntaxhighlight> | ||
Die Anwendung ist unter ''https://hedgedoc.hs-example.de'' erreichbar. | Die Anwendung ist unter ''https://hedgedoc.hs-example.de'' erreichbar. |
Aktuelle Version vom 14. Juni 2024, 12:05 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