When we do the install, do we just need to go to one of the URLs and do the install process?
Are we just chosing what is our "master" domain ? mysite.com is already a main site using a separate Umbraco install, we are using subdomains to point to our new URL's.
Concerns around setting up multisites is usually something I deal with after I have installed Umbraco itself.
But you can install Umbraco from any of the domains you have setup I suppose.
The important thing is to setup the hostname for each site when you have them setup in Umbraco.
When doing multiple sites in a single Umbraco instance they're running the same database. If you need seperate databases you should consider creating a unique installation pr. site.
Remember to set useDomainPrefixes to true in the /config/umbracoSettings.config so you make sure it's not possible to access a page from site2.mysite.com when entering the page url on site1.mysite.com
I hope this makes sense and answers your question.
I am running Umbraco v8 in a Azure VM. I can't see custom domains fields in the VM options. The VM has a public IP and a domain name assigned in Azure.
The Azure docs are totally unclear when explaining how to get sub domains and your own domain working with your website.
Please clarify. I am sure this will help a lot of people with the same queries.
I'm asking this question in several places (sorry if it's an overkill).
I have a multisite setup with 9 subdomains.
The issue here is that the subdomains can be openend with the linked hostname sub1.site.com/sub2 or sub9.site.com/sub3 will show the homepage and content of respectively sub2 and sub3 (using the hostname of some other subdomain).
This is not how I would expect it, I would expect that one can only reach the subdomain using their respective hostnames.
I found several "fixes" that don't fix it:
I added urlProviderMode="absolute" attribute to the web.routing node in umbracoSettings.config
I added:
<add key="Umbraco.Core.MainDom.Lock" value="SqlMainDomLock" />
<add key="Umbraco.Core.LocalTempStorage" value="EnvironmentTemp" />
<add key="Umbraco.Examine.LuceneDirectoryFactory" value="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />
to the web.config (even though I use IIS locally)
All the homenodes have their own hostname linked to it (all in the nodeName.localhost) style. Because this is real customer data I obfuscated most of the Nodes, but I'm sure you get the idea :)
The crossed out hostnames are the online ones.
The English one has '/fritom/en' appended to it.
So the issue here is that fritom.localhost/Sanders shows the Sanders Hoomenode and all it's content. Same for all the others.
Since all nodes have English even fritom.localhost/en/Sanders returns the 'Sanders' content.
Just a note, eventhough I just registered here (again), I've been working with Umb7 for ~5 years already. Just had to make a new (personal) account because I switched jobs and couldn't recover my other account.
But as you can see in the image, home.localhost/home3 still returns home3. Which imho it shouldn't!
I know nothin new in this post, just wanted to show it's not something custom I managed to create just for me.
Edit:
Might be relevant: My bindings in IIS
Edit2:
I'm still trying different things.
I now found out that when you add a page with the exact name Umbraco prefers the page over the hostname/homenode.
Example:
I added a normal content page called home3 under the homenode. Now it shows the home3 page instead of the home3 HomeNode.
This could be a very ugly (sort of) fix, but is not the way togo of course.
If you go to the INFO tab, then it should show the URLs rendered. This might be one of those cases where you need to re-cache the memory, or have a alt-template taking priority.
The reason I set up a nice and clean enviroment from scratch is exactly what you mentioned above.
There was 0 cache, all the hostnames are correct and there is nothing custom in code since I installed the base package, created the extra nodes, set the hostnames, added the bindings in IIS and that is it. Nothing more, nothing less.
It was only after that I started playing around to pinpoint the problem (as mentioned in the edits).
Not trying to be annoying here, but I'm trying my best to point out this is probably not a mistake from my side but an actual issue.
(I'm not the only one with this multisite issue afaik)
Hmmm odd - Not sure. I have multi-site site up on a small site, which operates as intended. You are unable to get to a URL/Node, which has a different homenode
However Im not not doing anything multi-lingual, so that might be where the confusion occurs.
Ive done you a small video, to showcase my setup...
I would guess that the template alias for the Micro Site node is micro-site? That's alternative templates kicking in, you can prevent that behavior by setting disableAlternativeTemplates="true" in your UmbracoSettings.config.
By default you can add a altTemplate querystring or append a template name to the current URL which
will make Umbraco render the content on the current page with the template you requested, for example:
http://mysite.com/about-us/?altTemplate=Home and http://mysite.com/about-us/Home would render the
"About Us" page with a template with the alias Home. Setting this setting to true stops that behavior
So I actually have this same thing happening in my own site. Granted, I actually have not really dug into it, but the issue looks like the first site in the list on mine is acting like the resolver and then I can view the other multisites with their node names.
I can still see the other sites resolve on their domains/subdomains, but it does looks like I can still get to the sub site like Sjaak mentioned.
So www.example.com/homepageOfSite2 and
homepageOfSite2.example.com
Resolve to the same page. Which we did not run into on 7.
In Umbraco 7, we have an instance of 9 sites as well all on different subdomains, but when we try to hit a subpage on one of the other sites, it resolves to a 404. I will check the set up we have between 7 and see if I can't get it to do the same on 8.
Not only the first one. I've been trying different possible options. In most cases all hostnames can be used to call any other homenode, and using that as a start all subpages as well.
Yeh, that definitely sound like routing. Checking into it for ours too, because we will need to not to happen on ours. An issue could arise with conflict with search engine indexing.
OK, I thought I remembered this, but in our Umbraco 7 site in Umbracosettings.config there is a section that calls out the unique domains,
<requestHandler>
<!-- this will ensure that urls are unique when running with multiple root nodes -->
<useDomainPrefixes>false</useDomainPrefixes>
<!-- this will add a trailing slash (/) to urls when in directory url mode -->
<addTrailingSlash>true</addTrailingSlash>
</requestHandler>
Domain prefixes. Mess with that setting and see if it works.
Agreed - especially if you have a lot of references to:
Model.Root()....
... It's going to be a headache, to re-write queries.
But I have seen Umbraco installs where this is the "usual setup" for Multilingual Sites, where the Model.Root is where all the "GLOBAL" settings are stored.
I prefer to have a separate node, for all that.
As always with "umbraco" - theres 99 ways to skin a cat.
Lets see if someone from the Core team notices this and decides to have a look at it. Although it is very quiet on their side, and I can't imagine this hasn't crossed anyones path yet ;)
I just wanted to reply to this one specifically: if you have any nodes displaying sensitive data then you should make sure that they're never accessible on a public URL. Just not advertising the URL is not an adequate defense, you need to limit public access to these URLs.
You can try Twitter, try pinging the head unicorn. I know they are trying to beef up their customer service. Many of the veteran Umbraco devs caught their ear recently for letting that slip.
Twitter tends to catch their ear too and they usually direct to whomever can help. Include this feed link for a reference so they can answer and see your pics.
I would but I have not had time to do this quite yet.
Hi Everyone, Can you please help me how to fetch stored textstring value/textbox value into rich text editor?
Here in the below image, I created 3 folders using document type, each folder contains 15 websites. I have created multiple websites and each website contains separate domains.
Specialist Name is in textstring/textbox format example "xyz" i tried fetching that stored value in below rich text editor by using @Model.Value("specialityName") but in website its not displaying the value of textstring. Please suggest me any link or your ideas.
Multisite install and hostnames in IIS
We are attempting our first mutli site install.
What would be the set up? We have IIS installed and set up the domains in the Bindings.
site1.mysite.com
site2.mysite.com
site3.mysite.com
When we do the install, do we just need to go to one of the URLs and do the install process?
Are we just chosing what is our "master" domain ? mysite.com is already a main site using a separate Umbraco install, we are using subdomains to point to our new URL's.
Does the multisite install use the same DataBase?
The info is greatly appreciated.
Hi Carlos
Concerns around setting up multisites is usually something I deal with after I have installed Umbraco itself.
But you can install Umbraco from any of the domains you have setup I suppose.
The important thing is to setup the hostname for each site when you have them setup in Umbraco.
When doing multiple sites in a single Umbraco instance they're running the same database. If you need seperate databases you should consider creating a unique installation pr. site.
Remember to set useDomainPrefixes to true in the /config/umbracoSettings.config so you make sure it's not possible to access a page from site2.mysite.com when entering the page url on site1.mysite.com
I hope this makes sense and answers your question.
Cheers, Jan
@Jan,
That makes total sense. I appreciate the info and the quick response.
Carlos
Hi Carlos
Happy to help - Please let us know if you experience any issues or have new questions.
/Jan
When you setup multiple sites in Umbraco v8 I have understood that I need to create sub domains in the Umbraco v8 UI.
In IIS on a Azure VM I have:
1) C:\inetpub\wwwroot
2) I have understood that in the IIS UI we would need to create different sites.
3) What are the folder locations for the physical files?
C:\inetpub\wwwroot
C:\inetpub\wwwroot\subdomain1
C:\inetpub\wwwroot\subdomain2
Or are the files stored in a different drive and folder?
Now, Azure gives me one domain address for my public IP: xyz.eastus.cloudapp.azure.com
How do I browse to subdomain1.xyz.eastus.cloudapp.azure.com? How would I make this work?
Hi,
If you have multiple sites inside Umbraco 8 you do not need multiple folders (everything goes into one site at c:\inetpub\wwwroot)
e.g.
You define the hostname for each site, in the 'Culture and Hostnames' options of a site (when you right click on its name)
this will tell Umbraco which site is which.
in azure, you need to then add the domains to the custom domains section of the web app
you will need to add custom DNS entries to do this bit - the azure docs should walk you through that.
this tells Azure that this one site is hosting all domains (this is analgous to the bindings in IIS)
I am running Umbraco v8 in a Azure VM. I can't see custom domains fields in the VM options. The VM has a public IP and a domain name assigned in Azure.
The Azure docs are totally unclear when explaining how to get sub domains and your own domain working with your website.
Please clarify. I am sure this will help a lot of people with the same queries.
I think (I don't use Azure VMs much haven't touched on in a while)
When you have a VM you point the domains to the IP address of the VM (via DNS A or CNAME record for the machine is probably a better option).
Then in IIS you add the bindings to the website so that the one site will serve all sites.
I'm asking this question in several places (sorry if it's an overkill).
I have a multisite setup with 9 subdomains.
The issue here is that the subdomains can be openend with the linked hostname sub1.site.com/sub2 or sub9.site.com/sub3 will show the homepage and content of respectively sub2 and sub3 (using the hostname of some other subdomain).
This is not how I would expect it, I would expect that one can only reach the subdomain using their respective hostnames.
I found several "fixes" that don't fix it:
<add key="Umbraco.Core.MainDom.Lock" value="SqlMainDomLock" /> <add key="Umbraco.Core.LocalTempStorage" value="EnvironmentTemp" /> <add key="Umbraco.Examine.LuceneDirectoryFactory" value="Examine.LuceneEngine.Directories.SyncTempEnvDirectoryFactory, Examine" />
to the web.config (even though I use IIS locally)Anyone have any other suggestions?
Could be your friend here.
It could have, but it's already in my appsettings...
But of course thanks for the assistence! Any other suggestions maybe? :)
Can you provide a screen shot of your node structure - That would clarify things a lot.
You should be applying the hostname, on EACH root node.
I get the feeling, you have child node, acting as the content root.
All the homenodes have their own hostname linked to it (all in the nodeName.localhost) style. Because this is real customer data I obfuscated most of the Nodes, but I'm sure you get the idea :)
The crossed out hostnames are the online ones. The English one has '/fritom/en' appended to it.
So the issue here is that fritom.localhost/Sanders shows the Sanders Hoomenode and all it's content. Same for all the others.
Since all nodes have English even fritom.localhost/en/Sanders returns the 'Sanders' content.
Just a note, eventhough I just registered here (again), I've been working with Umb7 for ~5 years already. Just had to make a new (personal) account because I switched jobs and couldn't recover my other account.
Just to make sure it's not in some stuff we do in our code I did a fresh install of Umbraco.
Copied all the content from Home too Home 2
Created Home 3 from scratch.
These are the linked Hostnames Home -> home.localhost home 2 -> home2.localhost home 3 -> home3.localhost
I implemented all the tips and suggestions I've found till now.
like adding the urlProvider in the above line. Also the suggestion Paul gave (which is enabled standard)
and lastly: I added
But as you can see in the image, home.localhost/home3 still returns home3. Which imho it shouldn't!
I know nothin new in this post, just wanted to show it's not something custom I managed to create just for me.
Edit: Might be relevant: My bindings in IIS
Edit2: I'm still trying different things. I now found out that when you add a page with the exact name Umbraco prefers the page over the hostname/homenode.
Example: I added a normal content page called home3 under the homenode. Now it shows the home3 page instead of the home3 HomeNode.
This could be a very ugly (sort of) fix, but is not the way togo of course.
Hi Sjaak,
I think the Url providermode on the web.routing section is case sensitive.
Could you try
urlProviderMode="Absolute"
Dave
Hey Dave,
tried it, but no change. Still able to open other homenodes using the wrong hostnames.
Thanks for the tip though! Keep 'em coming ;)
If you go to the INFO tab, then it should show the URLs rendered. This might be one of those cases where you need to re-cache the memory, or have a alt-template taking priority.
Or simply a rogue hostname, in one of the sites.
The reason I set up a nice and clean enviroment from scratch is exactly what you mentioned above.
There was 0 cache, all the hostnames are correct and there is nothing custom in code since I installed the base package, created the extra nodes, set the hostnames, added the bindings in IIS and that is it. Nothing more, nothing less.
It was only after that I started playing around to pinpoint the problem (as mentioned in the edits).
Not trying to be annoying here, but I'm trying my best to point out this is probably not a mistake from my side but an actual issue. (I'm not the only one with this multisite issue afaik)
Hmmm odd - Not sure. I have multi-site site up on a small site, which operates as intended. You are unable to get to a URL/Node, which has a different homenode
However Im not not doing anything multi-lingual, so that might be where the confusion occurs.
Ive done you a small video, to showcase my setup...
https://recordit.co/lAdJByMxDl
https://staging.lizjonescoaching.com/micro-site/
There it is. In my opinion this should not be possible.
Or there should at least be a way to disable this.
Ahhhhhh - well spotted :)
Yep, seems like a bug to me. One for HQ to fix, or at-least showcase a way of stopping it happening.
I would guess that the template alias for the
Micro Site
node ismicro-site
? That's alternative templates kicking in, you can prevent that behavior by settingdisableAlternativeTemplates="true"
in yourUmbracoSettings.config
.It's not just the template.
It shows all the content (and the whole menu) belonging to it.
Which is part of the template?
Did you try setting
disableAlternativeTemplates="true"
?Yes, I did. That's why I replied to that specific post ;)
Also http://home.localhost/?altTemplate=home2 Does give the home content as expected ;)
Edit: All the nodes use the same "Home" template
Are you saying
disableAlternativeTemplates="true"
does not disable alternative templates?Alright, sorry, I don't really understand then from your screenshot what the problem is, this is what my setup looks like:
Ah, well that's a querying issue, there's a few tips in this thread already. So let's focus on what the actual problem is for you?
now try cork.nl/Test2
Does it show the Test2 Homepage?
or nul800sebastiaan.nl/Tester
and since we're on it
nul800sebastiaan.nl/Tester/about
or
cork.nl/Test2/about-us
And what happens when you do http://cork.nl/home2 ?
I think that is the issue that Sjaak is experiencing
Dave
Aha! The problem is that that does work, and it shouldn't, but there may be another config needing to be flipped.
They don't work, which is expected.
Ah yeah I see, that /Test2/about-us was a bridge too far.
But yes. I would expect a 404 or something similar when doing
cork.nl/Test2 or nul800sebastiaan.nl/Tester
Since they are on different hostnames, and in my opnion (and opinions differ) hostnames are exclusively linked to that homenode and nodes below it.
To my defense it did work that way in Umb7 when using the correct settings (which seem to be removed/replaced) as mentioned in this post: https://our.umbraco.com/forum/getting-started/installing-umbraco/56192-Multisite-install-and-hostnames-in-IIS#
Wel.. ironically
<add key="Umbraco.Core.HideTopLevelNodeFromPath" value="false" />
fixes this problem 🤷♂️I am not grasping the code comments here at the moment but this "explains" what it does: https://github.com/umbraco/Umbraco-CMS/blob/v8/dev/src/Umbraco.Web/PublishedCache/NuCache/ContentCache.cs#L112
That seems to fix it!
I'll do some extensive testing (since the enviroment has 9 Homes) and will get back too you. But it looks promising!
Thanks!
WTF! That makes no sense but I just tried it and it works.
So I actually have this same thing happening in my own site. Granted, I actually have not really dug into it, but the issue looks like the first site in the list on mine is acting like the resolver and then I can view the other multisites with their node names.
I can still see the other sites resolve on their domains/subdomains, but it does looks like I can still get to the sub site like Sjaak mentioned.
So www.example.com/homepageOfSite2 and homepageOfSite2.example.com
Resolve to the same page. Which we did not run into on 7.
In Umbraco 7, we have an instance of 9 sites as well all on different subdomains, but when we try to hit a subpage on one of the other sites, it resolves to a 404. I will check the set up we have between 7 and see if I can't get it to do the same on 8.
Not only the first one. I've been trying different possible options. In most cases all hostnames can be used to call any other homenode, and using that as a start all subpages as well.
Yeh, that definitely sound like routing. Checking into it for ours too, because we will need to not to happen on ours. An issue could arise with conflict with search engine indexing.
OK, I thought I remembered this, but in our Umbraco 7 site in Umbracosettings.config there is a section that calls out the unique domains,
Domain prefixes. Mess with that setting and see if it works.
Just tried that - and no change - So guessing, this is no longer hooked up, is done via another method.
Well at least we found a point where to look in umb7 for a possible fix! I'm calling it a day, will check back in tomorrow!
Having this kind of setup seems to work, but isnt "ideal"
i.e. Having a ROOT folder, which contains the collection of sites
http://recordit.co/KHHlcJ34ot
That seems like a descent fix, but I'm not sure if that does it in my case.
The site is already live and I'm not sure if we are able to restructure everything. But at least we have something here :P
Agreed - especially if you have a lot of references to:
... It's going to be a headache, to re-write queries.
But I have seen Umbraco installs where this is the "usual setup" for Multilingual Sites, where the Model.Root is where all the "GLOBAL" settings are stored.
I prefer to have a separate node, for all that.
As always with "umbraco" - theres 99 ways to skin a cat.
Lets see if someone from the Core team notices this and decides to have a look at it. Although it is very quiet on their side, and I can't imagine this hasn't crossed anyones path yet ;)
To be honest this could be considered a HIGH security risk issue.
Especially if each site was displaying sensitive data.
In scenarios where one tree was for the "Public Site", and one for "B2B" only.
I just wanted to reply to this one specifically: if you have any nodes displaying sensitive data then you should make sure that they're never accessible on a public URL. Just not advertising the URL is not an adequate defense, you need to limit public access to these URLs.
Ok, so how do we get this in the picture with the bo$$es? ;)
You can try Twitter, try pinging the head unicorn. I know they are trying to beef up their customer service. Many of the veteran Umbraco devs caught their ear recently for letting that slip.
Twitter tends to catch their ear too and they usually direct to whomever can help. Include this feed link for a reference so they can answer and see your pics.
I would but I have not had time to do this quite yet.
Hi Everyone, Can you please help me how to fetch stored textstring value/textbox value into rich text editor?
Here in the below image, I created 3 folders using document type, each folder contains 15 websites. I have created multiple websites and each website contains separate domains. Specialist Name is in textstring/textbox format example "xyz" i tried fetching that stored value in below rich text editor by using @Model.Value("specialityName") but in website its not displaying the value of textstring. Please suggest me any link or your ideas.
is working on a reply...