Search code examples
asp.netiispermissionsiis-6umbraco

Umbraco installation step 2 - "Could not save the web.config file" - IIS Permission?


I've managed (after much difficulty) to get to the second step of the installation of Umbraco CMS onto my local machine. I'm getting this error when I try to move onto the next step:

"Could not save the web.config file. Please modify the connection string manually. Access to the path 'c:\inetpub\wwwroot\Umbraco\umbraco1\web.config' is denied."

I've tried setting Read and Write permissions on the web.config file, the umbraco1 folder AND the Umbraco folder, but nothing, same error. Restarted IIS, rebooted, still no change. I've manually changed the web.config app key which it's trying to update, but there's no way to proceed on to the next step.

There's obviously some random permission thing that I'm not doing properly, but I can't find it. On a slight tangent, when I try to open the Permissions wizard, nothing happens - any reason for this?

I'm running IIS 6, if that helps anyone.


Solution

  • This sounds like permissions. Depending on how you've configured ASP.NET either the worker process identity or the IIS site anonymous user identity doesn't have write permissions.

    If your master machine.config (in %systemroot%\Microsoft.NET\Framework\v2.0.50727\CONFIG or local web.config has the following line:

    <identity impersonate="true" />
    

    This means requests will run under the identity of the site anonymous user.

    Open IIS Manager and open the properties for the Default Website: alt text

    Note the username in the red highlighted box, make sure this account has modify permissions on c:\inetpub\wwwroot\Umbraco and its child folders and files.

    If your machine.config or web.config specifies:

    <identity impersonate="true" username="someuser" password="somepassword />
    

    Then you need to ensure that someuser has write permissions on c:\inetpub\wwwroot\Umbraco and its child folders and files.

    If you don't see these configuration entries then your site will be executing under the identity of the worker process account. It's most likely this will be NETWORK SERVICE but you can check by opening the properties for the site in IIS Manager and selecting the Home Directory tab. Near the bottom you'll see Application Pool: alt text

    Make a note of this then navigate to the Application Pools node of the IIS Manager LHS pane. Right click and open the properties of the application pool noted above: alt text

    Note the identity and give that account write permissions to the Umbraco folder and its child folders and files.