Umbraco nested applications or instances - iis

Currently I am working on umbraco 7 and we need to add other umbraco instances under it.
let's take an example we have three umbraco instances.
1) http://example.com
2) http://example2.com
3) http://example3.com
now we wants something like below:
1) http://example.com
2) http://example.com/example2
3) http://example.com/example3
I have tried to create virtual directories and applications but we still face some issue and it's not working. some errors are mentioned below.
http://screencast.com/t/qzLloAm21qv
with application
http://screencast.com/t/gk7f17wB3TE
after commenting highlighted line
http://screencast.com/t/s7H9C3FpwXRS
Note: I have also put example2 & example3 folders inside and outside of main instance directories.

Have you considered using a reverse proxy to handle this? Basically, you set up a "virtual folder" that is hosted on a different server.
I've not set one up myself, but here is a good guide that indicates that it's possible to do this with Umbraco.

Related

iis 10 Static Website: Deleting default site and creating completely new site (how to access new site)

This post needs help from experienced iis administrators, but must be explained in details for EXTREME newbies.
What I am doing:
I have two computers, both running Windows 10. One is a desktop and one is a laptop.
iis is enabled on both computers. Each computer can access the iis web server from the other and pull up a page from the other - using the ip address.
There is no DNS or host files being used (this is by ip address only), nor do I want to use any sort of naming.
Both computers are running an identical website, and the website files are in a different directory than the default. The structure is like this:
C:\inetpub\ROOT\myWebsite\myIndex.html
web.config
Changes I've made - now a few problems.
On both computers I have deleted the DefaultAppPool and the default website that comes installed with iis. This has not stopped the website from completely working, so adding that back seems unlikely to fix my problem.
I have deleted my application pool and website from iis (never deleting the actual files from the file system) several times, and added it several times. Each time I do this, my site comes back, but with the same problem I am having.
I have deleted all of the default documents, and the only default document listed in iis is myIndex.html.
myIndex.html initially displays a graphic image (using the standard tag), and this image comes up. Sort of. See explanation below.
The problem I am having
Before I started this project, I had iis working on the desktop with the default site and app pool and simply added some of my own files with really simple text content and some pics. I had replaced the default iis splash image with my own image, and all that worked with no problem.
the image that comes up is a link to another page that has a list of links to other stuff in my website. It all works no problem there.
Now, with the setup I have now, on the desktop I was originally using (in the paragraph above) if I pull up my website locally, myIndex.html loads in the browser and my image comes up, and everything works fine.
The same is true on the laptop, when I access the site locally.
However, if I attempt to access the desktop site (using its ip address) from the laptop, it pulls up the old splash image from the default site I deleted.( I left those files there even though I deleted the site from within iis). All those files are in the default location C:\inetpub\wwwroot.
If I move those files to another directory, thus leaving C:\inetpub\wwwroot completely empty, then when I access the site on the desktop (via the ip address) from the laptop, my new site comes up without a problem.
While it seems I may have solved my problem by moving the file from the previous project, doing that does not teach me how iis is actually working, and why files from a website that no longer exists in iis are still being accessed from remote computers.
So, please teach me something about the internal workings of iis, and how it chooses to access the different application pools and websites.
Again, please word your answers for complete newbies, because I know a little but not enough to get real technical.
I have been reading posts on stackexchange.com and other sites; links to microsoft docs etc. That's not helping as those docs are expecting too much prerequisite knowledge, and speaking in terms that are not really explaining things in a way I can understand.
You have described several different problems. I will try to address each of them (contrary to S/O recommendations).
First, when you make changes, and they don't seem to show up, it is usually because of caching. IIS always wants to cache files/configs. So does your web browser. So, to force an accurate test, you need to dump your browser cache and cycle IIS (to make sure it drops its cache and loads new files and configs). Start there.
Second, IIS is designed for settings inheritance. Which means, each app and each folder will inherit settings and permissions from the parent, unless you override them. Overriding them can be done by files and/or IIS configs (application vs folder). The IIS configs are the stronger of the two.
Also, the IIS config for "default files" might have come into-play for your test. If you didn't set up MyIndex.html as the top-most default file, then IIS would look for other files first. In fact, if you don't have MyIndex.html in the list of default files, IIS would have to depend on your app to choose that as a default page (MVC routing, etc).

Azure Web App Restart Issue

