Tuesday, January 29, 2013

Configure RavenDB with IIS

With the latest release of RavenDB 2.0, configuring for IIS has changed a bit. I've put together a quick step by step on how to get RavenDB running locally within IIS.

 Download the latest RavenDB at http://ravendb.net/download

Create a site within IIS and setup the bindings accordingly.  I used port 8989 because I had something else using port 8080, but you can use whatever works for you.  Unzip the Raven download and copy the contents into your new site path.  I created a folder like c:\inetpub\wwwroot\raven.  Then copied the unzipped contents into that folder.  Point your site to the Web folder within the unzipped contents in the folder you created to host the site.

Things to make sure are installed and configured:
   1) Make sure you have Windows Authentication installed and enabled.  If not, simply go to your control panel, open up the Programs section (This may be different depending on version of windows) and select the Turn On/Off Windows Features.  Navigate to your IIS section, expand it, expand World Wide Web Services and then Security.  Make sure Windows Authentication is checked and click OK.  Next go to your IIS site you created and click on the Authentication link.  Right click on Windows Authentication and enable it.

2) Make sure your App Pool for your RavenDB site is using an administrator account, located in the Advanced Settings under Identity (I created an admin account called RavenDB and assigned it)

3) Make sure your site's Physical Credentials located in Advanced Bindings are using the same admin account.  This is important so Raven has write access to create the databases it needs.

4) Make sure your App Pool for your RavenDB is using Integrated pipeline and running .Net 4.0

That's pretty much it, you should be able to hit the DB Manager and work as normal.  Of course there are more security settings you can apply and group security.  This post will get you up and running locally so you can test your application against RavenDB locally within a development environment.  For more security options, see http://ravendb.net/docs/2.0/server/authentication

Creative Commons License
Blogged Information and Code is licensed under a Creative Commons Attribution-Noncommercial-Share Alike 3.0 United States License.