# Role `dokuwiki`

Makes sure that all required packages for a [DokuWiki](https://www.dokuwiki.org/dokuwiki) powered by php-fpm are installed.

The DokuWiki tarball has to be unpacked to `/var/www/dokuwiki` (see variable below) manually afterwards.
Please download it from https://download.dokuwiki.org.

## Supported Distributions

The following distributions are supported:

- Debian 11
- Debian 12

## Required Arguments

None.

## Optional Argument

- `dokuwiki__installpath`: Where your DokiWiki lives, default `/var/www/dokuwiki`
- `dokuwiki__php_version`: Your PHP version, default `7.4` for Debian 11 and `8.2` for Debian 12
- `dokuwiki__php_user`: User of your php-fpm process, default `www-data`
- `dokuwiki__nginx_user`: User of your nginx process, default `nginx`
- `dokuwiki__custom_theme_git_url`: Clone URL of custom theme (HTTPS only)
- `dokuwiki__custom_theme_version`: Version (git branch, tag, ...) to checkout, default main
- `dokuwiki__custom_theme_name`: Name of the directory into which the custom theme is cloned

Warning: if a directory of the same name as `dokuwiki__custom_theme_name` already exists in the same directory, the task will fail.
This needs to be manually deleted first before the first run with the the custom theme enabled.

## nginx Configuration

This role does not configure your nginx server.
Please take a look at https://www.dokuwiki.org/install:nginx for a starting point.

This role expects to work with our `nginx` role, which installs nginx from nginx's repo instead of Debian's package.
This means, that nginx will not run as the `www-data`, which is used by php-fpm.

So your `server` directive in the nginx configuration needs to use:
```conf
  root /var/www/dokuwiki;

  [...]

  location ~ \.php$ {
    [...]
    fastcgi_pass unix:/var/run/php/php-fpm-dokuwiki.sock;
  }
```


## Updates

This role doesn't handle updates.
Please use the updater from Dokuwiki's admin interface to install updates.