User Tools

Site Tools


servers:windows:nginx:dokuwiki

Information

Prerequisites

Dependencies

Git

  • Git from the command line and also from 3rd-party software

Download Source

"%ProgramFiles%\Git\bin\git.exe" clone --branch "master" --depth "1" --recurse-submodules "https://github.com/splitbrain/dokuwiki.git" "%SystemDrive%\www\wiki"
explorer "%SystemDrive%\www\wiki"

Environment

PHP

notepad "%SystemDrive%\www\php\wiki.ini"
[PHP]
; Modules
extension_dir = ".\ext"
extension = "bz2"
extension = "gd"
extension = "intl"
extension = "mbstring"
extension = "openssl"
zend_extension = "opcache"

[Date]
date.timezone = "America/New_York"

; End
"php.exe" -c "%SystemDrive%\www\php\wiki.ini" -m

freenginx + PHP-CGI Configuration

PHP-CGI

  • :!: fastcgi_params include hard-coded to freenginx version path
notepad "%SystemDrive%\www\nginx\default.d\wiki.conf"
# PHP-CGI
location ~ \.(php)(/.*)?$ {
    fastcgi_split_path_info ^(.+\.(?:php))(/.*)$;
    fastcgi_intercept_errors "on";
    fastcgi_index "doku.php";
    include "C:/freenginx-1.27.4/conf/fastcgi_params";
    fastcgi_param "SCRIPT_FILENAME" $document_root$fastcgi_script_name;
    fastcgi_param "PATH_INFO" $fastcgi_path_info;
    fastcgi_param "HTTPS" "on";
    fastcgi_pass "127.0.0.1:9002";
}

# End

Server Block

notepad "%SystemDrive%\www\nginx\vhosts.d\wiki.conf"
server {
    listen "443" "ssl";
    http2 "on";
    server_name "wiki.realmofespionage.xyz";
    root "C:/www/wiki";
    index "doku.php";

    include C:/www/nginx/default.d/wiki.conf;
    include C:/www/nginx/default.d/headers.conf;

    client_max_body_size "10M";

    add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:" always;

#    access_log  logs/wiki-access.log;
#    error_log  logs/wiki-error.log;

#    location = /install.php {
#        deny all;
#    }

#    location ~ /(conf|bin|inc)/ {
#        deny all;
#    }

#    location ~ /data/ {
#        internal;
#    }

    location / { try_files $uri $uri/ @dokuwiki; }

    location @dokuwiki {
        rewrite ^/_media/(.*) /lib/exe/fetch.php?media=$1 last;
        rewrite ^/_detail/(.*) /lib/exe/detail.php?media=$1 last;
        rewrite ^/_export/([^/]+)/(.*) /doku.php?do=export_$1&id=$2 last;
        rewrite ^/(.*) /doku.php?id=$1&$args last;
    }
}

# End
"%SystemDrive%\www\scripts\freenginx\Reload.bat"

Batch Files

MKDIR "%SystemDrive%\www\scripts\wiki"
explorer "%SystemDrive%\www\scripts\wiki"

PHP-CGI

notepad "%SystemDrive%\www\scripts\wiki\PHP-CGI.bat"
SET "PHP_FCGI_MAX_REQUESTS=0"
SET "PHP_FCGI_CHILDREN=1"

START "Wiki PHP-CGI" "php-cgi.exe" -b "127.0.0.1:9002" -c "%SystemDrive%\www\php\wiki.ini" -q

:: End
"%SystemDrive%\www\scripts\wiki\PHP-CGI.bat"

Autostart

explorer "%ProgramData%\Microsoft\Windows\Start Menu\Programs\StartUp"
"%SystemDrive%\www\scripts\wiki\PHP-CGI.bat"
Wiki PHP-CGI

Update

notepad "%SystemDrive%\www\scripts\wiki\Update.bat"
@echo off

"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" reset --hard
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" pull origin "master" --rebase

:: End

Maintenance

notepad "%SystemDrive%\www\scripts\wiki\Maintenance.bat"
@echo off

"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" gc --aggressive --prune="all"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" fsck --full --strict

"php.exe" "%SystemDrive%\www\wiki\bin\indexer.php" --clear

:: End

Back-up

notepad "%SystemDrive%\www\scripts\wiki\Back-up.bat"
@echo off

:: User\Downloads
tar -czf "%UserProfile%\Downloads\dokuwiki-files-auto-%RANDOM%.tar.gz" -C "%SystemDrive%\www\wiki" "data/pages" "data/meta" "data/media" "data/media_meta" "data/attic" "data/media_attic" "conf"

:: NAS
::tar -czf "D:\Servers\Scheduled Backups\dokuwiki-files-auto-%RANDOM%.tar.gz" -C "%SystemDrive%\www\wiki" "data/pages" "data/meta" "data/media" "data/media_meta" "data/attic" "data/media_attic" "conf"

:: End

Initial Setup

Settings

Deny Directives

  • Uncomment commented sections (except logs)
  • Do after initial setup and check warning in Admin panel
notepad "%SystemDrive%\www\nginx\vhosts.d\wiki.conf"
"%SystemDrive%\www\scripts\freenginx\Reload.bat"

Admin

  • Configuration Settings → DokuWiki → Advanced → userewrite: .htaccess

Template Style Settings

  • Alternative background color: #484848 (dark gray)
  • The general link color: #3d8bff (blue)
  • Width of full site: 85%
  • Width of sidebar: 25%
  • :?: Color options may vary on the OS 3)

Double-hyphen Convert Disable

  • This prevents -- from becoming a – (long hyphen) which breaks some command's syntax
notepad "%SystemDrive%\www\wiki\conf\entities.local.conf"
--      --

Quick Commands

Find Orphaned Pages

"php.exe" "%SystemDrive%\www\wiki\bin\wantedpages.php"
"php.exe" "%SystemDrive%\www\wiki\bin\wantedpages.php" --help

TODOs

2)
you are here :p
3)
Windows doesn't show a HTML color code picker for the above #s
C:/www/wiki/data/pages/servers/windows/nginx/dokuwiki.txt · Last modified: by Sean Rhone