Summary: Install PmWiki on IIS 7.5, 8, 8.5, 10, or newer
Version: 2014-07-20
Prerequisites: See below
Status: Living document
License: n/a
Maintainer: Simon
Add CGI role service

Questions answered by this recipe


Hosting your PmWiki website on Internet Information Services 7.5 or newer, e.g. for Windows Home Server 2011 aka Windows Server 2008 R2, or Windows 10.


  • ensure your server has a fixed IP address
  • create server folders for your website data
  • if your website is external
    • ensure your domain name is registered to your external static IP address
    • ensure your router is configured to forward traffic on port 80 and port 443to your server machine
Server Manager basic settings Website advanced settings


Create a server folders on the server,

eg \\Home-server\ServerFolders\home\mywebsite\
  • install or copy your PmWiki website to (say)
eg \\Home-server\ServerFolders\home\mywebsite\public_html\pmwiki\

Note: physically this is a directory such as D:\ServerFolders\home\mywebsite\public_html\.

Set website's specific application pool identity Website Anonymous Authentication Website folder permissions wiki.d folder permissions Website maximum content length (bytes)

IIS configuration

Use Server Manager to install IIS, set up the website, change permissions, and configure your website.

  • click on Roles or scroll down the main pane to Roles Summary
    • to install IIS
      • choose Add Roles, and the Add Roles wizard starts
      • choose Web Server (IIS) Manager (only needs to be installed once)
    • to add a web site
      • under Roles > WebServer (IIS) > Internet Information Services (IIS) Manager
      • right (context) click on the server name
      • choose the Add Website action
  • IIS uses anonymous authentication for PmWiki website users. From the IIS site entry
    • open Authentication Showing authentication icon
    • select "Anonymous Authentication" and then "edit ..."
    edit Anonymous Authentication
    • select "Application Pool Identity"

You may wish to configure the website

  • set default document (to index.php, index.html, or pmwiki.php)
  • turn compression on (or off)
  • disable (or enable) directory browsing

File Permissions

Ensure the "virtual application pool identity"[2][3] (IIS AppPool\WebsiteAppPoolName) permissions are set for the folder in which your pmwiki.php or index.php resides. The defaults values of "Read & Execute, List Contents, Read" are sufficient.

For the folder wiki.d add to the "virtual application pool identity" (IIS AppPool\WebsiteAppPoolName) permissions "Modify, Write".

If you wish to enable uploads add the "virtual application pool identity" (IIS AppPool\WebsiteAppPoolName) permissions "Modify, Write" to the folder uploads.


If you copied your PmWiki site from elsewhere you may have to delete the .flock file in the wiki.d directory.

To increase the file upload size above 30MB ensure that

  • in config.php you have set $UploadExtSize for the extensions required (eg $UploadExtSize['jpeg'] = 12000000; # limit .jpeg files to 12MB)
  • using Server Manager open request filtering, choose edit feature settings, and change the Maximum allowed content length (Bytes).
    • to save file user iisreset /stop from the command line, then save file, then iisreset /start,
    or in IIS, right click the name of the server and select properties, check "Enable Direct Metabase Edit".

Release notes

If the recipe has multiple releases, then release notes can be placed here. Note that it's often easier for people to work with "release dates" instead of "version numbers".

See also

IIS 7.5




See discussion at InstallOnIIS7dot5plus-Talk

User notes +1: If you use, used or reviewed this recipe, you can add your name. These statistics appear in the Cookbook listings and will help newcomers browsing through the wiki.