Orchard Taking Over

Topics: Administration
Apr 26, 2014 at 10:47 PM

Tech support at my hosting company is looking into this but thought that I would bounce this off the forum here to see if someone had some insight. I am loving Orchard BUT!!! (Kinda like I love my girlfriend but!)

It seems that Orchard likes to think or maybe more accurately insists that it is going to have all of my attention and all of my web site. It has some kind of handler that intercepts requests from outside of Orchard. Example:

I posted a lil while ago about some anomaly I found in some of the Themes and wondered if there as a fix (or ability to change) for them. I took a screen clip of the condition and wanted to share it here on the forums. Well images have to be hosted for the forums here. So I uploaded ti to the root of my web site. made a link... didn't work!! hmmmm moved it to a pics folder where i kept other pictures... still didn't work. hmmmmm well the tech support guy I was talking to one the phone at the time saw where the interception was taking place for my gallery server (Gallery Server Pro).

He and I deduced that this behavior is why even after re-installing the Gallery Server Pro to the sub web folder that it flat out didn't work.

Sooooooo... My question is... how to I tell Orchard to back off on select folder and/or files and let the natural behavior take place?

Any ideas?

Apr 27, 2014 at 7:33 AM
Let me guess: no web.config in that pics folder? ;) Orchard locks everything down by default. If you need to serve resources from a directory, you have to tell IIS it's ok.
Apr 27, 2014 at 6:32 PM
Boss is right, you need web.config in directrories. In root directory, you need to follow this: http://www.davidhayden.me/blog/modifying-web.config-to-serve-site.xml-and-static-files-with-orchard-cms if you want to allow access to static files.
Apr 27, 2014 at 8:41 PM
BertrandLeRoy/urbanit, Thanks so much for the feed back. I'd hoped that it would be something simple like this. I'm sure the tech support guys will be relieved to get me off their backs as well! Sorry for taking so long to reply back confirming receipt of your feedback but has bee church activities and lunch all day so far and I'm must not getting the chance to sit down and take a look at things.

If I am following you correctly it sounds as if I will be able to restore operations to Gallery Server Pro and my share folders both with this methodology. I'll get reading on the reference materials and make the necessary changes, once I figure them out.

I will report back when I've completed successfully the changes.

Thanks again both of you! Very much!
Apr 27, 2014 at 10:51 PM
Okay I'm officially lost now. Thought perhaps a basic web.config would do the trick and open up these folders, but that didn't work and I'm not finding in the documentation where it talks about the web.config and it's editing in relationship to running Orchard.

urbanit, The article was informative but just told me that I needed to do something and I guess I just don't get the 'What'. Again waiting on tech support to see if they have someone that understands the in's and out's of web.config.

Apr 28, 2014 at 6:39 AM
@KipCarter, you can copy a web.config file from Styles directory. Most of cases (i.e. directory without subdirectories) does the trick.
Apr 28, 2014 at 5:22 PM
That worked wonders on my resource directories and I believe that either my tech support guys on my web hosting or the forum for GSP will be able to merge the two web.config's (GSP has a set of requirements for their web.config as well). I have fired off a copy of both web.config's to the tech support team at my hosting company and am waiting to hear back from them.

I appreciate it greatly! Like I said, the resource directories are functioning great using that web.config. Two down one to go!

Apr 28, 2014 at 8:05 PM

Can you paste the contents of that simple web.config file here? I will amend for ya

Apr 28, 2014 at 8:20 PM
Sure... here is the web.config from the base install of GSP:
Thanks muchly Jetski5822

<?xml version="1.0" encoding="utf-8"?>
<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />
<clear />
<add name="GalleryDb" providerName="System.Data.SqlServerCe.4.0" connectionString="data source=|DataDirectory|\GalleryData.sdf" />
<!--<add name="GalleryDb" providerName="System.Data.SqlClient" connectionString="server=(local);uid=;pwd=;Trusted_Connection=yes;database=GalleryDb;Application Name=Gallery Server Pro;MultipleActiveResultSets=True" />-->
<compilation debug="false" targetFramework="4.5" />
<pages theme="" styleSheetTheme="" validateRequest="false" viewStateEncryptionMode="Always" />
<httpRuntime requestValidationMode="2.0" />
<globalization uiCulture="auto:en" culture="auto:en-US" />
<xhtmlConformance mode="Strict" />
<authentication mode="Forms">
  <forms name="GSP" protection="All" timeout="129600" slidingExpiration="true" />
