Note: You are currently viewing documentation for Moodle 2.5. Up-to-date documentation for the latest stable version of Moodle may be available here: Internet Information Services.

Internet Information Services: Difference between revisions

From MoodleDocs
Line 14: Line 14:


* Matches the Pattern - Regular Expressions - <code>^([^\?]+?\.php)(\/.+)$</code>
* Matches the Pattern - Regular Expressions - <code>^([^\?]+?\.php)(\/.+)$</code>
* Action - Rewrite - <code>{R:1}\?file={R:2}</code> - Append query string
* Action - Rewrite - <code>{R:1}\?file={R:2}</code>
* Append query string - enabled
* Stop processing of subsequent rules - enabled
 
Add following rewrite rule to work around internal IIS limitations, otherwise Javascript will not probably work:
 
* Matches the Pattern - Regular Expressions - <code>^(.*/theme/yui_combo.php)(/.*)$</code>
* Action - Rewrite - <code>{R:1}?file={R:2}</code>
* Stop processing of subsequent rules - enabled


==Directory permissions==
==Directory permissions==

Revision as of 13:49, 1 June 2012

Internet Information Services (IIS) is the web server software bundled with Windows Server, as well as certain client versions of Windows.

PHP installation

It is strongly recommended to use only the official Microsoft PHP installer from http://php.iis.net/, it automatically installs all necessary components and facilitates easy configuration with PHP manager. Manual installation attempts often fail or may not allow Moodle to function properly.

Configuration

Unfortunately IIS does not natively support unicode characters in so called slashargument URL which are used in Moodle for file serving. Moodle requires manual configuration of rewrite rules, the PHP installation via Microsoft Web Platform Installer installs necessary URL Rewrite 2.0 module.

Rewrite rule - Internet Information Services (IIS) Manager.png

Add following rewrite rule to enable support for unicode file names in Moodle:

  • Matches the Pattern - Regular Expressions - ^([^\?]+?\.php)(\/.+)$
  • Action - Rewrite - {R:1}\?file={R:2}
  • Append query string - enabled
  • Stop processing of subsequent rules - enabled

Add following rewrite rule to work around internal IIS limitations, otherwise Javascript will not probably work:

  • Matches the Pattern - Regular Expressions - ^(.*/theme/yui_combo.php)(/.*)$
  • Action - Rewrite - {R:1}?file={R:2}
  • Stop processing of subsequent rules - enabled

Directory permissions

The default IIS account is IIS_IUSRS, make sure it has appropriate access right to Moodle dirroot (read only) and dataroot (read/write) directories.

Debugging problems

By default IIS contains custom error pages that intentionally hide error details on production sites. When diagnosing problems you may want to disable temporarily the IIS Error Pages.

See also