Gancio: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
|||
(Eine dazwischenliegende Version von einem anderen Benutzer wird nicht angezeigt) | |||
Zeile 15: | Zeile 15: | ||
In die HSAdmin-Shell wechseln: | In die HSAdmin-Shell wechseln: | ||
<syntaxhighlight lang="bash"> | |||
hsscript -u xyz00 -i | |||
</syntaxhighlight> | |||
User 'xyz00-gancio' und Domain 'events.hs-example.de' anlegen: | User 'xyz00-gancio' und Domain 'events.hs-example.de' anlegen: | ||
<syntaxhighlight lang="bash"> | |||
xyz00@hsadmin> user.add({set:{name:'xyz00-gancio',shell:'/bin/bash',password:'******'}}) | |||
xyz00@hsadmin> domain.add({set:{name:'events.hs-example.de',user:'xyz00-gancio'}}) | |||
</syntaxhighlight> | |||
== Datenbank-User und Datenbank anlegen == | == Datenbank-User und Datenbank anlegen == | ||
Zeile 26: | Zeile 30: | ||
weiter in HSAdmin: | weiter in HSAdmin: | ||
<syntaxhighlight lang="bash"> | |||
xyz00@hsadmin> postgresqluser.add({set:{name:'xyz00_gancio',password:'******'}}) | |||
xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_gancio',owner:'xyz00_gancio'}}) | |||
</syntaxhighlight> | |||
HSAdmin-Shell verlassen: | HSAdmin-Shell verlassen: | ||
<syntaxhighlight lang="bash"> | |||
xyz00@hsadmin> bye | |||
</syntaxhighlight> | |||
== node Version 18.x installieren == | == node Version 18.x installieren == | ||
Zeile 39: | Zeile 47: | ||
Kurzfassung: | Kurzfassung: | ||
<syntaxhighlight lang="bash"> | |||
xyz00@h97:~$ sudo -u xyz00-gancio -i | |||
xyz00-gancio@h97:~$ touch ~/.profile | |||
xyz00-gancio@h97:~$ chmod u+x ~/.profile | |||
xyz00-gancio@h97:~$ curl https://raw.githubusercontent.com/creationix/nvm/v0.39.1/install.sh | bash | |||
xyz00-gancio@h97:~$ source .profile | |||
xyz00-gancio@h97:~$ nvm i 18 | |||
</syntaxhighlight> | |||
Zusätzlich wird das Buildtool ''yarn'' benötigt: | Zusätzlich wird das Buildtool ''yarn'' benötigt: | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~$ npm i yarn -g | |||
</syntaxhighlight> | |||
== Gancio herunterladen und konfigurieren == | == Gancio herunterladen und konfigurieren == | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~$ yarn global add https://gancio.org/latest.tgz | |||
</syntaxhighlight> | |||
Lege eine Datei config.json in $HOME-Verzeichnis an mit dem Inhalt: | Lege eine Datei config.json in $HOME-Verzeichnis an mit dem Inhalt: | ||
<syntaxhighlight lang="json" line> | |||
{ | |||
"baseurl": "https://events.hs-example.de", | |||
"hostname": "events.hs-example.de", | |||
"server": { | |||
"host": "127.0.0.1", | |||
"port": 33120 | |||
}, | |||
"log_level": "debug", | |||
"log_path": "/home/pacs/xyz00/users/gancio/var/log", | |||
"db": { | |||
"database": "xyz00_gancio", | |||
"username": "xyz00_gancio", | |||
"password": "******", | |||
"dialect": "postgres" | |||
}, | |||
"upload_path": "/home/storage/xyz00/users/gancio/data" | |||
} | |||
</syntaxhighlight> | |||
Anlegen eines Admin-Accounts: | Anlegen eines Admin-Accounts: | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~$ ~/.yarn/bin/gancio users create webmaster@events.hs-example.de meinPasswort --role admin | |||
</syntaxhighlight> | |||
== Proxy-Konfiguration des Apache Webserver == | == Proxy-Konfiguration des Apache Webserver == | ||
Zeile 82: | Zeile 100: | ||
Lösche die .www-Subdomain: | Lösche die .www-Subdomain: | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~$ cd ~/doms/events.hs-example.de/ | |||
xyz00-gancio@h97:~/doms/events.hs-example.de$ rm -rf subs/www subs-ssl/www htdocs-ssl/.htaccess | |||
</syntaxhighlight> | |||
Proxy Konfiguration durch Anlegen einer .htaccess-Datei: | Proxy Konfiguration durch Anlegen einer .htaccess-Datei: | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~/doms/events.hs-example.de$ cat htdocs-ssl/.htaccess | |||
DirectoryIndex disabled | |||
RewriteEngine On | |||
RewriteBase / | |||
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f | |||
RewriteRule .* http://127.0.0.1:33120%{REQUEST_URI} [proxy] | |||
RequestHeader set X-Forwarded-Proto "https" | |||
</syntaxhighlight> | |||
Erster Start des Gancio-Servers: | Erster Start des Gancio-Servers: | ||
<syntaxhighlight lang="bash"> | |||
xyz00-gancio@h97:~/doms/events.hs-example.de$ | |||
xyz00-gancio@h97:~$ ./.yarn/bin/gancio start | |||
</syntaxhighlight> | |||
Die Erstkonfiguration kann mit dem anlegten Admin-Account im Browser erfolgen. | Die Erstkonfiguration kann mit dem anlegten Admin-Account im Browser erfolgen. | ||
Zeile 107: | Zeile 131: | ||
.. offen .. | .. offen .. | ||
<syntaxhighlight lang="ini" line> | |||
# cat .config/systemd/user/gancio.service | |||
[Unit] | |||
Description=Gancio | |||
[Service] | |||
Type=simple | |||
WorkingDirectory=%h/gancio | |||
Environment="PATH=%h/node_modules/.bin:/usr/local/bin:/usr/bin:/bin" | |||
ExecStart=%h/node_modules/.bin/gancio | |||
Restart=always | |||
PrivateTmp=true | |||
NoNewPrivileges=true | |||
MemoryAccounting=true | |||
CPUAccounting=true | |||
MemoryHigh=768K | |||
MemoryMax=1024K | |||
[Install] | |||
WantedBy=default | |||
</syntaxhighlight> | |||
== Links == | == Links == |
Aktuelle Version vom 14. Juni 2024, 10:23 Uhr
Veranstalungskalender Gancio
Gancio ist ein Veranstaltungskalender für lokale Gruppen. Die Besonderheit ist die Teilnahme des Kalenders an der Föderation. Ein Activitypub-Account im Fediverse (zum Beispiel auf einem Mastodon-Server) kann Kalender abonnieren und Veranstaltungsankündigungen teilen.
Die Schritte zur Installation:
- Domain-User und Domain anlegen (in HSAdmin)
- Datenbank-User und Datenbank anlegen (in HSAdmin)
- node Version 16.x installieren
- Gancio herunterladen und konfigurieren
- Proxy-Konfiguration des Apache Webserver
- Gancio als Dienst einrichten
Domain-User und Domain anlegen
In die HSAdmin-Shell wechseln:
hsscript -u xyz00 -i
User 'xyz00-gancio' und Domain 'events.hs-example.de' anlegen:
xyz00@hsadmin> user.add({set:{name:'xyz00-gancio',shell:'/bin/bash',password:'******'}})
xyz00@hsadmin> domain.add({set:{name:'events.hs-example.de',user:'xyz00-gancio'}})
Datenbank-User und Datenbank anlegen
weiter in HSAdmin:
xyz00@hsadmin> postgresqluser.add({set:{name:'xyz00_gancio',password:'******'}})
xyz00@hsadmin> postgresqldb.add({set:{name:'xyz00_gancio',owner:'xyz00_gancio'}})
HSAdmin-Shell verlassen:
xyz00@hsadmin> bye
node Version 18.x installieren
Die Installation ist auf der Seite NodeJS hier im Wiki beschrieben.
Kurzfassung:
xyz00@h97:~$ sudo -u xyz00-gancio -i
xyz00-gancio@h97:~$ touch ~/.profile
xyz00-gancio@h97:~$ chmod u+x ~/.profile
xyz00-gancio@h97:~$ curl https://raw.githubusercontent.com/creationix/nvm/v0.39.1/install.sh | bash
xyz00-gancio@h97:~$ source .profile
xyz00-gancio@h97:~$ nvm i 18
Zusätzlich wird das Buildtool yarn benötigt:
xyz00-gancio@h97:~$ npm i yarn -g
Gancio herunterladen und konfigurieren
xyz00-gancio@h97:~$ yarn global add https://gancio.org/latest.tgz
Lege eine Datei config.json in $HOME-Verzeichnis an mit dem Inhalt:
{
"baseurl": "https://events.hs-example.de",
"hostname": "events.hs-example.de",
"server": {
"host": "127.0.0.1",
"port": 33120
},
"log_level": "debug",
"log_path": "/home/pacs/xyz00/users/gancio/var/log",
"db": {
"database": "xyz00_gancio",
"username": "xyz00_gancio",
"password": "******",
"dialect": "postgres"
},
"upload_path": "/home/storage/xyz00/users/gancio/data"
}
Anlegen eines Admin-Accounts:
xyz00-gancio@h97:~$ ~/.yarn/bin/gancio users create webmaster@events.hs-example.de meinPasswort --role admin
Proxy-Konfiguration des Apache Webserver
Lösche die .www-Subdomain:
xyz00-gancio@h97:~$ cd ~/doms/events.hs-example.de/
xyz00-gancio@h97:~/doms/events.hs-example.de$ rm -rf subs/www subs-ssl/www htdocs-ssl/.htaccess
Proxy Konfiguration durch Anlegen einer .htaccess-Datei:
xyz00-gancio@h97:~/doms/events.hs-example.de$ cat htdocs-ssl/.htaccess
DirectoryIndex disabled
RewriteEngine On
RewriteBase /
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteRule .* http://127.0.0.1:33120%{REQUEST_URI} [proxy]
RequestHeader set X-Forwarded-Proto "https"
Erster Start des Gancio-Servers:
xyz00-gancio@h97:~/doms/events.hs-example.de$
xyz00-gancio@h97:~$ ./.yarn/bin/gancio start
Die Erstkonfiguration kann mit dem anlegten Admin-Account im Browser erfolgen.
Einstellungen: Titel, Logo, SMTP-Server für den Mailversand.
Gancio als Dienst einrichten
.. offen ..
# cat .config/systemd/user/gancio.service
[Unit]
Description=Gancio
[Service]
Type=simple
WorkingDirectory=%h/gancio
Environment="PATH=%h/node_modules/.bin:/usr/local/bin:/usr/bin:/bin"
ExecStart=%h/node_modules/.bin/gancio
Restart=always
PrivateTmp=true
NoNewPrivileges=true
MemoryAccounting=true
CPUAccounting=true
MemoryHigh=768K
MemoryMax=1024K
[Install]
WantedBy=default