Summary: Install PmWiki on Windows 10 and IIS 10
Status: Living document
Questions answered by this recipe
How do I host a PmWiki website on Internet Information Services 10?
e.g. for 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 to your server machine
Site basic settings
Site advanced settings
These instructions were based on Windows 10 home, therefore Windows Server Manager was not available.
Create folders for your website on the server,
- install or copy your PmWiki website to (say)
Note: physically this is a directory such as
Set site's specific application pool identity
Set website to use application pool identity
Website folders permissions
wiki.d folder permissions
IIS configuration from IIS Manager
- right (context) click in the Connections pane
- choose the Add Website action
- IIS uses anonymous authentication for PmWiki website users. From the IIS site entry
- open Authentication
- select "Anonymous Authentication" and then "edit ..."
- 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
Ensure the "virtual application pool identity" (
IIS AppPool\WebsiteAppPoolName) permissions are set for the folder in which your
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
If you copied your PmWiki site from elsewhere you may have to delete the
.flock file in the
To increase the file upload size above 30MB ensure that
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).
or in IIS, right click the name of the server and select properties, check "Enable Direct Metabase Edit".
- to save file user
iisreset /stop from the command line, then save file, then
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 discussion at InstallOnIIS10-Talk?
User notes? : 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.