Unbale to install on shared server

Topics: Troubleshooting
Nov 24, 2010 at 1:05 PM

I have .net 4 enabled, running IIS7 on windows 2008 server and have full trust level. When I click on "start composite" in the browser, the next page generates an error. The url of the error page is this /Composite/top.aspx

However, on my local machine the page opens. Could it be a permissions issue? If yes, what permissions do I need to grant. I am running Plesk 9.3 on the machine and would be using it to grant permissions. Or if there are any other ways to do it, let me know.

Help would be greatly appreciated.

 

Thanks,

Amrit

Coordinator
Nov 24, 2010 at 1:11 PM

Could you enable detailed error info (see below) and send the error you get?

To get detailed error info, edit /web.config and change <customErrors mode="Off"> - set this value back to "RemoteOnly" when you have resolved your problem.

Nov 24, 2010 at 8:48 PM

The error is given below. It looks like a permissions error. How do I give it write permission? Which folders need the permission? How do I do this using Plesk? Or do I need to log into the server remotely and give it permission from there? Would granting permission to the Worker Process good enough.?  :)

Access to the path 'C:\inetpub\vhosts\amritray.com\httpdocs\App_Data\Composite\Configuration\InstallationInformation.xml' is denied.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.UnauthorizedAccessException: Access to the path 'C:\inetpub\vhosts\amritray.com\httpdocs\App_Data\Composite\Configuration\InstallationInformation.xml' is denied.

ASP.NET is not authorized to access the requested resource. Consider granting access rights to the resource to the ASP.NET request identity. ASP.NET has a base process identity (typically {MACHINE}\ASPNET on IIS 5 or Network Service on IIS 6 and IIS 7, and the configured application pool identity on IIS 7.5) that is used if the application is not impersonating. If the application is impersonating via <identity impersonate="true"/>, the identity will be the anonymous user (typically IUSR_MACHINENAME) or the authenticated request user.

To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

Coordinator
Nov 25, 2010 at 10:04 AM

Hi Amrit

>> Which folders need the permission?

It has to be the website's root. The reason for it is that upgrade packages may affect any file including the 'web.config' which is in the root

>> Would granting permission to the Worker Process good enough.?

Yes

>> Which folders need the permission? How do I do this using Plesk? 

>> ...

>> Or do I need to log into the server remotely and give it permission from there? 

If you log in remotely to the server, find website's root and add every NTFS permission (except for "Full Control" - it is not a required one) to either "Everyone" or the user under which IIS is running working process, that will do it.

>> How do I give it write permission? 

You probably know the answer to this one, but still: To grant ASP.NET access to a file, right-click the file in Explorer, choose "Properties" and select the Security tab. Click "Add" to add the appropriate user or group. Highlight the ASP.NET account, and check the boxes for the desired access.

>>  How do I do this using Plesk?

I'm not sure there're people that are familiar with Plesk here. I would try to search/ask the question on Stackoverflow/ServerFault

 

Nov 27, 2010 at 9:35 AM

I tried a lot but it does not seem to be working. Giving permissions through Plesk on the root folder httpdocs/ is not possible using the Plesk control panel, so I did this manually by logging into the server. I am still getting the same error as above. I have given permissions earilier on DNN installations and they did work, as DNN also requires similar root permissions. I also checked the trust level in Plesk and it shows to be Full. (But we have set the server level trust to Medium. I don't know if that means the domain is still running under Medium trust level).

These are the Groups/users I find under the Security tab.

SYSTEM
ftp_subaccounts(WIN-AE.....\ftp_subaccounts)
Plesk Domain user(WIN-AE....\amrit)
Plesk IIS User(WIN-AE....\IUSR_amrit)
Plesk IIS WP User(WIN-AE....\IWPD_65(amrit))
Administrators(WIN-AE....\Administrators)

First I tried giving full permissons to Plesk IIS WP User, but the same error. So one by one I gave permissions to all the users/groups listed there but the same error peristed.

I would like to use this CMS and offer it to our clients as well once we check it out.

It is pretty obvious that it is a permissions related error, but I don't know what to do next.

Nov 27, 2010 at 12:07 PM

Try creating a simple showuser.aspx page with no other content than

ASP.Net running as <%= System.Threading.Thread.CurrentPrincipal.Identity.Name %>

upload it to the server and access it from your browser. What name is printed out?


Nov 28, 2010 at 9:41 AM
Edited Nov 29, 2010 at 6:28 AM

The page is just showing "ASP.Net running as", it is not displaying any identity name.

You know the domain name from error, try accessing the page yourself by putting /showuser.aspx after the domain.

Coordinator
Nov 29, 2010 at 10:34 AM

Windows identity  <%= System.Security.Principal.WindowsIdentity.GetCurrent().Name %>
<br />
Environment.UserName <%= System.Environment.UserName %>

Nov 29, 2010 at 10:59 AM

I don't mean to hijack the thread, but I'm experiencing the same exact thing and thought that if we work together we might figure this out.

I updated the showuser.aspx as napernik suggested -- here is the output 

Windows identity NT AUTHORITY\NETWORK SERVICE 

Environment.UserName ACCU15$

Using the File Explorer tool of "WebsitePanel" I've selected the App_Data folder and set READ & WRITE to both the domain name and NETWORK SERVICE and copied permissions to all child objects, so the NETWORK SERVICE should have access.  

I noticed that the file C:\HostingSpaces\xxxxx\xxxxx\wwwroot\c1\App_Data\Composite\Configuration\InstallationInformation.xml

does not exist, is that okay? I assume the error is coming from an attempt to create the file, as of now there is only one file in the above mentioned folder: XmlDataProvider.config

 

-Rich

Nov 29, 2010 at 11:10 AM

Okay, I have some good news and I hope that it will help the OP

I was able to resolve the error and am now seeing the Welcome page.

I went all the way to the root folder of the C1 installation and set READ/WRITE permissions for all folders and child objects to NETWORK SERVICE, I can't imagine that what I did was a good idea but I tried it for the sake of debugging.

So basically from here I set read/write, (it is a virtual folder called composite) that points to C:\HostingSpaces\xxxxx\xxxxx\wwwroot\c1

Good luck.

Coordinator
Nov 29, 2010 at 12:12 PM

>> I noticed that the file C:\HostingSpaces\xxxxx\xxxxx\wwwroot\c1\App_Data\Composite\Configuration\InstallationInformation.xml

>> does not exist, is that okay?

Yes, it is OK. C1 will creates an installation ID (a Guid) and keeps it there.