HedgeDoc installieren: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
(9 dazwischenliegende Versionen von 4 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:< | 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- | 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 | ||
</ | </syntaxhighlight> | ||
== 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'': | ||
< | <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- | 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. | ||
== | == HedgeDoc installieren == | ||
Weiter als User ''xyz00- | 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 | An dieser Stelle wird die Datei ''config.json'' angepasst. | ||
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 130: | 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:// | 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 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