We have a few applications installed within a single "Web App" on Azure. We've configured each one as an Application (Configure>Virtual Applications and Directories and checkbox checked).
I've noticed that whenever we update a dll in one of the applications all of them get restarted. Any way to prevent this from happening other than creating a separate "Web App" for each application?
We need all of these apps to live under a single domain but remain independent.
I think it is because I have the main site under "/" and other applications nested in it. This was done to map the site to the root.
We have it defined this way: Site - "/" - mapped to site\wwwroot Application - /account mapped to site\account Pretty much the way it is set in this article. The physical folders are adjacent and the virtual folders are nested so one would expect that they would not affect each other.
We could not find a way to work around this issue. Eventually, we've resorted to azure slot swapping which provides zero downtime: https://azure.microsoft.com/en-us/documentation/articles/web-sites-staged-publishing/

IIS application subdomain

At work we have IIS 7
[Server]/[Site-with-irrelevant-name]/[Application]
To access the applications from another computer, the URL format is simply:
http://[Server]/[Application]
My colleague affirms that there is no DNS server included in the process.
I would like to acces to some application using URL
http://[Application].[Server]
I thought that I should use Bindings to solve this but so far I've found no working solution.
There's also nothing relevant in the computers 'hosts' files.
This doesn't look like the kind of configuration I'm used to work with.
Any idea?
Edit: In the comment here below I meant semi-relative path ("/...")
Solution found: My initial problem was that I have developed the application on a local computer using semi-relative path in multiple places.
So another solution is to access the application through
http://[Server]:[A different defined port]/
It's not exactly the solution to the question I wrote so I won't check this as the answer.
Solutions that would allow me to use a real subdomain are still welcome.

Multiple sitecore instances hosted on one domain

I want to install multiple Sitecore instances to be hosted under one domain. So the root url of first instance will be http://example.com/instance-1 and so on.
The reason I want to have multiple instances is that, I want to split environments for each site. I know I can play with bindings and publish each instance on other port within same domain. I also know that I can install multiple sites under one instance. But I didn't found solution how to install instance in IIS site subdirectory.
Please if anyone was successful instaling multiple instances as child application or virtual directory, please share the knowledge.
I'm using Sitecore 6.5 and IIS 7.5
Sitecore does not support running in virtual directories.
It must run in its own website.
However, i did come up with a trick, but it is quite advanced and i don't have clear cut examples:
Setup one site that will be your main domain with sub folders (eg.
www.mydomain.com/site-a , www.mydomain.com/site-b
Setup your separate Sitecore instances as separate IIS websites
Give each site its own hostname and add it to your hosts file (so you get http://site-a, http://site-b, etc)
Install the IIS URL Rewrite feature, make sure rewriting of the HTTP_HOST server variable is allowed
Configure rewriting on your main site, so that http://www.mydomain.com/site-a/* is rewritten to http://site-a/*
Create a custom linkprovider that makes sure Sitecore links are being written using the correct domain and folder (so http://site-a/item is written as http://www.mydomain.com/site-a/item)
I'm sure this is possible as i've implemented a similar solution for a site that hosted clones if a site as 'virtual' folders.
I wonder why you have the need to host multiple Sitecore instances on the same domain. Sitecore has good solutions for multi site setup in the same instance. If the solution Ruud provided is not workable for your, check the multi site solution of Tim Ward ( https://github.com/jerrong/Sitecore-Multisite-Manager ) or the shared source module on the Sitecore Marketplace ( http://marketplace.sitecore.net/en/Modules/Multiple_Sites_Manager.aspx )

Proper setting of the Umbraco distributedCall setting (multi-server cluster setting)

We have a server setup where we have 2 web servers for our Umbraco site:
1 is the "editor". This is where people add content. This can serve pages back to the editors, but the public never sees this.
2 are the "web servers". These serve content to the public. They NEVER allow editing.
Normally, we have had them as 2 servers - one serves to the public AND allows editing, the other just serves to the public.
Whats the correct setup for the distributedCall config option? I'd normally list all nodes in the cluster, but do I need to list the editor one, in this case? Or just the two "public" ones? I assume that it does something like:
commit the publish locally
call server A in the list
call server B in the list
which would mean I dont need to list the editor in the list (Which I'd rather not do)
[Umbraco 4.7 BTW]
Answering my own questions again. Sigh.
Ended up "just doing it" on our live site. In the end:
Editing server: has distributedcall turned on. points to both other nodes AND itself.
2 web nodes: have distributedcall turned OFF.
I had the 2 nodes turned on, but they tended to call back on themselves, which was problematic.
Fixed.

Resources