Table of Contents
Command Line Tools
DokuWiki comes with a few PHP scripts meant to be executed from the (UNIX) commandline of the DokuWiki server. All the scripts are located in the <yourWiki>/bin/
directory.
Note: In order to be able to use these scripts you need the PHP CLI interpreter installed on the system.
There are two ways to run the scripts. You can either make them executable:
$> chmod +x ./bin/<script>.php $> ./bin/<script>.php
or run them as follows (recommended):
$> /path/to/php bin/<script>.php
dwpage.php
Note: There have been problems reported with some plugins that rely on ACLs and authentication or the DokuWiki event system.
Usage: dwpage.php [opts] <action> Utility to help command line DokuWiki page editing, allow pages to be checked out for editing then committed after changes Normal operation would be; ACTIONS checkout: see $ dwpage.php --help=checkout commit: see $ dwpage.php --help=commit lock: see $ dwpage.php --help=lock gmeta: see $ dwpage.php --help=gmeta Displays metadata about a page. There is no ability to write metadata, only read them. e.g. $ dwpage.php -u <user> gmeta [page] <meta tag>. Where <meta tag> can be "date modified" (in quotes) or "last_change date" an empty <meta tag> returns all metadata. OPTIONS -h, --help=<action>: get help e.g. $ ./dwpage.php -hcommit e.g. $ ./dwpage.php --help=commit
indexer.php
Allows you to update the search index.
Usage: indexer.php <options> Updates the searchindex by indexing all new or changed pages when the -c option is given the index is cleared first. OPTIONS -h, --help show this help and exit -c, --clear clear the index before updating -q, --quiet don't produce any output
This needs to be run as the appropriate user and possibly the right directory to work. e.g. www-data in ~www-data under debian lenny. So for example, if your wiki is in /var/www/wiki
:
sudo -u www-data /var/www/wiki/bin/indexer.php
If you experience errors, please firstly check that you are calling the script in the bin path and not in the /lib/exe.
When working with farms, you can define the animal variable while calling the script. Please note that this is on single command line.
animal=example ./bin/indexer.php
wantedpages.php
Usage: wantedpages.php [wiki:namespace] Outputs a list of wanted pages (pages which have internal links but do not yet exist). If the optional [wiki:namespace] is not provided, defaults to the root wiki namespace OPTIONS -h, --help get help
striplangs.php
Allows you to remove unwanted language files from an installation.
Usage: striplangs.php [-h [-x]] [-e] [-k lang1[,lang2]..[,langN]] Removes all languages from the installation, except the ones after the -k option. English language is never removed! OPTIONS -h, --help get this help -x, --examples get also usage examples -k, --keep comma separated list of languages, -e is always implied -e, --english keeps english, dummy to use without -k
gittool.php
Helps with maintaining DokuWiki and plugins installed via git.
Usage: gittool.php <command> [parameters] Manage git repositories for DokuWiki and its plugins and templates. EXAMPLE $> ./bin/gittool.php clone gallery template:ach $> ./bin/gittool.php repos $> ./bin/gittool.php origin -v COMMANDS help This help screen clone <extensions> Tries to install a known plugin or template (prefix with template:) via git. Uses the DokuWiki.org plugin repository to find the proper git repository. Multiple extensions can be given as parameters install <extensions> The same as clone, but when no git source repository can be found, the extension is installed via download repos Lists all git repositories found in this DokuWiki installation <any> Any unknown commands are assumed to be arguments to git and will be executed in all repositories found within this DokuWiki installation
plugin.php
This tool gives access to all installed CLI Plugins. Call it without any arguments to get a list of installed plugins:
./bin/plugin.php
Call the plugin's help screen to learn more
./bin/plugin.php <pluginname> -h
Finding more CLI plugins
Use CLI Plugins to add other functionality to command line.
A summary of plugins which indicate CLI support:
Name | Description | Plugins WHERE (type > 255 AND type < 512) | |
---|---|---|---|
AIchat Plugin | Chat with a LLM about your DokuWiki contents | 1 | aichat |
Combo Plugin | Publication framework (Bootstrap and Material Design UI components, URL Management, Web Metadata, SEO and more) | 1 | combo |
dev Plugin | The DokuWiki Developer's Tool | 1 | dev |
DX Plugin | An opinionated plugin to improve the Developer Experience of DokuWiki plugin developers | 1 | dx |
elasticsearch Plugin | Integrate an external Elasticsearch engine into DokuWiki | 1 | elasticsearch |
Extension Manager Plugin | Manage and install plugins and templates (bundled with DokuWiki) | 1 | extension |
GDPR Plugin | Improve GDPR compliance by removing usernames of deleted users from changelogs | 1 | gdpr |
gemini Plugin | Expose your wiki as a read-only gemini server | 1 | gemini |
letsencrypt Plugin | Request letsencrypt SSL certificates for your wiki | 1 | letsencrypt |
newpagetemplate Plugin | Loads predefined page content from a given template | 1 | newpagetemplate |
Statdisplay Plugin | Displays various statistics and bar graphs computed using a log file of all access to DokuWiki pages | 1 | statdisplay |
structtasks Plugin | Send notification and reminder emails for tasks stored as struct data | 1 | structtasks |
upgrade Plugin | Update your DokuWiki with a few clicks from the admin interface | 1 | upgrade |
User Manager Plugin | Manage registered users (bundled with DokuWiki) | 1 | usermanager |
∑ 14 plugins matching query
To implement such a plugin please have a look at the CLI plugins development documentation.