This is an old revision of the document!
dokuwiki setup notes
Also see notes on setting up Docker Dokuwiki container
dokuwiki backup
Back-ups placed here: '/media/disk1/KarlData/Karl Data 2/dokuwiki_backups/'
and named KPtreeWiki-backup_yyyy-mm-dd
.
e.g. sudo tar zcpfv '/media/disk1/KarlData/Karl Data 2/dokuwiki_backups/KptreeWiki-backup_20220710.tar.gz' /home/shared/www/dokuwiki
this backs up the entire directory.
dockuwiki cleanup
Maintenance and Automatic cleanup script has bash script to remove old files on the wikiserver.
To run the script sudo Myscripts/dokuwikicleanup.sh /home/shared/www/dokuwiki/data 300
dokuwiki VM setup
master dns setup
The master public dns needs to be setup to point to the appropriate ip addresses for wiki.kptree.net.
The ipv4 points to a common public ipv4 address and uses proxies to redirect to correct VMs, so all subdomains have same public address.
Each sub-domain can have an individual public ipv6 address if required and proxies are not required for ipv6.
I have been using Godaddy for my domain name provider. I have not been that happy with Godaddy for a number of reasons, however these reasons have not been sufficient to get me to move to another provider.
local dns setup
The local dns points to the local lan address that assists with hairpin nat on ipv4. Not necessary on ipv6 as assigned a global ipv6 address and nat not used. This means adjusting bind9 settings.
router setup
See the router specific set-up information sample_nftables_configuration.
Basically:
- The ipv4 address for specific ports need to have nat(network address translation) setup and forwarding setup.
- The ipv6 address as it is public only needs forwarding setup.
dokuwiki vm SSL certificate setup
I like the setup in workaround.org, specifically Creating a TLS encryption key and certificate. The nuance here is the need to first setup the VM and apache2, then bring it online. Once online the certificate can then be requested. After this the setup of the wiki (or other) VM apache server can be completed. When migrating the old server needs to be shutdown and is effectively disabled.
dokuwiki VM apache2 setup
The /etc/apache2/ports.conf
is the standard configuration allowing all ip address access to port 80 and if ssl_module port 443. No change required
As can be seen from the apache2 site setup files all the wiki html setup files are at the document root /mnt/shared/www/dokuwiki
.
dokuwiki ipv4 apache2 main VM server redirection
This only is required for the ipv4 shared public address as the ip6 public address is unique for the wiki sub-domain.
This is the part of the main domain apache2 configuration files, tl;dr;:
dokuwiki file ownership and permissions
Basically the required file permissions are as noted in Dokuwiki Installation instructions, Upgrading Dokuwiki, and Setting up file permissions.
sudo chown www-data:www-data -R /home/shared/www/dokuwiki
will make all the docuwiki files user and group owned by www-data that seems to simply function.
dokuWiki Plugin Modules
plugin module settings and control
dokuWiki System Installed
- ACL Manager - Manage Page Access Control Lists - by Andreas Gohr
- Plain Auth Plugin - Provides user authentication against DokuWiki's local password storage - by Andreas Gohr
- Configuration Manager - Manage Dokuwiki's Configuration Settings - by Christopher Smith
- Extension Manager - Allows managing and installing plugins and templates - by Michael Hamann
- User Manager - Manage DokuWiki user accounts - by Chris Smith
These are not not plugins per-say, as they can be neither disabled nor uninstalled.
By Andreas Gohr
Document Link Name | Short Description | Status |
---|---|---|
Active Directory Auth Plugin | Provides user authentication against a Microsoft Active Directory | Disabled |
LDAP Auth Plugin | Provides user authentication against an LDAP server | Disabled |
MySQL Authentication Plugin | This backend uses a MySQL Database to store user data and passwords. | Disabled |
authpdo plugin | Authenticate against a database via PDO | Disabled |
PostgreSQL Authentication Plugin | This backend uses a PostgreSQL Database to store user data and passwords. | Disabled |
CAPTCHA Plugin | Use a CAPTCHA challenge to protect DokuWiki against automated spam | Enabled* |
cleanup Plugin | Perform file cleanup in the wiki | Enabled* |
EditTable plugin | Provide a custom editor for tables | Enabled* |
Info Plugin | Displays information about various DokuWiki internals | Enabled |
Login/Logout logging plugin | Log logins, logouts and admin activity to a file | Enabled* |
logviewer plugin | View DokuWiki logs | Enabled* |
Navigation Plugin | Build a navigation menu from a list | Enabled* |
Popularity Feedback Plugin | Send anonymous data about your wiki to the DokuWiki developers | Enabled* |
Revert Manager | Allows you to mass revert recent edits to remove Spam or vandalism | Enabled* |
safefnrecode plugin | Changes existing page and foldernames for the change in the safe filename encoding | Enabled* |
Searchindex Manager | Use to rebuild the index used by the fulltext search. Required if index messed up. | Enabled* |
sqlite plugin | A helper plugin to easily access a SQLite database | Disabled* |
struct plugin | Add and query additional structured page data | Disabled* |
styling plugin | Allows to edit style.ini replacements | Enabled |
DokuWiki Upgrade Plugin | Automatically upgrade your DokuWiki install to the most recent stable release | Enabled* |
* Not system installed
By Others
Document Link Name | Short Description | Author | Status |
---|---|---|---|
AcMenu Plugin | An accordion menu for namespaces and relative pages | by Torpedo | Enabled |
Bootstrap Wrapper Plugin | Bootstrap Wrapper for DokuWiki | by Giuseppe Di Terlizzi | Enabled |
Cloud Plugin | Displays the most used words in a word cloud | by Michael Hamann, Michael Klier, Gina Haeussge | Enabled |
color syntax plugin | Write colored text in DokuWiki | by Harald Hanche-Olsen | Enabled |
DocNavigation plugin | Add navigation for documentation | by Gerrit Uitslag | Enabled |
DataTables Plugin | Add DataTables support to DokuWiki | by Giuseppe Di Terlizzi | Enabled |
folded plugin | Foldable page sections | by Michael Hamann, Fabian van-de-l_Isle, Christopher Smith, Esther Brunner | Enabled |
include plugin | Functions to include another page in a wiki page | by Michael Hamann, Gina Häussge, Christopher Smith, Michael Klier, Esther Brunner | Enabled |
Markdown Page plugin | Show Markdown block as Dokuwiki content | by mizunashi_mana | Enabled |
markdowku plugin | Integrates Markdown into DokuWiki syntax | by Julian Fagir, Raphael Wimmer (maintainer) | Disabled1 |
Move plugin | Functions to include another page in a wiki page | by Michael Hamann, Gary Owen, Arno Puschmann, Christoph Jähnigen | Enabled |
nspages plugin | Presents a toc of the selected namespace using nspages | by Guillaume Turri | Enabled |
Pagelist Plugin | Lists pages in a nice formatted way | by Matthias Schulte, Michael Hamann, Michael Klier, Gina Haeussge | Enabled |
tab plugin | Special syntax for tabs | by Juergen Schuemmer | Enabled |
Table Width plugin | Allows to specify width of table columns | by Mykola Ostrovskyy | Enabled |
Tag Plugin | tag wiki pages | by Michael Hamann, Gina Häussge, Christopher Smith, Michael Klier, Esther Brunner | Enabled |
Typography | Enable typesetting capabilities with CSS font properties such as font face, size, weight, and color of text | plugin by Satoshi Sahara | Enabled |
Wrap Plugin | 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 | by Anika Henke | Enabled |
Notes:
- The markdowku Plugin does automatic inline markdown intepretation and display. Seems a bit buggy and affects regular dokuwiki syntax. I prefer to use the declared markdown option given by the Markdown Page Plugin.