InstallOnIIS10
Description
How do I host a PmWiki website on Internet Information Services 10? e.g. for Windows 10.
Prerequisites
- 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
- ensure your router is configured to forward traffic on port 443 to your server machine for HTTPS
Instructions
These instructions were based on Windows 10 home, therefore Windows Server Manager was not available.
- click to install PHP on Windows using the Microsoft Web platform installer (deprecated 31 Dec 2022)
Create folders for your website on the server,
\\The-server\home\website\
- install or copy your PmWiki website to (say)
\\The-server\home\website\pmwiki\
Note: physically this is a directory such as D:\home\website\pmwiki\
.
The site specific application pool identity looks like this "IIS AppPool\TheSite
"
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
File Permissions
Ensure the "virtual application pool identity"[1][2] (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
.
Setup a secure service in IIS
You will want a certificate, a self-signed certificate won't cut it these days
- Lets Encrypt is a free, automated, and open Certificate Authority
- Certify the Web provides a native client to acquire and install a Let's Encrypt certificate
Notes
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, theniisreset /start
,
- to save file user
Configurations
The following are configuration options that may be useful
Query strings containing "+" sign
From StackOverflow: '+' symbol problem in URL in IIS 7.x IIS7 introduced new URL filtering rules for security reasons. So '+' sign is blocked by default as part of security reason in URL.
To resolve this issue set allowDoubleEscaping="true" in web.config
files.
<system.webServer> <security> <requestFiltering allowDoubleEscaping="true"> </requestFiltering> </security>
Release notes
See also
- install Cookbook:PHP PHP windows installation and configuration for PmWiki
- installation Obtaining and installing PmWiki
- Cookbook:InstallOnIIS How to install PmWiki on IIS v6 or v7
- Cookbook:InstallOnIIS7dot5plus Install PmWiki on IIS 7.5, 8, 8.5, 10, or newer
- Install and configure PHP on IIS (learn.Microsoft)
Contributors
Comments
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.