====== DokuWiki (Ubuntu 24 Server) ======
Operational notes, install steps, required PHP modules, and recovery procedures.
Server OS: Ubuntu 24
Web server: nginx
PHP: php-fpm (8.3)
Wiki path: /var/www/html/amigaz/wiki
----
===== Install / Initial Setup =====
==== Required Packages ====
sudo apt update
sudo apt install -y \
nginx \
php8.3-fpm \
php8.3-cli \
php8.3-common \
php8.3-curl \
php8.3-gd \
php8.3-mbstring \
php8.3-xml \
php8.3-zip \
php8.3-intl \
php8.3-sqlite3
Restart PHP after install:
sudo systemctl restart php8.3-fpm
----
===== Required PHP Modules =====
DokuWiki core and common plugins require:
| Module | Purpose |
|--------|--------|
| mbstring | Text handling |
| xml | Parser |
| gd | Image handling |
| curl | External fetch |
| intl | Unicode support |
| zip | Plugin/theme installs |
| sqlite3 | Tagging, search, plugins |
| pdo_sqlite | SQLite database access |
Check installed modules:
php -m | egrep -i 'sqlite|mbstring|xml|gd|curl|intl|zip'
Verify PDO drivers:
php -i | grep "PDO drivers"
Expected output:
PDO drivers => sqlite
----
===== File Permissions =====
DokuWiki must be writable by the web user.
sudo chown -R www-data:www-data /var/www/html/amigaz/wiki
sudo find /var/www/html/amigaz/wiki -type d -exec chmod 755 {} \;
sudo find /var/www/html/amigaz/wiki -type f -exec chmod 644 {} \;
Writable directories:
data/
conf/
lib/plugins/
If plugin errors occur:
sudo chown -R www-data:www-data data conf lib/plugins
----
===== nginx Notes =====
Typical PHP handler block:
location ~ \.php$ {
include snippets/fastcgi-php.conf;
fastcgi_pass unix:/run/php/php8.3-fpm.sock;
}
After changes:
sudo nginx -t
sudo systemctl reload nginx
----
===== Common Problems =====
==== SQLite PDO driver not available ====
Error:
Exception: SQLite PDO driver not available
Fix:
sudo apt install php8.3-sqlite3
sudo systemctl restart php8.3-fpm
Verify:
php -m | grep sqlite
----
==== Blank page or plugin crashes ====
Check logs:
tail -f /var/log/nginx/error.log
tail -f /var/www/html/amigaz/wiki/data/log/error.log
Restart PHP:
sudo systemctl restart php8.3-fpm
----
==== After PHP upgrade, wiki breaks ====
Symptoms:
* Tag search stops working
* Plugins fail
* White pages
Cause:
PHP modules for the new version are missing.
Fix example (after upgrade to 8.4):
sudo apt install php8.4-fpm php8.4-sqlite3 php8.4-xml php8.4-mbstring php8.4-gd php8.4-curl php8.4-intl php8.4-zip
sudo systemctl restart php8.4-fpm
----
===== Upgrade Checklist =====
Before upgrade:
cd /var/www/html/amigaz
tar -czf wiki-backup.tar.gz wiki
After PHP or system upgrade:
1. Verify PHP version
php -v
2. Reinstall modules for that version
sudo apt install phpX.Y-sqlite3 phpX.Y-xml phpX.Y-mbstring phpX.Y-gd phpX.Y-curl phpX.Y-intl phpX.Y-zip
3. Restart PHP
sudo systemctl restart phpX.Y-fpm
4. Test wiki search and plugins
----
===== Quick Recovery Steps =====
If the wiki is broken:
1. Check PHP-FPM status
systemctl status php8.3-fpm
2. Restart services
systemctl restart php8.3-fpm
systemctl reload nginx
3. Check error logs
tail -n 50 /var/log/nginx/error.log
tail -n 50 /var/www/html/amigaz/wiki/data/log/error.log
4. Verify SQLite module
php -m | grep sqlite
----
===== Useful Commands =====
nginx -T
systemctl restart php8.3-fpm
systemctl reload nginx
php -v
php -m
df -h