Solved

IIS7 Virtual Hosts and server wide Virtual Directories.

Posted on 2009-04-01
7
2,487 Views
Last Modified: 2012-05-06
Hello.

Moving from Sambar Server on XP to IIS7 on Server 2008.

Sambar supported the following 2 mechanisms.

1 - I can have any number of websites using the same IP address.

I use DNS to map the name of the site to Sambar Server. Sambar Server has a vhosts.ini file which joins the website name (test.salesops.domain.local for example) to its particular set of files (D:\WebSites\Test\SalesOps\public_html for example).

2 - I can create system wide virtual directories.

This allows me to create a store for shared resources - css, js, graphics, sound, etc. without having to have copies in every web site.


I am a total novice with IIS7. I've managed to get IIS7 working and PHP installed using FastCGI.

I now want to move my existing sites.

The DNS records are pointing to the new server and I'm ready to start copying the sites.

My problem is one of terminology (what does Microsoft call these facilities) and knowledge of IIS (I don't know if IIS supports these facilities).

Regards,

Richard Quadling.
0
Comment
Question by:Richard Quadling
  • 3
  • 2
7 Comments
 
LVL 6

Expert Comment

by:powercram
ID: 24061818
Richard,

The answer to your first question is yes.  Previously this feature in IIS was called "host headers" (I include this so you can have a point of reference in case your run into it anywhere).  Now in IIS7 it's called "site bindings."  You can access this for any given site with a right-mouse click and select site bindings.  From there it should be self explanatory.

Regarding Q2 you can certainly share a physical directory among multiple sites as a virtual directory within each site.  It's easy to do manually as long as you don't have to do it for too many sites.  In IIS6 and earlier there was an easy way to export the settings of a virtual directory (or whole site), then you could import that on subsequent sites, but I'm not sure how to do that in IIS7.

Hope this helps.
0
 
LVL 40

Author Comment

by:Richard Quadling
ID: 24064588
Thanks for part 1. I'll look into this on Monday when I'm back in the office.

For part 2. As long as I've only got 1 instance of the common resources, I'm not too concerned over "difficulty". I expect that I can edit the config files to quickly replicate the settings (C:\windows\system32\inetsrv\config I think it was in).

All the files for the sites will be within subfolders of C:\WebSites

So, ...

C:\WebSites\Common will be the global resource folder, containing
C:\WebSites\Common\audio
C:\WebSites\Common\CSS
C:\WebSites\Common\JS (with sub folders for prototype, scripty, calendar, gui and my own JS code)
C:\WebSites\Common\images

Then each site will be ...

C:\WebSites\SalesOps
C:\WebSites\Merlin
C:\WebSites\Accounts
C:\WebSites\Phones

Each of these will have a public_html folder and a local_includes folder.

The public_html folder is the doc_root for that site.

The local_includes folder is not publicly accessible from the web but is used by scripts running within that site.

Still learning about IIS. Don't need a lot of it's capabilities at the moment.
 
0
 
LVL 40

Author Comment

by:Richard Quadling
ID: 24076763
Host Headers.

So create my sites and then bind  the name to each site.

Makes sense.


0
U.S. Department of Agriculture and Acronis Access

With the new era of mobile computing, smartphones and tablets, wireless communications and cloud services, the USDA sought to take advantage of a mobilized workforce and the blurring lines between personal and corporate computing resources.

 
LVL 6

Expert Comment

by:powercram
ID: 24076909
FKA (formerly known as) host headers.  They are now called site bindings.
0
 
LVL 40

Author Comment

by:Richard Quadling
ID: 24324639
In the end I found that the server config was held in an XML file.

This was a LOT easier to use than I was expecting and allows me to clone a site setup very easily.

And adding a global virtual directory was very easy.

Below is a snippet of the applicationHost.config file.

As you can see adding the "/global" path is a 1 liner.
<site name="Sales Operations" id="2" serverAutoStart="true">
	<application path="/" applicationPool="No .NET">
		<virtualDirectory path="/" physicalPath="D:\Web Sites\Development\Sales Operations\public_html" />
		<virtualDirectory path="/global" physicalPath="D:\Web Sites\All Sites" />
	</application>
	<bindings>
		<binding protocol="http" bindingInformation="*:80:dev.salesops.domain.local" />
	</bindings>
</site>
<site name="Accounts Department" id="3" serverAutoStart="true">
	<application path="/" applicationPool="No .NET">
		<virtualDirectory path="/" physicalPath="D:\Web Sites\Development\Accounts Department\public_html" />
		<virtualDirectory path="/global" physicalPath="D:\Web Sites\All Sites" />
	</application>
	<bindings>
		<binding protocol="http" bindingInformation="*:80:dev.accounts.domain.local" />
	</bindings>
</site>

Open in new window

0
 

Accepted Solution

by:
ee_auto earned 0 total points
ID: 24362188
Question PAQ'd, 500 points refunded, and stored in the solution database.
0

Featured Post

PRTG Network Monitor: Intuitive Network Monitoring

Network Monitoring is essential to ensure that computer systems and network devices are running. Use PRTG to monitor LANs, servers, websites, applications and devices, bandwidth, virtual environments, remote systems, IoT, and many more. PRTG is easy to set up & use.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Prologue It is often required to host multiple websites on a single instance of IIS, mostly in development environments instead of on production servers. I am sure it is not much a preferred solution on production servers but this is at least a pos…
A phishing scam that claims a recipient’s credit card details have been “suspended” is the latest trend in spoof emails.
A short tutorial showing how to set up an email signature in Outlook on the Web (previously known as OWA). For free email signatures designs, visit https://www.mail-signatures.com/articles/signature-templates/?sts=6651 If you want to manage em…
Finds all prime numbers in a range requested and places them in a public primes() array. I've demostrated a template size of 30 (2 * 3 * 5) but larger templates can be built such 210  (2 * 3 * 5 * 7) or 2310  (2 * 3 * 5 * 7 * 11). The larger templa…

840 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question