This is an old revision of the document!
Table of Contents
Initial setup for DokuWiki
To install this instance of DokuWiki, we had already some important components set up, but let's recap them quickly.
Server
First, we needed the server, which does not need too much hardware resources. You can use an old laptop or desktop as host, or have it run alongside other services on a server. We chose this last option here.
OS-wise, the server runs on Debian 11 (bullseye), which should be perfectly fine.
Dependencies
To function properly, DokuWiki needs a web server that can run php, and obviously php, as we can see on their requirements page.
There are plenty of webservers to choose from, but here we already used nginx so we'll continue working with that one.
As for php, we just need to install it. The version recommended by DokuWiki is php8, but the available major version on Debian 11's official repos is 7, so we'll need to add an external repo that contains php8.
1. Add Sury PHP repo
As said above, the PHP 8.X packages are not available on the default base repositories, therefore we have to add the SURY repo manually.
echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main"\ | sudo tee /etc/apt/sources.list.d/sury-php.list
This is a single line command, so you can just copy/paste the whole command into your terminal and hit Enter.
2. Import GPG Key on Debian
Now the system needs to verify the packages received from the SURY repo to confirm their authenticity.
wget -qO - https://packages.sury.org/php/apt.gpg | sudo apt-key add -
3. Update APT cache
Now we have to flush and rebuild the repositories cache so that APT is aware of the latest packages.
sudo apt update
4. Install PHP 8.X
Now that the repo is fully configured, we can just run the install command for php8 with apt package manager.
sudo apt install php8
5. Install PHP dependencies
Normally, we could've stopped there for our PHP 8 install, but DokuWiki needs a special PHP 8 package that may not be present by default after this install : package name
This page is not finished yet, what remains to do is finishing php install & nginx config.
