Solving "Critical Error: SiteURLs.config" issue on Community Server with IIS 7

written by The Admin on Thursday, March 19 2009

I've been meaning to start this blog up again, and how better than to write a quick article explaining a solution to an issue that I had been stuck on with the configuration of Community Server.

Up until this point, I've been testing on Windows XP and Windows 2003 on my local machines (IIS 5.1 and IIS 6.)  My work laptop was shipped to me with Windows Vista, which means that I largely ignored it and stuck with my MacBook Pro and virtual machines instead.  I recently installed the beta of Windows 7 on the work machine to see if it really did fix Vista's performance issues (so far, so good) and decided to test out our most recent Community Server install with it.

I don't typically use the installer, but rather setup an environment where I can check out the latest source everyday, manually update my database, and away I go.  This means that I have to remember to go through all of the permissions-related configuration steps to get my initial install working correctly.

I made sure my web directory had given NETWORK SERVICE the appropriate permissions (read and execute for the entire directory structure and read, write, and execute for the \filestorage directory).  I then went to my fresh install of SQL Server 2005, added "Network Service" as a login, and mapped that user to my newly created "CommunityServer" database with db_securityadmin, db_ddladmin, db_datareader, and db_datawriter roles.  I setup the site in IIS, noticed that the AppPool was already set to using ASP.NET 2.0, and away I went.

Then I got the error:  "Critical Error:  SiteUrls.Config".  This page gives you some garbage about maybe having an ampersand messing up the XML in the SiteUrls.config file, but that's a red herring.  I knew from past experience that this meant that there was a permissions issue with SQL Server, but I had just setup the database exactly how I was supposed to.

The error was that the default app pool in IIS 7 is set to run under the "ApplicationPoolIdentity" account, not the "Network Service" account.  To change this, open the IIS Manager in Windows and navigate to the Application Pools panel.  Right-click on the Application Pool that Community Server is running under (default is "DefaultAppPool") and select "Advanced Settings".  Under Advanced Settings, under the "Process Model" header, the first entry should be "Identity".  Use the "..." browse control to change this from "ApplicationPoolIdentity" to "NetworkService" and "OK" out of the dialog.

After doing this, I was able to access my site.

Similar Posts

  1. Amazon Kindle and Whispernet - Why an e-Book reader matters...
  2. Favorite Things of 2009
  3. Zune 2.0 Software is Released

Comments are closed

Options:

Size

Colors