Installing Elgg platform on Windows Server 2008 IIS 7

How to make Elgg work on a windows 2008 or 2008 r2 server:

I’ve used the installatron installer in plesk to do the initial Elgg installation. But after finishing the installation, Elgg didn’t work.

elgg on iis login pageAfter login in, it shows a 404 error:

elgg on iis 404

DaWolf posted an interesting solution on the Elgg community discussion board:

Yes I am running Elgg on IIS 7 (Windows 7). The rules you tried to add in the web.config threw errors in the regular expressions because IIS doesn’t need an escape character for the underscore. Replace all instances of /_ with _ in each regular expression and you should be good. I have added instrutions on how to get Elgg running on IIS if you’re just starting out.

  1) Install the IIS URL Rewrite module:

  2) Open the IIS Manager in Control Panel > Administrative Tools

  3) Right-Click on your Elgg site and select “Switch to Features View” if not already there.

  4) Open the URL Rewrite Feature and click “Import Rules…” in the actions menu.

  5) Browse for a configuration file… Open the “htaccess_dist” file located in the root directory of your elgg site.

  6) Rename each rule if you desire to do so by right clicking on the  rule name in the Tree View. This is optional. I renamed my rules  “Action Handler, Service Handler, Export Handler1, etc…”

  7) Under each rule there is a match tag. The tags contain regular  expressions. Most regular expressions will generate an error because IIS  is interpreting them differently than Apache would. There is a simple  fix. In every instance you see “/_” remove the slash.  It is an escape character for the underscore. This isn’t necessary for  IIS and will generate an error. Be sure to remove it anytime you see it  before the underscore.

  8) In the actions menu on the right, hit apply.

That’s it! Elgg should now work on IIS.

Please note that this is only a viable solution if you have access to the IIS manager, in a shared hosting enviroment this can be an issue, please contact your hosting provider if you need support with these settings.