====== 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