IIS Configuration
https://secure.gravatar.com/avatar/cf3f3abe2a109700ea937dfd1d03b969.png?d=wavatar&s=28
Mon Aug 12 12:09 Authored by kanto501

Howto setup The Bug Genie for Internet Information Services  

Step 1: Installing  

If you are impatient and use IIS 7 or later, we recommend you use the Microsoft Web Platform Installer tool to install IIS, MySQL and PHP for you. This tool does not currently install PostgreSQL. You will also need to install the URL Rewrite module. WebPI will also let you install the Microsoft Cache extension, which will improve performance. If you use IIS 6 or before, you will need to manually install, this includes finding an alternative URL Rewriting module.

If you do not wish to use this tool, then you will need to install the components separately, which is beyond the scope of this guide. We recommend you use Microsoft's PHP plugin for IIS rather than ISAPI filters for performance reasons.

Now, copy The Bug Genie to its installation place.

Step 2: Permissions  

The IIS user will need write access to various directories to install TBG. You will be informed which directories need permission, but if you get a mkdir error, it may be necessary to set the permissions in advance. These will need setting on:
  thebuggenie/
  thebuggenie/thebuggenie
  thebuggenie/files
  thebuggenie/core
  thebuggenie/core/cache
  thebuggenie/core/cache/B2DB
This is a rough list, there may be others necessary.

You can now install, but it will fail at completion (when trying to log in) as the rules will not be set.

Step 3: URL Rewriting  

IIS 6  

Helicon make an excellent URL rewriting module, which is available in both free and commercial versions. If you use this ISAPI module, and you pay for the full version, your life will be a lot easier. This ISAPI module (in the commercial version) can parse the htaccess file generated by The Bug Genie installer, and so no further configuration will be necessary.

If you do not pay for the commercial version, some extra configuration will be necessary, as the free version will only parse a httpd.conf file. This can be edited using the provided tool found in the Start Menu. All that is necessary is to take the contents of the autogenerated htaccess file, and place its contents in the httpd.conf file. The Helicon tool will likely complain that the .svn rule is invalid, this can be safely commented out.
Alternative using IIRF  
On CodePlex, there is also a free and open source plugin called IIRF which also provides URL rewriting functionality. This is a little more complicated to set up, but SB#1 has written a great guide about it over on the forums: http://thebuggenie.com/forum/viewtopic.php?f=5&t=646&p=2789#p2416

IIS 7 and later  

You could also just use Helicon's plugin or IIRF, but this is native to IIS 7, so may be a better choice. Go to the URL Rewriting settings for your web site (not the server), and create a new rule.

This rule will convert the friendly URLs to the internal TBG ones. We are assuming that the directory containing index.php is at /thebuggenie/thebuggenie
  • Pattern: ^thebuggenie/thebuggenie(.*)$ (ignore case)
  • Conditions - match all
    • {REQUEST_FILENAME} Is Not a File
    • {REQUEST_FILENAME} Is Not a Directory
  • Action - rewrite
    • URL: /thebuggenie/thebuggenie/index.php?url={R:1}
    • Append query string
  • Stop processing of subsequent rules
You are now ready to use The Bug Genie on IIS!

Note: This rule has scope for improvement, and is just here to get you started. If your are able to improve it at all, please let us know!

Categories

Installation How To

Attachments 0

Comments 1

 LeCyb
Jun 14, 2012 (10:57)
Cancel
Here are the IIS7 Rewrite Rules for root install. Assume that the website home directory is C:\Sites\Bug\ and the index file is in C:\Sites\Bug\thebuggenie\index.php.

First rule matching the full path: Pattern: ^thebuggenie(.*)$ Condition: match all
  • {REQUEST_FILENAME} Is Not a File
  • {REQUEST_FILENAME} Is Not a Directory
Action: Rewrite Rewrite URL: /thebuggenie/index.php?url={R:1} Stop processing of subsequent rules

Second rule matching the short path: Pattern: ^(^thebuggenie.*)$ Condition: match all
  • {REQUEST_FILENAME} Is Not a File
  • {REQUEST_FILENAME} Is Not a Directory
Action: Rewrite Rewrite URL: /thebuggenie/index.php?url={R:1} Stop processing of subsequent rules

Now you can use http://yoursite.com/index.php or http://yoursite.com/thebuggenie/index.php in the same way.