This is an old revision of the document!
Table of Contents
DokuWiki with IIS
Overview
This is for people who want to use DokuWiki on a Windows machine with IIS webserver (Windows 2000, Windows XP or Windows Server 2003, 2008)
IIS 7
Installation
The first step is to setup the web server for CGI Link
Basically you just tick the CGI tickbox under windows server IIS roles features
The next step is to install PHP for Windows
Use the latest stable non-thread safe version (MS recommends this)
install this into C:\PHP\
Next try to see if PHP Works via the command line
cd C:\PHP\ php -info
If you get an error about MSVCR110.dll then try installing this (64bit) Link
Handler Mappings
Next we need to setup the Handler Mappings for IIS7
- Open the IIS Manager
- Select the Server
- Double Click the Handler Mappings Icon
- Select Add Module Mapping
| Request path: | *.php |
Module: | FastCgiModule |
Executable | C:\PHP\php-cgi.exe |
Name | PHP via FastCGI |
Below Old
IIS6 and Prior
Install PHP
- New DL-Link for PHP under IIS (auto-install): IIS-Aid
- If you want to do an offline install and want to use fast-cgi, install the addin before you install php: IIS-FastCGI
(Just install and leave the setting 'download and install FastCGI' and it will auto-detect fast-cgi on your System)
- Use the windows install from PHP's website. See the PHP site for installers or complete packages. PHP can run either as CGI-application or as an ISAPI extension. As an alternative, see the Microsoft IIS Site for automatic setup of PHP.
- If you're using the Windows Cache Extension for PHP, you will need to disable the file caching functionality of the extension by setting
wincache.fcenabled
to0
inphp.ini
.
Configure IIS
- Extract the DokuWiki archive
- Rename the
dokuwiki-YYYY-MM-DD
directory todokuwiki
(or whatever else you like) and move it to:- BEST Practice is to put it somewhere other than your “system” drive, “D:\dokuwiki”. This is for security and mitigating the chance of a “disk full” condition on this drive.
- Somewhere below your new webserver documentroot, e.g.
c:\inetpub\wwwroot\dokuwiki
- Secure all the directories as explained at the step 2 of the main Install page.
- Configure IIS (do one of these):
- Virtual-Directory in an existing website like “www.YourSite.com/wiki”: so make sure to setup a Virtual Directory mapping to the wiki-code-location
- New Website like “wiki.YourSite.com”: so add an new website-Config in the IIS and set the Root-Directory to the wiki-code-location
- Browse to the
dokuwiki/
directory and Check the properties of thedata/
folder. Ensure that the Internet Guest Account (IUSR_computername) or the appropriate web server account (or web server group like IIS_WPG) has Folder level “Write” permissions to thedata/
folder. - The wiki installer should now be available at http://localhost/dokuwiki/install.php
NOTES
- If you want to write the /conf/local.php (and you have to do that during the install-process!) ensure, that the Internet Guest Account (IUSR_computername) or the appropriate web server group (like IIS_WPG) has “Write” permissions to the
conf/local.php
file. - If you want to start your new DokuWiki, ensure, that the Internet Guest Account (IUSR_computername) or the appropriate web server group (like IIS_WPG) has “Write” permissions to the
conf/local.php
file.
IIS7
Install PHP
- Use the windows install from PHP's website. See the PHP site for installers or complete packages. There are 2 installers, choose the “thread safe” and the “non-thread safe” installer. It is recommended that you use a non-thread safe build of PHP with IIS 7 FastCGI. A non-thread safe build of PHP provides significant performance gains over the standard build by not doing any thread-safety checks, which are not necessary, since FastCGI ensures a single threaded execution environment.
- PHP can run either as CGI-application or as an ISAPI extension. These instructions are for Fast-CGI as it is quicker and more stable than ISAPI. Even Microsoft instructs to install using Fast-CGI, even though they invented ISAPI. See the How To
Configure IIS
- Extract the DokuWiki archive
- Rename the
dokuwiki-YYYY-MM-DD
directory todokuwiki
(or whatever else you like) and move it to:- BEST practice is to put it somewhere other than your system drive(e.g.
D:\dokuwiki
). This is for security and to mitigate the chance of a disk full condition on this drive. - However you can also put it somewhere below your new webserver documentroot, (e.g.
c:\inetpub\wwwroot\dokuwiki
)
- Secure all the directories as explained at the step 2 of the main Install page.
- You will have to give the IUSR account read & execute permissions to the website, as it is not there by default.
- In IIS Manager left click the site name
- Click “Edit Permissions” in the Actions pane OR right click and choose “Edit Permissions” from the shortcut menu.
- Click the Security tab
- Click the Edit button
- Click the Add button
- Click the Locations button and choose the local server name
- Now type in IUSR and click OK, and OK again.
- Configure IIS (do one of these):
- Virtual-Directory in an existing website like “www.YourSite.com/wiki”: so make sure to setup a Virtual Directory mapping to the wiki-code-location
- New Website like “wiki.YourSite.com”: so add an new website-Config in the IIS and set the Root-Directory to the wiki-code-location
- Browse to the
dokuwiki/
directory and Check the properties of thedata/
folder. Ensure that the Internet Guest Account(IUSR), the appropriate web server account or Server Group(IIS_IUSRS) has Folder level “Write” permissions to thedata/
folder. See above for instructions. - Browse to the
dokuwiki/
directory and Check the properties of theconf/
folder. Ensure that the Internet Guest Account(IUSR), the appropriate web server account or Server Group(IIS_IUSRS) has Folder level “Write” permissions to theconf/
folder. See above for instructions. - The wiki installer should now be available. Depending on how you installed it you can find it at http://localhost/dokuwiki/install.php OR http://(wiki site name)/install.php
- Browse to the
dokuwiki/
directory and delete the install.php file.