사이트 사이트 <>
개요
<site>
구성 요소는 IIS 7 이상 서버에서 실행하는 특정 웹 사이트의 구성을 제어합니다. 예를 들어 기본 웹 사이트 및 해당 설정은 요소의 <site>
여는 태그와 닫는 태그 사이에 있는 요소에 <sites>
정의됩니다.
IIS 7 이상에서 새 웹 사이트를 만들 때 요소를 구성 <site>
합니다. <site>
요소에는 웹 사이트에 할당한 이름을 정의하는 이름 특성과 웹 사이트의 숫자 식별자를 정의하는 ID 특성이 포함됩니다. <site>
요소에는 사이트에서 실행되는 애플리케이션 및 가상 디렉터리를 정의하는 자식 요소와 웹 사이트의 포트, 프로토콜, 로깅 및 추적 구성 설정이 포함됩니다.
호환성
버전 | 참고 |
---|---|
IIS 10.0 | <site> 요소가 IIS 10.0에서 수정되지 않았습니다. |
IIS 8.5 | <site> 요소가 IIS 8.5에서 수정되지 않았습니다. |
IIS 8.0 | <site> 요소가 IIS 8.0에서 수정되지 않았습니다. |
IIS 7.5 | <site> 요소가 IIS 7.5에서 수정되지 않았습니다. |
IIS 7.0 | <site> 컬렉션의 <sites> 요소는 IIS 7.0에서 도입되었습니다. |
IIS 6.0 | 컬렉션은 <sites> IIS 6.0 IIsWebServer 메타베이스 개체를 대체합니다. |
설치 프로그램
요소는 <site>
IIS 7 이상의 기본 설치에 포함됩니다.
방법
IIS 7에서 새 웹 사이트를 구성할 때 웹 사이트에 사이트 이름과 실제 경로를 할당해야 합니다. 설정할 수 있는 여러 선택적 구성 설정도 있습니다. IIS 7 서버에서 기본 웹 사이트를 계속 사용하려는 경우 새 사이트에 대한 바인딩 정보를 변경해야 합니다. 포트를 변경하거나 새 웹 사이트의 호스트 이름을 입력하여 이 작업을 수행할 수 있습니다.
새 웹 사이트를 만드는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 서버 이름을 확장한 다음 사이트를 클릭합니다.
작업 창에서 웹 사이트 추가를 클릭합니다.
웹 사이트 추가 대화 상자에서 최소한 사이트 이름 및 실제 경로 텍스트 상자에 정보를 입력하고 호스트 이름 텍스트 상자에 정보를 입력할지 아니면 포트 상자에서 번호를 변경할지 선택합니다.
IIS 관리자에서 새로 고침 단추를 클릭하여 사이트가 시작되었는지 확인합니다.
FTP 사이트에 대해 익명 인증을 사용하거나 사용하지 않도록 설정하는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 서버 이름을 확장하고 사이트 노드를 확장한 다음 사이트 이름을 클릭합니다.
사이트의 홈 창에서 FTP 인증 기능을 두 번 클릭합니다.
FTP 인증 페이지에서 익명 인증을 선택합니다.
작업 창에서 사용을 클릭하여 익명 인증을 사용하도록 설정하거나 사용 안 함을 클릭하여 익명 인증을 사용하지 않도록 설정합니다.
FTP 사이트 마법사를 사용하여 익명 읽기 권한이 있는 FTP 사이트를 만드는 방법
IIS(인터넷 정보 서비스) 관리자를 엽니다.
Windows Server 2012 또는 Windows Server 2012 R2를 사용하는 경우:
- 작업 표시줄에서 서버 관리자 클릭하고 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows 8 또는 Windows 8.1 사용하는 경우:
- Windows 키를 누른 채로 문자 X를 누른 다음 제어판 클릭합니다.
- 관리 도구를 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
Windows Server 2008 또는 Windows Server 2008 R2를 사용하는 경우:
- 작업 표시줄에서 시작을 클릭하고 관리 도구를 가리킨 다음 IIS(인터넷 정보 서비스) 관리자를 클릭합니다.
Windows Vista 또는 Windows 7을 사용하는 경우:
- 작업 표시줄에서 시작을 클릭한 다음 제어판 클릭합니다.
- 관리 도구를 두 번 클릭한 다음 IIS(인터넷 정보 서비스) 관리자를 두 번 클릭합니다.
연결 창에서 트리의 사이트 노드를 클릭합니다.
트리에서 사이트 노드를 마우스 오른쪽 단추로 클릭하고 FTP 사이트 추가를 클릭하거나 작업 창에서 FTP 사이트 추가를 클릭합니다.
FTP 사이트 추가 마법사가 표시되는 경우:
FTP 사이트 추가 마법사의 두 번째 페이지에서 다음을 수행합니다.
IP 주소 드롭다운에서 FTP 사이트의 IP 주소를 선택하거나 기본 선택 항목인 "할당되지 않은 모든 항목"을 적용하도록 선택합니다.
포트 상자에 FTP 사이트의 TCP/IP 포트 를 입력합니다. 기본적으로 FTP 사이트 및 클라이언트는 포트 21을 사용합니다. (참고: 암시적 FTPS를 지정하려면 포트 990을 사용해야 합니다.)
FTP 가상 호스트 이름을 사용하려면 가상 호스트 이름 사용 상자를 선택한 다음 가상 호스트 상자에 가상 호스트 이름을 입력합니다.
SSL 옵션의 경우 다음 옵션 중 하나를 선택합니다.
- SSL 옵션을 사용하지 않도록 설정하려면 SSL 없음을 선택합니다.
- FTP 클라이언트가 FTP 서버에 연결할 때 선택적으로 SSL을 통해 FTP를 사용할 수 있도록 허용하려면 SSL 허용을 선택합니다.
- FTP 클라이언트가 FTP 서버에 연결할 때 항상 SSL 을 통해 FTP를 사용할 수 있도록 하려면 SSL 필요를 선택합니다.
- SSL 허용 또는 SSL 필요를 선택하는 경우 SSL 인증서 드롭다운 메뉴에서 인증서를 선택합니다.
마법사의 다음 페이지에서 다음을 수행합니다.
구성
ApplicationHost.config 파일의 서버 수준에서 요소를 구성 <site>
합니다.
특성
attribute | Description |
---|---|
id |
선택적 uint 특성입니다. 사이트를 만들 때 IIS에서 할당하는 임의의 숫자 식별자를 지정합니다. 기본 웹 사이트의 번호는 1입니다. 다른 웹 사이트에는 여러 숫자로 구성된 난수가 있습니다. |
name |
선택적 문자열 특성입니다. 웹 사이트를 고유하게 식별하는 이름(예: "Contoso HR Forms")을 지정합니다. |
serverAutoStart |
선택적 부울 특성입니다. 관리 서비스가 시작될 때 사이트를 자동으로 시작할지 여부를 지정합니다. 기본값은 true 입니다. |
자식 요소
요소 | Description |
---|---|
application |
선택적 요소입니다. 사이트의 애플리케이션에 대한 구성 설정 컬렉션을 지정합니다. |
applicationDefaults |
선택적 요소입니다. 부모 사이트의 모든 애플리케이션에 대한 기본 설정을 지정합니다. |
bindings |
선택적 요소입니다. 사이트에 액세스할 바인딩을 지정합니다. |
ftpServer |
선택적 요소입니다. 사이트에 대한 FTP 설정을 지정합니다. 참고: 이렇게 하려면 FTP 7.0 또는 FTP 7.5를 설치해야 합니다. |
limits |
선택적 요소입니다. 대역폭의 양, 연결 수 또는 사이트 연결 시간을 제한하도록 설정을 구성합니다. |
logFile |
선택적 요소입니다. 사이트에 대한 로그 파일의 처리 및 스토리지에 대한 설정을 구성합니다. |
traceFailedRequestsLogging |
선택적 요소입니다. 사이트에 대한 실패한 요청 추적을 로깅하기 위한 설정을 지정합니다. |
virtualDirectoryDefaults |
선택적 요소입니다. 사이트의 모든 가상 디렉터리에 대한 기본 설정을 지정합니다. |
구성 샘플
다음 구성 예제에서는 <site>
ApplicationHost.config 파일에 요소를 표시합니다. 이름 특성은 사이트 이름을 Contoso로 정의하고 ID 특성은 IIS별 식별자를 2로 정의합니다. 요소의 <virtualDirectory>
physicalPath 특성은 새 사이트 콘텐츠의 물리적 위치를 정의합니다. 요소의 <binding>
프로토콜 특성은 사이트에서 사용할 프로토콜을 정의하고 bindingInformation 특성은 를 새 웹 사이트에서 사용하는 호스트 헤더로 정의합니다www.contoso.com
.
<site name="Contoso" id="2">
<application path="/">
<virtualDirectory path="/" physicalPath="C:\inetpub\Contoso" />
</application>
<bindings>
<binding protocol="http" bindingInformation="*:80:www.contoso.com" />
</bindings>
</site>
샘플 코드
다음 예제에서는 ID가 2인 Contoso라는 새 웹 사이트를 만들고 호스트 헤더가 "www.contoso.com"인 포트 80을 통해 HTTP 프로토콜에 대한 바인딩을 설정합니다. 새 웹 사이트의 실제 경로는 C:\Inetpub\www.contoso.com\wwwroot입니다.
AppCmd.exe
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2',serverAutoStart='True']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].bindings.[protocol='http',bindingInformation='*:80:www.contoso.com']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/']" /commit:apphost
appcmd.exe set config -section:system.applicationHost/sites /+"[name='Contoso',id='2'].[path='/'].[path='/',physicalPath='C:\Inetpub\www.contoso.com\wwwroot']" /commit:apphost
참고
AppCmd.exe 사용하여 이러한 설정을 구성할 때 commit 매개 변수 apphost
를 로 설정해야 합니다. 그러면 구성 설정이 ApplicationHost.config 파일의 적절한 위치 섹션에 커밋됩니다.
C#
using System;
using System.Text;
using Microsoft.Web.Administration;
internal static class Sample
{
private static void Main()
{
using (ServerManager serverManager = new ServerManager())
{
Configuration config = serverManager.GetApplicationHostConfiguration();
ConfigurationSection sitesSection = config.GetSection("system.applicationHost/sites");
ConfigurationElementCollection sitesCollection = sitesSection.GetCollection();
ConfigurationElement siteElement = sitesCollection.CreateElement("site");
siteElement["name"] = @"Contoso";
siteElement["id"] = 2;
siteElement["serverAutoStart"] = true;
ConfigurationElementCollection bindingsCollection = siteElement.GetCollection("bindings");
ConfigurationElement bindingElement = bindingsCollection.CreateElement("binding");
bindingElement["protocol"] = @"http";
bindingElement["bindingInformation"] = @"*:80:www.contoso.com";
bindingsCollection.Add(bindingElement);
ConfigurationElementCollection siteCollection = siteElement.GetCollection();
ConfigurationElement applicationElement = siteCollection.CreateElement("application");
applicationElement["path"] = @"/";
ConfigurationElementCollection applicationCollection = applicationElement.GetCollection();
ConfigurationElement virtualDirectoryElement = applicationCollection.CreateElement("virtualDirectory");
virtualDirectoryElement["path"] = @"/";
virtualDirectoryElement["physicalPath"] = @"C:\Inetpub\www.contoso.com\wwwroot";
applicationCollection.Add(virtualDirectoryElement);
siteCollection.Add(applicationElement);
sitesCollection.Add(siteElement);
serverManager.CommitChanges();
}
}
}
VB.NET
Imports System
Imports System.Text
Imports Microsoft.Web.Administration
Module Sample
Sub Main()
Dim serverManager As ServerManager = New ServerManager
Dim config As Configuration = serverManager.GetApplicationHostConfiguration
Dim sitesSection As ConfigurationSection = config.GetSection("system.applicationHost/sites")
Dim sitesCollection As ConfigurationElementCollection = sitesSection.GetCollection
Dim siteElement As ConfigurationElement = sitesCollection.CreateElement("site")
siteElement("name") = "Contoso"
siteElement("id") = 2
siteElement("serverAutoStart") = True
Dim bindingsCollection As ConfigurationElementCollection = siteElement.GetCollection("bindings")
Dim bindingElement As ConfigurationElement = bindingsCollection.CreateElement("binding")
bindingElement("protocol") = "http"
bindingElement("bindingInformation") = "*:80:www.contoso.com"
bindingsCollection.Add(bindingElement)
Dim siteCollection As ConfigurationElementCollection = siteElement.GetCollection
Dim applicationElement As ConfigurationElement = siteCollection.CreateElement("application")
applicationElement("path") = "/"
Dim applicationCollection As ConfigurationElementCollection = applicationElement.GetCollection
Dim virtualDirectoryElement As ConfigurationElement = applicationCollection.CreateElement("virtualDirectory")
virtualDirectoryElement("path") = "/"
virtualDirectoryElement("physicalPath") = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.Add(virtualDirectoryElement)
siteCollection.Add(applicationElement)
sitesCollection.Add(siteElement)
serverManager.CommitChanges()
End Sub
End Module
JavaScript
var adminManager = new ActiveXObject('Microsoft.ApplicationHost.WritableAdminManager');
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST";
var sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST");
var sitesCollection = sitesSection.Collection;
var siteElement = sitesCollection.CreateNewElement("site");
siteElement.Properties.Item("name").Value = "Contoso";
siteElement.Properties.Item("id").Value = 2;
siteElement.Properties.Item("serverAutoStart").Value = true;
var bindingsCollection = siteElement.ChildElements.Item("bindings").Collection;
var bindingElement = bindingsCollection.CreateNewElement("binding");
bindingElement.Properties.Item("protocol").Value = "http";
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com";
bindingsCollection.AddElement(bindingElement);
var siteCollection = siteElement.Collection;
var applicationElement = siteCollection.CreateNewElement("application");
applicationElement.Properties.Item("path").Value = "/";
var applicationCollection = applicationElement.Collection;
var virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory");
virtualDirectoryElement.Properties.Item("path").Value = "/";
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\\Inetpub\\www.contoso.com\\wwwroot";
applicationCollection.AddElement(virtualDirectoryElement);
siteCollection.AddElement(applicationElement);
sitesCollection.AddElement(siteElement);
adminManager.CommitChanges();
VBScript
Set adminManager = createObject("Microsoft.ApplicationHost.WritableAdminManager")
adminManager.CommitPath = "MACHINE/WEBROOT/APPHOST"
Set sitesSection = adminManager.GetAdminSection("system.applicationHost/sites", "MACHINE/WEBROOT/APPHOST")
Set sitesCollection = sitesSection.Collection
Set siteElement = sitesCollection.CreateNewElement("site")
siteElement.Properties.Item("name").Value = "Contoso"
siteElement.Properties.Item("id").Value = 2
siteElement.Properties.Item("serverAutoStart").Value = True
Set bindingsCollection = siteElement.ChildElements.Item("bindings").Collection
Set bindingElement = bindingsCollection.CreateNewElement("binding")
bindingElement.Properties.Item("protocol").Value = "http"
bindingElement.Properties.Item("bindingInformation").Value = "*:80:www.contoso.com"
bindingsCollection.AddElement bindingElement
Set siteCollection = siteElement.Collection
Set applicationElement = siteCollection.CreateNewElement("application")
applicationElement.Properties.Item("path").Value = "/"
Set applicationCollection = applicationElement.Collection
Set virtualDirectoryElement = applicationCollection.CreateNewElement("virtualDirectory")
virtualDirectoryElement.Properties.Item("path").Value = "/"
virtualDirectoryElement.Properties.Item("physicalPath").Value = "C:\Inetpub\www.contoso.com\wwwroot"
applicationCollection.AddElement(virtualDirectoryElement)
siteCollection.AddElement applicationElement
sitesCollection.AddElement siteElement
adminManager.CommitChanges()