Table of Contents

Information

Prerequisites

Dependencies

Git

Download Source

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

Environment

PHP

"notepad.exe" "%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

nginx + PHP-CGI Configuration

PHP-CGI

"notepad.exe" "%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:/www/nginx/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.exe" "%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\nginx\Reload.bat"

Scripts

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

PHP-CGI

"notepad.exe" "%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"

Update

"notepad.exe" "%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

"%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
"%SystemDrive%\www\scripts\wiki\Update.bat"

Back-up

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

:: User\Downloads
"tar.exe" -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.exe" -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
"%SystemDrive%\www\scripts\wiki\Back-up.bat"

Shortcuts

Desktop

Update

"%SystemDrive%\www\scripts\wiki\Update.bat"
Wiki Update

Back-up

"%SystemDrive%\www\scripts\wiki\Back-up.bat"
Wiki Back-up

Autostart

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

Initial Setup

Settings

Deny Directives

"notepad.exe" "%SystemDrive%\www\nginx\vhosts.d\wiki.conf"
"%SystemDrive%\www\scripts\nginx\Reload.bat"

Admin

Template Style Settings

Double-hyphen Convert Disable

"notepad.exe" "%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