DokuWiki On A Stick

Nicht jeder möchte/hat die Möglichkeit, DokuWiki1) auf einem Webserver im Internet zu betreiben. Um trotzdem ständig Zugriff auf seine Wissenssammlung zu haben, kann man DokuWiki ebenfalls mit einem lokalen Webserver (microapache) benutzen, z.B. gespeichert auf einem USB-Stick. Ich habe eine kleine Anleitung zusammen gestellt, wie das unter Windows erledigt werden kann. Weitere Infos zu dem Thema und komplett fertig konfigurierte Pakete gibt es hier.

Anleitung

So soll anschließend die Verzeichnisstruktur aussehen:

USB-Stick
└── DokuWiki
    ├── conf
    │   └── Apache Konfiguration
    ├── dokuwiki
    │   └── DokuWiki Dateien
    ├── logs
    │   └── Apache Log Dateien
    ├── modules
    │   └── Apache Module
    ├── MicroApache Dateien
    ├── PHP Dateien
    └── Start/Stop Skripte
  1. Ein neues Verzeichnis (z.B. DokuWiki) auf dem USB-Stick erstellen
  2. MicroApache (2.0.x; no PHP) herunterladen und komplett in das Verzeichnis entpacken
  3. PHP (VC6; thread safe) herunterladen
    1. Folgende Dateien in das Verzeichnis entpacken: php5apache2.dll, php5ts.dll, php.ini, libeay32.dll, ssleay32.dll + Erweiterungen aus dem ext-Verzeichnis: php_gd2.dll, php_mbstring.dll, php_openssl.dll2) und php_sqlite.dll3)
  4. DokuWiki herunterladen und in das Verzeichnis entpacken oder eine bestehende Installation kopieren
  5. Konfigurationen anpassen:

conf/httpd.conf:

Listen 127.0.0.1:8800
ServerName DokuWiki
ServerRoot ./
DocumentRoot ./dokuwiki
ServerAdmin webmaster@localhost
Win32DisableAcceptEx On
LoadModule access_module modules/mod_access.dll
LoadModule dir_module modules/mod_dir.dll
LoadModule mime_module modules/mod_mime.dll
LoadModule rewrite_module modules/mod_rewrite.dll
LoadModule php5_module "php5apache2.dll"
AddType application/x-httpd-php .php .php3
AcceptPathInfo off
KeepAlive on
KeepAliveTimeout 15
ServerTokens Prod
TimeOut 30
DirectoryIndex index.php

php.ini (Auszug):

# Speicherlimits (memory_limit) ggf. noch anpassen
 
extension_dir= .
extension=php_gd2.dll
extension=php_mbstring.dll
extension=php_openssl.dll
extension=php_sqlite.dll

Hier die passenden Start/Stop-Skripte:

DokuWiki-Start.bat
@echo off
start /min "DokuWiki Webserver" mapache.exe -w
start http://localhost:8800/
start /min DokuWiki-Stop.bat
DokuWiki-Stop.bat
@echo off
title DokuWiki beenden
echo Um DokuWiki zu beenden
pause
killproc.exe mapache.exe /all
exit

VB-Skript um den Webserver im Hintergrund laufen zu lassen:

DokuWiki-Start.vbs
WScript.CreateObject("WScript.Shell").Run "mapache.exe",0
WScript.CreateObject("WScript.Shell").Run "http://localhost:8800/"
WScript.CreateObject("WScript.Shell").Run "DokuWiki-Stop.bat",6

Wenn alles geklappt hat, startet nach dem Aufruf von DokuWiki-Start.bat der Webserver und anschließend der installierte Webbrowser mit der DokuWiki-Startseite.

Bei einer Neuinstallation muss man noch über http://localhost:8800/install.php die Grundeinstellungen einrichten. Weitere Informationen gibt es hier

2)
optional, wird für HTTPS Zugriffe benötigt
3)
optional, wird z.B. vom blogtng Plugin benötigt