Deployment guide

DokuWiki

Overview

DokuWiki is a simple, highly versatile open source wiki that needs no database. Every page is a plain text file on disk, so backups are trivial, version history is built in, and there is no database server to run, tune or back up separately. It is a popular choice for documentation, knowledge bases, team wikis, runbooks and manuals.

The SecureAnyCloud image installs the current stable DokuWiki release, served by nginx and PHP 8.3 FPM on a hardened Ubuntu 24.04 LTS base that is patched at build time. Backed by 24/7 SecureAnyCloud support.

What you get:

  • DokuWiki (stable release) served by nginx and PHP 8.3 FPM, managed by systemd.
  • The DokuWiki web interface on :80, behind an nginx reverse proxy, with Access Control Lists enabled.
  • A per-VM admin account with a unique administrator password, generated on the first boot of every VM and recorded in a root-only file.
  • A dedicated Azure data disk at /var/lib/dokuwiki for all wiki content: pages, media, metadata and the search index.
  • nginx.service and php8.3-fpm.service as systemd units, enabled and active.
  • An unauthenticated /healthz endpoint for Azure Load Balancer health probes.
  • 24/7 SecureAnyCloud support.

Prerequisites

  • An active Azure subscription, an SSH key pair, and a VNet and subnet in the target region.
  • Standard_B2s (2 vCPU / 4 GiB RAM) is a sensible starting point. Size up for busier wikis or large media libraries.
  • NSG inbound: allow 22/tcp from your management network and 80/tcp for the wiki.

DokuWiki serves plain HTTP on port 80. For production, terminate TLS in front of it with your own domain.

Step 1 - Deploy from the Azure Marketplace

Sign in to the Azure Portal, choose Create a resource, search the Marketplace for DokuWiki by SecureAnyCloud, and select Create.

On Basics, pick your subscription, resource group, region and size. Under Administrator account, choose SSH public key and paste your key. Under Inbound port rules, allow SSH (22) and HTTP (80).

Review the dedicated data disk on the Disks tab, then select Review + create and Create.

Step 2 - Deploy from the Azure CLI

# Accept the Marketplace terms once per subscription (required before the first CLI deploy)
az vm image terms accept --urn sac1647283583153:dokuwiki-ubuntu-24-04:default:latest
az vm create \
  --resource-group <your-rg> \
  --name dokuwiki \
  --image sac1647283583153:dokuwiki-ubuntu-24-04:default:latest \
  --size Standard_B2s \
  --admin-username azureuser \
  --ssh-key-values ~/.ssh/id_ed25519.pub \
  --vnet-name <your-vnet> --subnet <your-subnet> \
  --public-ip-sku Standard
az vm open-port --resource-group <your-rg> --name dokuwiki --port 80 --priority 1010

Step 3 - Connect to your VM

ssh azureuser@<vm-public-ip>

Step 4 - Confirm the services are running

DokuWiki is served by nginx on port 80, which forwards PHP requests to PHP 8.3 FPM over a local socket. Confirm that both services are active and that nginx is listening on port 80.

systemctl is-active nginx php8.3-fpm dokuwiki-firstboot ss -tlnp | grep ':80 '

Step 5 - Retrieve your admin password

On the first boot of every VM, dokuwiki-firstboot.service generates a unique administrator password, seeds the DokuWiki admin account with it, and writes the details to a root-only file. Read the file with this command.

sudo cat /root/dokuwiki-credentials.txt

Step 6 - Confirm the stack and health endpoint

nginx serves an unauthenticated /healthz endpoint for load balancer probes. Confirm the DokuWiki release and the PHP version, and check that the wiki responds.

cat /var/www/dokuwiki/VERSION php -v | head -1 curl -sI http://127.0.0.1/healthz | head -1 curl -s http://127.0.0.1/doku.php?id=start | grep -o '<title>[^<]*</title>'

Step 7 - Open the wiki in your browser

Browse to http://<vm-public-ip>/. The wiki start page is the welcome page shipped with the image. Anonymous visitors can read it, because read access is granted to everyone by default.

Step 8 - Sign in as admin

Click Log In in the top right. Enter admin and the password from Step 5.

Once you sign in, the user tools show Logged in as: Administrator (admin) along with the Admin and Log Out links. Every section gains an Edit button.

Step 9 - Create and edit pages

To create a page, visit a page name that does not exist yet and click Create this page. To change a page, edit the existing page. Pages use DokuWiki's simple wiki markup.

Organize related pages into namespaces by separating names with a colon, for example projects:alpha. The editor provides a formatting toolbar and a live preview.

Step 10 - Manage users and Access Control Lists

Open the Admin menu to reach the administration panel. From there you can:

  • Manage users in the User Manager.
  • Control who can read and edit which namespaces in Access Control List Management.
  • Adjust wiki behavior in Configuration Settings.
  • Install plugins from the Extension Manager.

The default policy shipped with this image grants read access to everyone and edit access to logged-in users. Tighten or relax it to suit your organization.

Step 11 - Confirm wiki content lives on the dedicated disk

All wiki content lives under /var/lib/dokuwiki, which is a dedicated Azure data disk captured into the image and re-provisioned on every VM.

Because DokuWiki is database-free, everything (pages, media, metadata, the search index and version history) is plain files under this mount.

df -h /var/lib/dokuwiki | tail -1 ls /var/lib/dokuwiki findmnt -no SOURCE,TARGET,FSTYPE /var/lib/dokuwiki

Maintenance

  • Back up your wiki: because DokuWiki needs no database, a backup is a copy of /var/lib/dokuwiki (all pages, media, metadata and history) plus /var/www/dokuwiki/conf (users and ACLs). Snapshot the data disk or tar the directory.
  • Add users: sign in as admin and use Admin then User Manager. Self-registration is disabled by default on this appliance.
  • Namespaces and ACLs: use Admin then Access Control List Management to scope read and write access per namespace.
  • Plugins and templates: install extensions from Admin then Extension Manager.
  • Security updates: unattended security upgrades are enabled, so the OS keeps itself patched. Reboot when a new kernel is installed.
  • TLS: for production, front DokuWiki with your own domain and a TLS-terminating reverse proxy or Azure Application Gateway.

Support

SecureAnyCloud provides 24/7/365 expert technical support for this image. Contact sales@secureanycloud.com. DokuWiki is licensed under GPL 2.0. SecureAnyCloud provides this image, and additional charges apply for build, maintenance and 24/7 support.

Deploy on Azure

Launch DokuWiki on Ubuntu 24.04 LTS on Azure with 24/7 support from SecureAnyCloud.

View this image

Need Help?

Our support team is available 24/7.

sales@secureanycloud.com

Deploy on Azure