<membership defaultProvider="DefaultMembershipProvider">
    <clear />
    <add name="DefaultMembershipProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" passwordFormat="Clear" enablePasswordRetrieval="true" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="50" minRequiredPasswordLength="2" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
<roleManager enabled="true" cacheRolesInCookie="true" cookieProtection="Validation" defaultProvider="DefaultRoleProvider">
    <clear />
    <add name="DefaultRoleProvider" applicationName="Gallery Server Pro" connectionStringName="GalleryDb" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />

<!-- Uncomment the custom section to store session state in the database instead of the server's memory. -->
<sessionState mode="InProc" timeout="60" />
<!--<sessionState mode="Custom" timeout="60" customProvider="DefaultSessionProvider">
    <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="GalleryDb" />

<customErrors mode="RemoteOnly" />
<!-- The site admin area lets you specify the smtp server and port. If you need to specify a username and password, you can do so here. When this section is configured, the smtp server and port in the site admin area is ignored, so be sure to include the server and port here. Uncomment the section below to make it take effect. --> <!-- <system.net> <mailSettings> <smtp> <network host="relayServerHostname" port="portNumber" userName="username" password="password" /> </smtp> </mailSettings> </system.net> --> <location path="default.aspx">
  <httpRuntime maxRequestLength="2097151" executionTimeout="86400" />
<!-- By default IIS 7+ restricts uploads larger than about 30 MB. To allow larger uploads, use the <requestFiltering>
  element to set a new value. The attribute maxAllowedContentLength is in bytes, so to set a new value of 2 GB,
  use 2147483648 (2 * 1024 * 1024 * 1024).
  Note: If you get an error that requestFiltering cannot be overriden you must edit 
  %windir%\System32\inetsrv\config\applicationHost.config file and change the string:
    <section name="requestFiltering" overrideModeDefault="Deny" />
    <section name="requestFiltering" overrideModeDefault="Allow" />
    <requestLimits maxAllowedContentLength="2147483648" />
  <remove name="WebDAVModule" />
  <remove name="UrlRoutingModule-4.0" />
  <add name="GspApp" type="GalleryServerPro.Web.HttpModule.GspHttpApplication, GalleryServerPro.Web" />
  <add name="UrlRoutingModule-4.0" type="System.Web.Routing.UrlRoutingModule" preCondition="" />
  <remove name="WebDAV" />
  <remove name="ExtensionlessUrlHandler-Integrated-4.0" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" />
  <remove name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_32bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness32" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-ISAPI-4.0_64bit" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" modules="IsapiModule" scriptProcessor="%windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_isapi.dll" preCondition="classicMode,runtimeVersionv4.0,bitness64" responseBufferLimit="0" />
  <add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="GET,HEAD,POST,DEBUG,PUT,DELETE,PATCH,OPTIONS" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
    <remove value="default.aspx" />
    <add value="default.aspx" />
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.SqlCeConnectionFactory, EntityFramework">
    <parameter value="System.Data.SqlServerCe.4.0" />
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
    <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" culture="neutral" />
    <bindingRedirect oldVersion="" newVersion="" />
  <remove invariant="System.Data.SqlServerCe.4.0" />
  <add name="Microsoft SQL Server Compact Data Provider 4.0" invariant="System.Data.SqlServerCe.4.0" description=".NET Framework Data Provider for Microsoft SQL Server Compact" type="System.Data.SqlServerCe.SqlCeProviderFactory, System.Data.SqlServerCe, Version=, Culture=neutral, PublicKeyToken=89845dcd8080cc91" />