HTTP Error 403.14 - Forbidden

Mar 7, 2012 at 12:57 PM

Hello,

I have a little problem with the deploy on windows azure, i followed the documentation and everything is working (numeral 3.2.3), on the local machine, against the azure storage and sql azure.

But when i follow the instructions for deploy the website on azure and try to open the umbraco in my browser it doesn't work. (numeral 3.3)

I took a pictures of the related error.

http://dl.dropbox.com/u/13637812/umbraco5onazure.png

http://dl.dropbox.com/u/13637812/bin.png

http://dl.dropbox.com/u/13637812/physicalpath.png

 

My question is

should the bin look like that?, i mean, in the local umbraco project the bin directory has much more files and i added this post build script as you suggest

xcopy /y "$(TargetDir)*.*" "$(SolutionDir)UmbracoRuntime\bin\"

xcopy /y /e "$(ProjectDir)Content\*.*" "$(SolutionDir)UmbracoRuntime\Content\"

xcopy /y /e "$(ProjectDir)Scripts\*.*" "$(SolutionDir)UmbracoRuntime\Scripts\"

xcopy /y /e "$(ProjectDir)Views\*.*" "$(SolutionDir)UmbracoRuntime\Views\"

 

In case i copied all the bin file missing manually to windows azure would that make the umbraco installation work in azure?

Thanks in advance.

Mar 13, 2012 at 2:03 PM

I have the same problem as daniel6omez, any help will be appreciated.

Regards,

Mar 29, 2012 at 1:15 PM

Hi,

From you screenshots it looks like you are missing some central folders in order for Umbraco and the website to work.
Please note that the Azure Deployment Project only packages and deployes the files and folders, which are included included in the web application project (the project where you have your views etc for your umbraco based site).

You have to make sure that the following folders are included in the deployment package as these folders are usually not included in a web application project:

App_Data/Umbraco
App_Plugins/
Areas/

The following folders are typically part of your web application project, so just verify that want you want deployed is included (both the Content and Scripts folders contains some assets which are used by Umbraco):
Content/
Scripts/
Views/ 

If you are xcopying your files upon build to a folder with the content of an Umbraco release, as it looks like you are, you have to make sure that the ServiceDefinition.csdef is correctly configured:

    <Sites>
      <Site name="UmbWebSite" physicalDirectory="..\UmbracoRuntime">
        <Bindings>
          <Binding name="Endpoint1" endpointName="Endpoint1" />
        </Bindings>
      </Site>
    </Sites>

Hope this helps,

Morten

Mar 29, 2012 at 8:58 PM
Edited Mar 29, 2012 at 8:58 PM

Hi Morten,

Yes, your answer was of greate help, now we can browse to Umbraco on Azure. 

We still have an issue you may help us with, when selecting Settings in Umbraco we get the following error message:

Exception

No valid combination of account information found.

Stack trace

