Uploaded default Orchard CMS site using WebMatrix but get runtime error on WinHost server

Discussion in 'General troubleshooting' started by DaveClark, Apr 25, 2014.

  1. I am new to Winhost and am trying out my first CMS website that Orchard 1.8 provides out of the box. I used Web Platform Installer 4.6 to Install WebMatrix 3 and Orchard 1.8 CMS. I am running Windows 8.1 Update and installed ASP.NET 4.5 from the Turn Windows Features on/off GUI. I am using the Orchard default SQL CE database called, Orchard.sdf. These are the latest versions as of today 4/25/2014.

    As a sanity check I wanted to deploy the Orchard website to my Winhost domain into the root. I have the Winhost Basic Plan. I read and reread many tutorials on how to deploy Orchard CMS with WebMatrix to Winhost and followed them exactly. To my dismay, after WebMatrix uploads the site files, I try to run the site and get a runtime error on the Winhost server. The error is generic, "An application error occurred on the server."

    It is my understanding that the Basic Plan will service Orchard 1.8 and SQL CE. Is that true? Orchard claims that they provide the SQL CE structure or files necessary to use SQL CE if the host provider doesn't. I am not using IIS at this time because I want to keep things as basic as possible.

    I did some reading on this forum and in 2011 some suggested manually uploading 7 DLL files. I checked and already have those files. I re-deployed with Orchard 1.7.2 just in case, but with no success. Same error. I am not using any custom software or custom changes. Just straight out of the box software mentioned above.

    I welcome any suggestions. Thanks!
     
    Last edited by a moderator: Oct 14, 2015
  2. ComputerMan

    ComputerMan Winhost Staff

    We do support Orchard in our environment and you can use SQL CE with it.

    In fact you can use our App Installer in our control panel to install Orchard. The current version we support is Version 1.7.2. We haven't test 1.8 but I don't see any reason why it would work on our web server.

    What is the error message you're getting?
     
  3. Thanks for your reply! The Winhost app installer you spoke of requires Max or Ultimate. I only have the Basic subscription. I am not sure what advantage the Winhost app installer offers over uploading my Orchard site via WebMatrix. I'd like to know if you can tell me. Suppose Winhost installs Orchard 1.7.2, would I then download it to my computer and build my content? Anyway, what does the Winhost app installer do that WebMatrix publishing can't do? Thanks in advance for your help! (I would like to use Orchard 1.8 if I could.)

    One thing I did since my original post, was create a Starter Site template in WebMatrix and published it to Winhost as a sanity check. It uses SQL CE too. It uploaded fine but failed when I tried to run it. Then I got it working (thanks to a forum post I read) by adding this to the web.config...

    <appSettings> <addkey="enableSimpleMembership"value="true"/></appSettings>

    That's good for the WebMatrix Starter Template, but it didn't fix my Orchard problem.

    I'm kind of disappointed that the default (out of the box) app provided by Orchard and the one provided by WebMatrix didn't just work. I thought these, at least, would be tested working examples that didn't require any hacks or tweaks - until I want to customize my own content. I do appreciate any help you can give!

    The error message I get when trying to run my Orchard CMS on Winhost is pretty generic...

    Server Error in '/' Application.
    Runtime Error
    Description: An application error occurred on the server. The current custom error settings for this application prevent the details of the application error from being viewed remotely (for security reasons). It could, however, be viewed by browsers running on the local server machine.

    Details: To enable the details of this specific error message to be viewable on remote machines, please create a <customErrors> tag within a "web.config" configuration file located in the root directory of the current web application. This <customErrors> tag should then have its "mode" attribute set to "Off".


    <!-- Web.Config Configuration File --><configuration> <system.web> <customErrors mode="Off"/> </system.web>< /configuration> Notes: The current error page you are seeing can be replaced by a custom error page by modifying the "defaultRedirect" attribute of the application's <customErrors> configuration tag to point to a custom error page URL.

    <!-- Web.Config Configuration File -->
    <configuration>
    <system.web>
    <customErrors mode="RemoteOnly" defaultRedirect="mycustompage.htm"/>
    </system.web>
    </configuration>
     
    Last edited by a moderator: Oct 14, 2015
  4. Thinking more about it... The Winhost Orchard App Installer says, "Winhost Max or Ultimate required." However, I thought Orchard would work with a Basic subscription as long as it didn't grow too large. Can you clarify this?
     
    Last edited by a moderator: Oct 14, 2015
  5. FredC

    FredC Winhost Staff

    1) Using Max & Ultimate is a suggestion because of high memory usage; it shouldn't stop the application from running

    2) I suggest you set customerror to Off and post the error message if you still can't figure it out.
     
  6. Fixed it! I added <trust level="Full"/> to web.config and now it works. I am mystified because I did that hours ago and it didn't work. I read every relevant message in this forum and tried various things - including that. I even put it in my notes for future reference, but with a caution "It didn't work" :rolleyes:
    By the way, thanks for the tip to set customerror Off. The new more detailed error message tipped me off about the trust level.
     
    Elshadriel likes this.
  7. FredC

    FredC Winhost Staff

    glad you got this fixed!
     
  8. Problems again...

    After getting Orchard 1.8 to work on Winhost a couple of days ago (as described above), I decided to try doing the same with Visual Studio Express 2013 for Web. I unzipped Orchard.Source.1.8.zip to a new folder in Windows. Then I opened the solution (in VS Express) and compiled the code and ran it locally to see if it worked. It worked and I filled out the Orchard setup screen and chose SQL CE as the database. However, it did not work when I uploaded to Winhost via the Visual Studio publish wizard. I spent a couple of days trying to solve the problem without success.

    So I decided to go back to WebMatrix and create a Starter Site from the templates built into WebMatrix. It ran locally, but failed on Winhost. As mentioned above, I added the line to web.config, <appSettings> <addkey="enableSimpleMembership"value="true"/></appSettings>. I expected the site to run, but it didn't. Now I am lost, confused, dazed, stupefied, and going insane.

    For the moment, lets forget the problem with Visual Studio Express 2013 for Web. To keep this topic simple, please help me get the WebMatrix Starter Site working again as a sanity check. I suspect something in my Winhost workspace got broken along the way. Can you kindly reset my Winhost workspace as it was when I first signed on? Or better yet, pinpoint the problems so I can learn from this?

    I set my ASP.NET version to 4.x in the control panel and am publishing to the root. There doesn't seem to be a many more settings I can adjust at Winhost, and since I am using SQL CE no connection string to worry about.

    Thanks!

    Here is the Starter Site error message generated when I publish from WebMatrix...


    Server Error in '/' Application.
    Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)
    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.IO.FileLoadException: Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

    Source Error:

    An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.

    Assembly Load Trace: The following information can be helpful to determine why the assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' could not be loaded.

    WRN: Assembly binding logging is turned OFF.
    To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
    Note: There is some performance penalty associated with assembly bind failure logging.
    To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].

    Stack Trace:

    [FileLoadException: Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)]
    Microsoft.Web.WebPages.OAuth.PreApplicationStartCode.Start() +0
    [InvalidOperationException: The pre-application start initialization method Start on type Microsoft.Web.WebPages.OAuth.PreApplicationStartCode threw an exception with the following error message: Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040).]
    System.Web.Compilation.BuildManager.InvokePreStartInitMethodsCore(ICollection`1 methods, Func`1 setHostingEnvironmentCultures) +556
    System.Web.Compilation.BuildManager.InvokePreStartInitMethods(ICollection`1 methods) +132
    System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath, Boolean& isRefAssemblyLoaded) +102
    System.Web.Compilation.BuildManager.ExecutePreAppStart() +153
    System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +516
    [HttpException (0x80004005): The pre-application start initialization method Start on type Microsoft.Web.WebPages.OAuth.PreApplicationStartCode threw an exception with the following error message: Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040).]
    System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +9885060
    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +101
    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +254
     
    Last edited by a moderator: Oct 14, 2015
  9. Now my site generates this error which is different from my last post.

    Server Error in '/' Application.
    Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
    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 is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))

    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 File 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.

    Source Error:

    Line 1: @{
    Line 2: WebSecurity.InitializeDatabaseConnection("StarterSite", "UserProfile", "UserId", "Email", autoCreateTables: true);
    Line 3:
    Line 4: // To let users of this site log in using their accounts from other sites such as Microsoft, Facebook, Twitter,

    Source File: e:\web\superwin\_AppStart.cshtml Line: 2
     
  10. FredC

    FredC Winhost Staff

  11. ComputerMan

    ComputerMan Winhost Staff

    The Access Denied Error most likely means that you misconfigured your ACL permissions for your site account. This happens when you used Web Deploy.

    Read our knowledge base article on how to prevent this from happening again here: ACL was altered after using VS web deploy Or read our blog post article here: How to stop Web Deploy/MSBuild from messing up server permissions

    After you have made the changes as stated in our web page articles. Contact our support department and ask them to reset your ACL permissions for the site account.
     
    Last edited by a moderator: Oct 14, 2015
  12. Well, to complete the story, the problem was with ACL permissions. I asked Winhost to reset them and all my problems cleared up.

    If anyone cares to read the sordid details for a good laugh, here is the full story... For the past week I was going nuts wondering why I was having so many problems which no one else seemed to have. None of the tutorials worked for me after the first day. Early on, before any problems occurred, I was able to get a Orchard template starter site published via WebMatrix and working. What happened next, after I got to know WebMatrix, I decided to give Visual Studio 2013 Express Web a try. Apparently unbeknownst to me, that is when things went bad because msbuild nerfed the permissions during deploy and from then on nothing seemed to work.

    Then in the middle of all this, Winhost shut down my server for a day with a DDoS attack. Everything was going to heck! Maybe I brought the whole server down, or maybe my problem was caused by the Winhost server. Anything was possible in my confused mind at this point. I fiddled around for a few more days getting nowhere. Finally, today I decided to install Umbraco using the Winhost App Installer see what would happen. To my astonishment the installation process stalled with an error about my site's folders not having permissions. That was enough to get me to correlate the problem with msbuild/Visual Studio per ComputerMan's comment above. I asked Winhost to reset my ACL permissions. Now I can publish Orchard or Umbrace using SQL CE with WebMatrix and VS Express Web.

    Oh by the way, to add even more confusion, my IIS did not work either. I fought that for several days and even installed a fresh copy of Windows to see how it worked. In the end, I used the Turn Windows Features On/Off utility in Windows 8.1 and uninstalled IIS, ASP.NET 4.5 and .NET Framework. After running CCleaner on my registry, I reinstalled IIS, ASP.NET and .NET Framework. I tested IIS and it worked. I have a few more gray hairs now...
     
    Last edited by a moderator: Oct 14, 2015
    ComputerMan likes this.
  13. ComputerMan

    ComputerMan Winhost Staff

    Oh man DaveClark I'm sad to hear you went through all of this. Those dang ACL permissions can screw up a lot of stuff for different web applications and people.

    It first starts when someone uses web deploy on there site account because hey, they want to upload their site. Unbeknownst to them that they have misconfigured the ACL permissions they continue life and later on find more issues with their site.

    You will get funny looking errors for different web applications. One problem I can think of is when a person misconfigures the ACL permissions and then later on they want to try WordPress. They go through the whole process of installing WordPress using our App Installer in the control panel.

    Then when they want to go and test WordPress you'll start getting an error message like a 404 not found and sometimes you will get a blank page. (I've seen this happen twice or three times in the past). This happens mostly because of the ACL permissions being misconfigured. If this happens you can always contact support and ask them to reset the ACL permissions for the site account.

    But, anyways thank you for replying back and telling us what worked. I'm sure it will help someone else out in the future. :)
     
    Michael likes this.

Share This Page