Table of Contents

Information

Prerequisites

Dependencies

Download Source

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

Environment

PHP

"notepad.exe" "%SystemDrive%\www\php\wiki.ini"
[PHP]
extension_dir = ".\ext"
extension = "bz2"
extension = "gd"
extension = "intl"
extension = "mbstring"
extension = "openssl"
extension = "sodium"

error_reporting = "~E_ALL"
display_errors = "Off"
log_errors = "Off"

[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"
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"
@echo off

SET "PHP_FCGI_MAX_REQUESTS=0"
SET "PHP_FCGI_CHILDREN=1"

START "Wiki PHP-CGI" /MIN "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

TITLE Wiki Updater

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

"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

TITLE Wiki Back-up

:: 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"

Maintenance

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

TITLE Wiki Maintenance

CALL "%SystemDrive%\www\scripts\wiki\Git Fix.bat"

:: End
"%SystemDrive%\www\scripts\wiki\Maintenance.bat"

Git Fix

"notepad.exe" "%SystemDrive%\www\scripts\wiki\Git Fix.bat"
@echo off

TITLE Wiki Git Fix

RMDIR /S /Q "%SystemDrive%\www\wiki\.git"

"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" init --initial-branch="master"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" add "."
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" config "user.email" "espionage724@x"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" commit --message="x"

"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" remote add "origin" "https://github.com/dokuwiki/dokuwiki.git"
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" pull --depth "1" --recurse-submodules "origin" "master" --rebase
"%ProgramFiles%\Git\bin\git.exe" -C "%SystemDrive%\www\wiki" reset --hard "origin/master"

"%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

:: End
"%SystemDrive%\www\scripts\wiki\Git Fix.bat"

Shortcuts

Autostart

PHP-CGI

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

Task Scheduler

taskschd.msc

Update

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

Back-up

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

Maintenance

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

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

Files

Backup

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

TODOs

Find Orphaned Pages

"php.exe" "%SystemDrive%\www\wiki\bin\wantedpages.php"
"php.exe" "%SystemDrive%\www\wiki\bin\wantedpages.php" --help
2)
you are here :p
3)
Windows doesn't show a HTML color code picker for the above #s