at Microsoft.WindowsAzure.CloudStorageAccount.<Parse>b__0(String err) at Microsoft.WindowsAzure.CloudStorageAccount.TryParse(String s, CloudStorageAccount& accountInformation, Action`1 error) at Microsoft.WindowsAzure.CloudStorageAccount.Parse(String value) at Umbraco.Hive.Providers.IO.Blob.EntityRepository.BlobSetup() at Umbraco.Hive.Providers.IO.Blob.EntityRepository..ctor(ProviderMetadata providerMetadata, Settings settings, IFrameworkContext frameworkContext) at Umbraco.Hive.Providers.IO.Blob.EntityRepositoryFactory.GetReadonlyRepository() at Umbraco.Hive.ProviderSupport.ReadonlyProviderUnitFactory.CreateReadonly() at System.Linq.Enumerable.WhereSelectArrayIterator`2.MoveNext() at System.Linq.Buffer`1..ctor(IEnumerable`1 source) at System.Linq.Enumerable.ToArray[TSource](IEnumerable`1 source) at Umbraco.Hive.ProviderGrouping.ReadonlyGroupUnitFactory.CreateReadonly[TFilter](AbstractScopedCache overrideCacheScope) at Umbraco.Hive.FactoryExtensions.GetRootNodeId(ReadonlyGroupUnitFactory`1 factory) at Umbraco.Cms.Web.Trees.TreeController.CreateRootNode(FormCollection queryStrings) at Umbraco.Cms.Web.Trees.AbstractFileSystemTreeController.CreateRootNode(FormCollection queryStrings) at Umbraco.Cms.Web.Trees.TreeController.Index(HiveId id, FormCollection querystrings) at lambda_method(Closure , TreeController ) at Umbraco.Cms.Web.ControllerExtensions.ProxyRequestToController[TResult,TControllerType](ControllerBase controller, TControllerType proxyController, Expression`1 methodSelector, String area) at Umbraco.Cms.Web.Trees.ApplicationTreeController.GetRootResultFromTreeController(ITree t) at Umbraco.Cms.Web.Trees.ApplicationTreeController.Index(String appAlias) at lambda_method(Closure , ControllerBase , Object[] ) at System.Web.Mvc.ReflectedActionDescriptor.Execute(ControllerContext controllerContext, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethod(ControllerContext controllerContext, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.<>c__DisplayClass15.<InvokeActionMethodWithFilters>b__12() at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodFilter(IActionFilter filter, ActionExecutingContext preContext, Func`1 continuation) at System.Web.Mvc.ControllerActionInvoker.InvokeActionMethodWithFilters(ControllerContext controllerContext, IList`1 filters, ActionDescriptor actionDescriptor, IDictionary`2 parameters) at System.Web.Mvc.ControllerActionInvoker.InvokeAction(ControllerContext controllerContext, String actionName)
Do you know what the cause could be?
Thanks in advance.
Apr 4, 2012 at 11:35 AM
Edited Apr 4, 2012 at 11:36 AM

This error is related to the azure storage connectionstring you have in your web.config. The plugin folder should have an example of how it should be configured. By default its using development storage, so if you haven't changed it before deploying to Azure that would be why its throwing an exception ;)

Here is an example of a configuration of media (file-uploader), stylesheets and scripts from the umbraco/fileSystemProviderSettings section in web.config:

<file-uploader supportedExtensions="*.jpg;*.gif;*.pdf;*.docx;*.mp4" container="media" rootPublicDomain="http://ACCOUNTNAME.blob.core.windows.net" connectionString="DefaultEndpointsProtocol=http;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY" />
<stylesheets supportedExtensions="*.css" container="css" rootPublicDomain="http://ACCOUNTNAME.blob.core.windows.net" connectionString="DefaultEndpointsProtocol=http;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY" />
<scripts supportedExtensions="*.js" container="scripts" rootPublicDomain="http://ACCOUNTNAME.blob.core.windows.net" connectionString="DefaultEndpointsProtocol=http;AccountName=ACCOUNTNAME;AccountKey=ACCOUNTKEY" />

Hope this makes sense.

- Morten

Apr 9, 2012 at 12:15 AM
Edited Apr 9, 2012 at 12:17 AM

Hi Morten,

I was able to fix the problem, as you indicated, it was wrong configuration in web.config but, in the web.config file inside the folder UmbracoRuntime which is in side the solution folder. I fixed both elements in the file:

<sectionGroup name="fileSystemProviderSettings"

> 

<fileSystemProviderSettings

>

 

and republished the Azure project (web role) to Azure from Visual Studio. I think this has to do with the post build instructions for the MVC project. I assumed from the beginning that modifying that web.config in the MVC project was enough and that file was going to be one used by Umbraco on Azure but someway it doesn't seems to be updated into that UmbracoRuntime folder so Umbraco returns error.

Conclusion, problem fixed when fixing web.config in UmbracoRuntime folder.

Cheers.

Apr 9, 2012 at 7:51 AM

The current way of configuring the blob storage provider is a little unfortunate, but its one of the areas im hoping to improve for the 5.1 release of Umbraco and possibly create a visual studio template to make it even easier.

- Morten

Apr 10, 2012 at 4:10 AM

Interesting (well, this is maybe, because I don't really understand how the hive works) I found that where configuration for persistency repository (DB connection string) should be set is inside web.config but the one into the folder ~\UmbracoProject\App_Data\Umbraco\HiveConfig.

I discovered that when I wanted to make a copy of Umbraco site from one Azure subscription to another and make the new version to use a new DB.

Anyway, Umbraco 5 looks great, thanks Morten for all the help!

Best regards.