lar.ven – this.ven's wiki

Authority through knowledge (of FLOSS and GNU/Linux)

User Tools

Site Tools


services:dokuwiki

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
services:dokuwiki [2022/09/05 11:53] – Added More security section this.venservices:dokuwiki [2022/09/30 13:30] (current) – [Basic setup] Updated link to lab guide this.ven
Line 1: Line 1:
 +====== DokuWiki ======
  
 +[[doku>dokuwiki|DokuWiki]] is a wiki software written in [[https://en.wikipedia.org/wiki/PHP|PHP]] providing [[#dokuwiki|this wiki]]. Besides low system requirements, easy installation and usage, it is highly extensible via [[doku>plugins|plugins]] and can be customized to become a handy tool for documentation purposes as well as for knowledge transfer. At least this is how I try to share [[wp>Information_technology|IT]] knowledge and details about (self-hosting) web services, for example.
 +
 +===== Basic setup =====
 +
 +Basic setup instructions may be found in the official [[doku>install|installation guide]] and in [[https://lab.uberspace.de/guide_dokuwiki|DokuWiki — UberLab 7 documentation]]. 
 +
 +===== Advanced configuration =====
 +
 +This article is about advanced configuration options used in this wiki instance.
 +
 +==== URL rewriting ====
 +
 +To change default behaviour and rewrite //<nowiki>https://example.org/doku.php?id=page</nowiki>// to //<nowiki>https://example.org/page</nowiki>// you need to enable [[doku>rewrite|URL rewriting]] in ''/[[https://www.php.net/manual/en/reserved.variables.server.php|DOCUMENT_ROOT]]/conf/local.php/'' file by appending:
 +
 +<code php>$conf['userewrite'] = 1;
 +$conf['useslash'] = 1;</code>
 +
 +This can also be done in [[/dokuwiki?do=admin&page=config|Configuration Settings]] via [[/dokuwiki?do=admin|Admin]] page.
 +
 +Next step is to rename ''/DOCUMENT_ROOT/.htaccess.dist'' to ''/DOCUMENT_ROOT/.htaccess'' and edit that file. First uncomment: 
 +
 +<code apache>#RewriteEngine On</code>
 +
 +by deleting the ''#'' character at the beginning of the line and insert:
 +
 +<code apache>RewriteBase /</code>
 +
 +between ''RewriteEngine On'' and first ''RewriteRule'' directive. Finally uncomment all of the following rewrite rules and save changes.
 +
 +=== More URL-related options ===
 +
 +Special characters should be handled [[doku>config:fnencode|safe]] to avoid long or corrupt filenames. Edit ''DOCUMENT_ROOT/conf/local.php/'' by appending:
 +
 +<code php>$conf['fnencode'] = 'safe';</code>
 +
 +==== User homepage ====
 +
 +DokuWiki is able to link the username to its namespace for providing [[doku>tips:homepages|homepages]] of users. This is done by setting ''showuseras = username_link'' either in the configuration file mentioned above or using the option //User's full name as interwiki user links// on the Admin page.
 +
 +==== Custom template style ====
 +
 +[[/dokuwiki?do=admin&page=styling|Template Style Settings]] may be used to select different colors for wiki appearance. After saving changes an upgrade-safe file is written to ''/DOCUMENT_ROOT/conf/tpl/<template_name>/style.ini''.
 +
 +While the standard template is not intended to be used with inverted colors (light text on dark background), the [[doku>template:darkblue|Darkblue Template]] might be used as foundation and customizations are written to: ''/DOCUMENT_ROOT/conf/tpl/darkblue/style.ini''.
 +
 +When using syntax highlightning in dokuwiki you need to overwrite some [[wp>CSS|CSS]] classes for font colors to work on a dark background. Create a [[doku>devel:css#user_styles|userstyle.css]] file containing the following rules:
 +
 +<code css>.kw2 {
 +  color: #888 !important;
 +}
 +.kw3 {
 +  color: #0000cc !important;
 +}
 +.re5 {
 +  color: #810040 !important;
 +}</code>
 +
 +==== Add abbreviations ====
 +
 +When writing about technical stuff, there are a lot of abbreviations concerned. To incorporate them without dealing with syntax every time, you can define a list in ''conf/abbreviations.local.conf'' file as described in [[doku>abbreviations|official documentation]] and must [[doku>devel:caching#purging_the_cache|purge the cache]] afterwards. The [[doku>plugin:acronymedit|AcronymEdit Plugin]] adds an abbreviations editor to the Admin page.
 +
 +==== More security ====
 +
 +To increase security for user login 2FA can be employed by installing the [[doku>plugin:attribute|Attribute Plugin]], [[doku>plugin:twofactor|Two Factor Authentication - Core Plugin]] and [[doku>plugin:twofactorgoogleauth|Two Factor Authentication - Google Authenticator Plugin]]. The latter is the actual authenticator application to generate a token. Although the name implies using the [[wp>Google_Authenticator|Google Authenticator]] app, a password database management software like [[https://keepassxc.org|KeePassXC]] provides that feature, too. Refer to its user guide for more information on [[https://keepassxc.org/docs/KeePassXC_UserGuide.html#_adding_totp_to_an_entry|adding TOTP to an entry]].
 +
 +===== Plugins =====
 +
 +Following a list of plugins I found useful for building this site:
 +
 +==== Syntax ====
 +
 +~~INFO:syntaxplugins~~
 +
 +==== Helper ====
 +
 +~~INFO:helperplugins~~
 +
 +{{tag>documentation knowledge_transfer PHP wiki}}
 +
 +Category: [[./|Services]]