Table of Contents
DokuWiki
- service-urls:
- https://wiki.hamburg.ccc.de
- host-fqdn:
- wiki-intern.hamburg.ccc.de
- netbox-link:
- https://netbox.hamburg.ccc.de/virtualization/virtual-machines/42/
- server:
- Chaosknoten
- maintainer:
- jtbx
- ccchh-id-integration:
- true
Diese DokuWiki-Instanz soll zur Dokumentation von Dingen rund um den CCCHH dienen.
Bislang hatte der CCCHH ein öffentliches MediaWiki und zusätzlich ein per HTTP Basic Auth “geschütztes” nichtöffentliches Wiki. Dies hat jedoch dazu geführt, dass einige Informationen doppelt angelegt wurden und dass in zwei Wikis nach Informationen gesucht werden musste.
DokuWiki bietet im Gegensatz zu MediaWiki eine brauchbare Gruppen- und Rechteverwaltung mit der einzelne Bereiche nur einem beschränkten Personenkreis zugänglich gemacht werden können. Prinzipiell soll es aber immer noch jeder interessierten Person erlaubt und möglich sein einen Account zu bekommen. Einzelne vereinsinterne Themen (wie Plenumsprotokolle und Kontaktdaten) sollten bzw. müssen jedoch nur dem Kreis der “Mitglieder” (Personen, die auf der intern-Mailingliste sind) zugänglich sein.
Struktur
Aus den oben beschriebenen Anforderungen ergibt sich folgende grundlegende Struktur in Form von Namespaces:
- Club: Alles rund um das Clubleben
- Von allen Account lesbar und schreibbar
- Infrastruktur: Dokumentation unserer Server-Infrastuktur
- TBD: Von allen Account lesbar und schreibbar
- Items: Dokumentation von Geräten (3D-Drucker, etc.)
- Von allen Account lesbar und schreibbar
- Verein: Dinge rund um dem e.V. (Plenumsprotokolle, etc.)
- Nur von “intern” lesbar und schreibbar
- Intern: Andere nicht-öffentliche Dinge (Schlüsselliste, etc.)
- Nur von “intern” lesbar und schreibbar
- Event-Orga: Interne Dokumentation unserer Veranstaltungen
- Von “intern” und “events” lesbar und schreibbar
Konfiguration
Logins sind ausschließlich über das CCCHH ID OAuth möglich. Personen aus dem Infra-Team haben Admin-Rechte, um das Wiki zu aktualisieren, ACLs anzupassen oder Plugins zu installieren.
Folgende Plugins sind installiert, um die Syntax zu erweitern:
- Gallery Plugin 2024-04-30 by Andreas Gohr
Creates a gallery of images from a namespace or RSS/ATOM feed - ifauthex plugin 2023-02-08 by Pietro Saccardi
Toggle DokuWiki page content based on users and groups with arbitrary boolean expressions. - PlantUML Parser 2023-11-02 by Kyle Carter
This plugin takes PlantUML markup from a wiki page and has it displayed in a user's browser. - Wrap Plugin 2023-08-13 by Anika Henke
Universal plugin which combines functionalities of many other plugins. Wrap wiki text inside containers (divs or spans) and give them a class (choose from a variety of preset classes), a width and/or a language with its associated text direction.
Konfigurationsanpassungen
/var/www/dokuwiki/conf/local.php
:
$conf['title'] = 'CCCHH Wiki'; $conf['license'] = 'cc-zero'; $conf['baseurl'] = 'https://wiki.ccchh.net'; $conf['breadcrumbs'] = 0; $conf['youarehere'] = 1; $conf['dformat'] = '%Y-%m-%d %H:%M %Z'; $conf['toptoclevel'] = '2'; $conf['useheading'] = 'content'; $conf['sneaky_index'] = 1; $conf['useacl'] = 1; $conf['authtype'] = 'oauth'; $conf['superuser'] = '@admin'; $conf['disableactions'] = 'register,resendpwd'; $conf['mailguard'] = 'none'; $conf['cachetime'] = 60*60; $conf['userewrite'] = '1'; $conf['plugin']['catlist']['default_sort'] = 'ascending'; $conf['plugin']['catlist']['nocache'] = 1; $conf['plugin']['catlist']['hide_acl_nsnotr'] = 1; $conf['plugin']['data']['edit_content_only'] = 1; $conf['plugin']['oauth']['singleService'] = 1; $conf['plugin']['oauth']['register-on-auth'] = 1; $conf['plugin']['oauth']['overwrite-groups'] = 1; $conf['plugin']['oauthkeycloak']['key'] = 'wiki'; $conf['plugin']['oauthkeycloak']['secret'] = 'xPyxtN9AMwsFuY8tk0go9d0EqLV5dphg'; $conf['plugin']['oauthkeycloak']['openidurl'] = 'https://id.ccchh.net/realms/ccchh/.well-known/openid-configuration'; $conf['plugin']['oauthkeycloak']['label'] = 'CCCHH ID'; // see https://github.com/YoitoFes/dokuwiki-plugin-oauthkeycloak/issues/5#issuecomment-1326055358 $conf['auth_security_timeout'] = 120; //time (seconds) auth data is considered valid, set to 0 to recheck on every page view