Copied to clipboard

Flag this post as spam?

This post will be reported to the moderators as potential spam to be looked at


  • Carlos 338 posts 472 karma points
    Sep 02, 2014 @ 21:44
    Carlos
    0

    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.

  • Jan Skovgaard 11257 posts 23497 karma points MVP 7x admin c-trib
    Sep 02, 2014 @ 21:52
    Jan Skovgaard
    0

    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

  • Carlos 338 posts 472 karma points
    Sep 02, 2014 @ 21:57
    Carlos
    0

    @Jan,

    That makes total sense. I appreciate the info and the quick response.  

     

    Carlos

  • Jan Skovgaard 11257 posts 23497 karma points MVP 7x admin c-trib
    Sep 03, 2014 @ 09:06
    Jan Skovgaard
    0

    Hi Carlos

    Happy to help - Please let us know if you experience any issues or have new questions.

    /Jan

  • Nikhil 38 posts 129 karma points
    Feb 17, 2020 @ 17:42
    Nikhil
    0

    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?

  • Kevin Jump 1773 posts 11412 karma points MVP 4x c-trib
    Feb 17, 2020 @ 17:53
    Kevin Jump
    1

    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.

    enter image description here

    You define the hostname for each site, in the 'Culture and Hostnames' options of a site (when you right click on its name)

    enter image description here

    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

    enter image description here 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)

  • Nikhil 38 posts 129 karma points
    Feb 17, 2020 @ 18:00
    Nikhil
    0

    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.

  • Kevin Jump 1773 posts 11412 karma points MVP 4x c-trib
    Feb 17, 2020 @ 18:11
    Kevin Jump
    1

    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.

    enter image description here

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 09:36
    Sjaak van der Heide
    0

    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)

    Anyone have any other suggestions?

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 10:26
    Paul Wright (suedeapple)
    0
        <add key="Umbraco.Core.HideTopLevelNodeFromPath" value="true"/>
    

    Could be your friend here.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 10:29
    Sjaak van der Heide
    0

    It could have, but it's already in my appsettings...

    But of course thanks for the assistence! Any other suggestions maybe? :)

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 10:35
    Paul Wright (suedeapple)
    0

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 10:59
    Sjaak van der Heide
    0

    Structure

    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 :)

    hostnames

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 12:17
    Sjaak van der Heide
    0

    Fresh install

    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.

    <web.routing
        trySkipIisCustomErrors="true"
        internalRedirectPreservesTemplate="false" disableAlternativeTemplates="false" validateAlternativeTemplates="false" disableFindContentByIdPath="false"
        umbracoApplicationUrl="" urlProviderMode="absolute">
      </web.routing>
    

    like adding the urlProvider in the above line. Also the suggestion Paul gave (which is enabled standard)

    and lastly: I added

    <add key="Umbraco.Core.LocalTempStorage" value="EnvironmentTemp" />
    

    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

    enter image description here

    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.

  • Dave Woestenborghs 3252 posts 11032 karma points MVP 5x admin c-trib
    Sep 15, 2020 @ 09:48
    Dave Woestenborghs
    1

    Hi Sjaak,

    I think the Url providermode on the web.routing section is case sensitive.

    Could you try urlProviderMode="Absolute"

    Dave

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 12:26
    Sjaak van der Heide
    0

    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 ;)

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 13:41
    Paul Wright (suedeapple)
    0

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 14:47
    Sjaak van der Heide
    0

    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)

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 15:27
    Paul Wright (suedeapple)
    1

    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

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 15:54
    Sjaak van der Heide
    0

    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.

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 16:10
    Paul Wright (suedeapple)
    0

    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.

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 12:40
    Sebastiaan Janssen
    0

    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

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 12:50
    Sjaak van der Heide
    0

    It's not just the template.

    It shows all the content (and the whole menu) belonging to it.

    enter image description here

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 12:56
    Sebastiaan Janssen
    1

    Which is part of the template?

    Did you try setting disableAlternativeTemplates="true"?

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 13:00
    Sjaak van der Heide
    0

    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

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 13:07
    Sebastiaan Janssen
    0

    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:

    enter image description here

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 13:08
    Sebastiaan Janssen
    0

    Edit: All the nodes use the same "Home" template

    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?

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 13:09
    Sjaak van der Heide
    0

    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

  • Dave Woestenborghs 3252 posts 11032 karma points MVP 5x admin c-trib
    Sep 15, 2020 @ 13:09
    Dave Woestenborghs
    1

    And what happens when you do http://cork.nl/home2 ?

    I think that is the issue that Sjaak is experiencing

    Dave

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 13:13
    Sebastiaan Janssen
    0

    now try cork.nl/Test2 Does it show the Test2 Homepage? or nul800sebastiaan.nl/Tester

    Aha! The problem is that that does work, and it shouldn't, but there may be another config needing to be flipped.

    and since we're on it nul800sebastiaan.nl/Tester/about or cork.nl/Test2/about-us

    They don't work, which is expected.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 13:18
    Sjaak van der Heide
    0

    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#

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 13:18
    Sebastiaan Janssen
    0

    now try cork.nl/Test2 Does it show the Test2 Homepage? or nul800sebastiaan.nl/Tester

    Wel.. ironically <add key="Umbraco.Core.HideTopLevelNodeFromPath" value="false" /> fixes this problem 🤷‍♂️

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 13:22
    Sebastiaan Janssen
    0

    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

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 15, 2020 @ 13:26
    Sjaak van der Heide
    1

    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!

  • Carlos Mosqueda 183 posts 274 karma points
    Sep 17, 2020 @ 21:27
    Carlos Mosqueda
    0

    WTF! That makes no sense but I just tried it and it works.

  • Carlos Mosqueda 183 posts 274 karma points
    Sep 09, 2020 @ 15:56
    Carlos Mosqueda
    0

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 16:03
    Sjaak van der Heide
    0

    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.

  • Carlos Mosqueda 183 posts 274 karma points
    Sep 09, 2020 @ 16:07
    Carlos Mosqueda
    0

    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.

  • Carlos Mosqueda 183 posts 274 karma points
    Sep 09, 2020 @ 16:10
    Carlos Mosqueda
    0

    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.

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 16:21
    Paul Wright (suedeapple)
    0

    Just tried that - and no change - So guessing, this is no longer hooked up, is done via another method.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 09, 2020 @ 16:26
    Sjaak van der Heide
    0

    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!

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 09, 2020 @ 16:48
    Paul Wright (suedeapple)
    1

    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

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 10, 2020 @ 06:38
    Sjaak van der Heide
    0

    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

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 10, 2020 @ 08:48
    Paul Wright (suedeapple)
    0

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 10, 2020 @ 11:47
    Sjaak van der Heide
    0

    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 ;)

  • Paul Wright (suedeapple) 258 posts 660 karma points
    Sep 10, 2020 @ 11:51
    Paul Wright (suedeapple)
    0

    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.

  • Sebastiaan Janssen 4893 posts 14611 karma points MVP admin hq
    Sep 15, 2020 @ 12:42
    Sebastiaan Janssen
    0

    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.

  • Sjaak van der Heide 20 posts 91 karma points
    Sep 14, 2020 @ 14:04
    Sjaak van der Heide
    0

    Ok, so how do we get this in the picture with the bo$$es? ;)

  • Carlos Mosqueda 183 posts 274 karma points
    Sep 14, 2020 @ 15:25
    Carlos Mosqueda
    1

    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.

Please Sign in or register to post replies

Write your reply to:

Draft