IIS 7 설치 개요

등록일시: 2006-10-10 11:57,  수정일시: 2016-09-02 07:56
조회수: 5,892
이 문서는 IIS 기술을 널리 알리고자 하는 개인적인 취지로 제공되는 번역문서입니다. 이 문서에 대한 모든 저작권은 마이크로소프트에 있으며 요청이 있을 경우 언제라도 게시가 중단될 수 있습니다. 번역 내용에 오역이 존재할 수 있고 주석은 번역자 개인의 의견일 뿐이며 마이크로소프트는 이에 관한 어떠한 보장도 하지 않습니다. 번역이 완료된 이후에도 대상 제품 및 기술이 개선되거나 변경됨에 따라 원문의 내용도 변경되거나 보완되었을 수 있으므로 주의하시기 바랍니다.

서론

IIS 7은 웹 서버 풋프린트의 완벽한 제어가 가능한 완전한 모듈 기반 설치 방식으로 설계되었습니다. 그래픽 사용자 인터페이스 기반 설치와 명령 프롬프트를 통한 설치, 그리고 무인 설치 옵션을 통해서 보안 및 웹 서버 풋프린트 서비스 관리를 간편하게 제공해줍니다. IIS 7의 설치는 선택 가능한 40개 이상의 기능들로 구성되어 있습니다. IIS 7의 새로운 핵심 서버 파이프라인 아키텍처는 고수준의 구성 요소 세분화를 가능하게 해줬으며, 사용자는 선택할 수 있는 설치 가능한 구성 요소들을 통해서 이를 경험할 수 있습니다. IIS 7의 설치에서 가장 놀라운 특징은 필요한 기능 모듈들만 정확하게 설치할 수 있다는 점으로, 이로 인해서 극적으로 경량화된 배포가 가능해졌고, 지금까지는 불가능했던 방식으로 특정 서버에서 사용하지 않는 기능들을 제거할 수 있습니다.

본문에서는 Microsoft Windows Vista와 Microsoft Server 코드명 Longhorn의 설치 기술 개요와 IIS 7의 구성 요소화된 설치에 관한 상세한 검토를 제공합니다. 이런 정보들은 명령 프롬프트 설치와 무인 스크립트 설치 시나리오에 따른 사용자 정의 IIS 7 설치가 필요한 사용자들에게 대단히 중요합니다. 기존에 sysocmgr.exe가 사용된 스크립트를 이용해서 빈번하게 IIS 6.0을 설치하고 있다면, 해당 스크립트를 Windows Vista와 Windows Server 코드명 Longhorn에 적합하게 수정해야 합니다. 본문은 이런 변경 작업을 처리하기 위한 배경 지식들을 제공합니다.

Longhorn 구성 요소 기반 설치

Windows Vista와 Windows Server 코드명 Longhorn의 운영체제와 선택적 기능 설치는 Windows XP나 Windows Server 2003에서 사용되던 기술들을 대체하는 완전히 새로운 기술에 기반합니다. 이 새로운 설치 기술은 선언적 모델을 근간으로 하며, 운영체제의 기능들은 각각 자신의 기능을 형성하는 구성 요소들의 집합과 종속성을 스스로 정의합니다.

Windows Vista/Longhorn은 이런 새로운 설치 기반 구조로부터 비롯된 다음과 같은 몇 가지 중요한 이점을 얻습니다.

  • 하나의 이진 파일 기반으로 모든 버전의 Longhorn을 지원
    • 각각의 OS 버전은 동일한 이진 파일 기반이 선언적으로 조합된 것입니다.
    • 클라이언트와 서버가 동일한 코드 기반을 공유합니다.
  • 서비스
    • 모든 기능들에 대한 종속성 인식이 증가됩니다.
      • 한 구성 요소가 서비스될 때 발생하는 영향에 대한 완전한 이해가 가능합니다.
    • 보다 작은 서비스 집합의 구현이 가능합니다.
  • 보안
    • 공격의 대상이 될 수 있는 외부 노출 부분이 감소됩니다.
    • 운영체제 설치시 반드시 필요한 이진 파일들만 설치됩니다.

선택적 기능들을 위한 Longhorn 설치

Windows Vista/Longhorn에서는 운영체제를 설치하기 위해 사용되는 기술과 동일한 구성 요소 기반 설치 기술이 IIS 7 같은 선택적 기능의 설치에도 동일하게 사용됩니다. 과거 Windows Vista/Longhorn 이전에 사용되던 Windows 설치 기반 구조에서는 업그레이드와 서비스 설치, 그리고 운영체제에 선택적 기능을 추가하기 위한 설치에 다양한 기술들이 동시에 사용되었습니다. 바로 다음과 같은 것들입니다.

  • 운영체제 설치를 위한 Setup.exe
  • 선택적 기능을 설치하기 위한 Sysocmgr.exe
  • 선택적 기능을 설치하기 위한 응답 파일들
  • 서비스 팩을 설치하기 위한 Update.exe
  • MSI 인스톨러 패키지

그러나, Vista/Longhorn에서는 운영체제의 신규 설치, 운영체제 서비스, 그리고 선택적 기능 설치를 위해 통합된 단일 구성 요소 기반 설치 기술만 사용합니다. 게다가, 이런 기술은 선택적 기능을 설치하기 위해 사용되던 sysocmgr.exe를 대체합니다. 따라서, 만약 IIS를 설치하기 위해서 일상적으로 직접 sysocmgr.exe를 사용해왔다면, 작업에 사용되던 스크립트들을 Vista/Longhorn에 적합하게 수정해야 합니다.

보안, 서비스 그리고 IIS 7 설치 구성 요소

IIS 6에서 IIS 팀은 웹 서버를 기본적으로 비활성화시키는 과감한 조치를 취했었습니다. 다시 말해서, 관리자가 특정 서버에서 해당 기능을 명시적으로 활성화시키지 않으면 ISAPI 익스텐션과 CGI 구성 요소들이 비활성 상태로 남아있게 됩니다. 그 결과 기본적으로 모든 기능이 설치되고 또 활성화되던 IIS 5에 비해 잠재적인 공격 가능성이 크게 줄어들었으며, 새로 설치된 IIS 6 웹 서버에서는 기본적으로 정적 파일들만 서비스가 허용되었습니다.

이런 방침의 변화를 통해서 기본적으로 노출되는 웹 서버의 영역 최소화라는 면에서는 명백한 이점을 얻었지만, 그렇다고 완벽하지는 않았습니다. IIS 6가 기존 버전에 비해 상대적으로 보안과 신뢰성, 그리고 성능 부분에 있어 크게 개선되긴 했지만 여전히 비교적 경직된 형태의 아키텍처를 유지하고 있었습니다. 즉, 기본적이지 않은 많은 기능들이 비활성 상태로 설치되기는 하지만 설치되었다는 점에는 역시 변함이 없으며, 비활성 상태임에도 불구하고 여전히 웹 서버에 로드되고 CPU와 메모리를 소모하며 패치와 소프트웨어 업데이트를 필요로 합니다. 가령, IIS 6의 CGI 기능은 사용 여부에 관계 없이 항상 설치됩니다. 그리고, 만약 CGI와 관련된 소프트웨어 업데이트가 발생하면 모든 IIS 소비자들은 사용 여부와 관계없이 이 업데이트의 설치를 요구받게 되는 것입니다.

IIS 7에서 IIS 팀은 IIS를 완벽한 모듈형 웹 서버로 만듦으로서 이 문제를 해결했으며, 설치시 고수준 모듈성의 이점을 얻을 수 있도록 설계했습니다. IIS 7에서는 불필요한 구성 요소가 단순히 비활성화되는 것에 그치는 것이 아니라, 아예 설치 자체가 되지 않습니다. 결과적으로 필요한 IIS 7의 기능들만 설치할 수 있으며, 현재 사용 중인 구성 요소들의 서비스에 대해서만 고민하면 됩니다. 또한 매우 경량화된 배포가 가능하고 지금까지는 불가능했던 방식으로 특정 서버로부터 사용하지 않는 기능들을 제거할 수 있습니다.

IIS 7 구성 요소 요약

다음은 설치 가능한 IIS 7의 모든 기능들을 정리해 놓은 표입니다. 이 표에는 기능 범주에 따라 기능들의 그룹이 구분되어 있습니다. 이런 기능 범주는 새로운 명령 프롬프트와 스트립팅 도구를 비롯해 서버 관리자 같은 사용자 인터페이스로 IIS 7을 설치할 때 사용됩니다. 각각의 기능 범주와 기능 구성 요소들은 다음장에서 자세히 살펴볼 것입니다.

설치 메뉴 항목 설명
P 웹 서버 IIS 7 웹 서버를 설치합니다. HTML 웹 사이트 지원과 ASP.NET 및 클래식 ASP에 대한 선택적 지원, 그리고 웹 서버 확장을 제공합니다.
    P 공통 HTTP 기능 HTML과 이미지 파일 같은 정적 웹 서버 콘텐츠와 사용자 정의 오류, 그리고 리디렉션에 대한 지원을 설치합니다.
        P 정적 콘텐츠 웹 사이트의 .htm 파일과 .html 파일, 그리고 이미지 파일들을 지원합니다.
        P 기본 문서 사용자가 요청 URL에 파일을 지정하지 않은 경우 로드될 기본 파일을 지정할 수 있게 해줍니다.
        P 디렉터리 나열 클라이언트가 서버에 위치한 특정 디렉터리의 콘텐츠들을 볼 수 있게 해줍니다.
        P HTTP 오류 HTTP 오류 파일들을 설치합니다. 클라이언트에게 리턴될 오류 메시지를 사용자 정의 할 수 있도록 해줍니다.
          HTTP 리디렉션 클라이언트의 요청을 지정한 목적지로 리디렉션 할 수 이는 기능을 제공합니다.
      응용 프로그램 개발 ASP.NET, 클래식 ASP, CGI, 및 ISAPI 익스텐션과 같은 응용 프로그램 개발 지원을 설치합니다.
          ASP.NET 웹 서버에서 ASP.NET 응용 프로그램을 호스트 할 수 있게 해줍니다.
          .NET 확장성 웹 서버에서 .NET 프레임워크 관리되는 모듈 확장을 호스트 할 수 있게 해줍니다.
          ASP 웹 서버에서 클래식 ASP 응용 프로그램을 호스트 할 수 있게 해줍니다.
          CGI CGI 실행 파일 지원을 활성화합니다.
           ISAPI 익스텐션 ISAPI 익스텐션이 클라이언트 요청을 처리할 수 있게 해줍니다.
          ISAPI 필터 ISAPI 필터가 웹 서버 동작을 수정할 수 있게 해줍니다.
          Server Side Includes .stm, .shtm, 그리고 .shtml 포함 파일에 대한 지원을 제공합니다.
    P 상태 진단 서버와 사이트, 그리고 응용 프로그램의 상태를 진단하고 관리할 수 있게 해줍니다.
        P HTTP 로깅 현재 서버의 웹 사이트 활동 상태 로깅을 활성화합니다.
          로깅 도구 IIS 7 로깅 도구와 스크립트를 설치합니다.
        P 요청 진단 서버와 사이트, 그리고 응용 프로그램의 상태를 진단합니다.
          추적 ASP.NET 응용 프로그램과 실패한 요청에 대한 추적을 활성화합니다.
          사용자 정의 로깅 웹 서버와 사이트, 그리고 응용 프로그램에 대한 사용자 정의 로깅을 활성화합니다.
          ODBC 로깅 ODBC 지원 데이터베이스를 사용하는 로깅 지원을 활성화합니다.
      보안 서버, 사이트, 응용 프로그램, 가상 디렉터리 그리고 파일들의 보안을 위한 추가적인 보안 프로토콜을 활성화합니다.
          기본 인증 연결을 위해 유효한 windows 사용자명과 비밀번호를 요구합니다.
          Windows 인증 NTLM 또는 커버로스를 사용하여 클라이언트를 인증합니다.
          다이제스트 인증 Windows 도메인 컨트롤러로 비밀번호 해시를 전송하여 클라이언트를 인증합니다.
          클라이언트 인증서 맵핑 인증 클라이언트 인증서와 엑디브 디렉터리 계정을 사용하여 클라이언트를 인증합니다.
          IIS 클라이언트 인증서 맵핑 인증 클라이언트 인증서와 Windows 보안 식별자를 일대일, 또는 다대일로 맵핑합니다.
          URL 권한 점검 웹 응용 프로그램을 구성하는 URLs에 접근하기 위한 클라이언트의 권한을 점검합니다.
          요청 필터링 지정된 클라이언트의 요청을 봉쇄하기 위해 규칙을 설정합니다.
          IP 보안 IP 주소나 도메인명을 기반으로 콘텐츠에 대한 접근을 허용하거나 제한합니다.
    P 성능  
          정적 콘텐츠 압축 클라이언트로 전달되는 정적 콘텐츠를 압축합니다.
          동적 콘텐츠 압축 클라이언트로 전달되는 동적 콘텐츠를 압축합니다.
P 웹 서버 관리 도구 웹 서버 관리 콘솔 및 도구 설치
    P IIS 관리 콘솔 로컬 및 원격 웹 서버의 관리를 지원하는 웹 서버 관리 콘솔 설치
      IIS 관리 스크립트 및 도구 IIS 구성 설정 스크립트를 사용한 로컬 웹 서버 관리
      관리 서비스 관리 서비스는 현재 웹 서버를 다른 컴퓨터에서 웹 서버 관리 콘솔을 사용하여 관리할 수 있도록 해줍니다.
      IIS 6 관리 호환성 IIS 7 웹 서버를 기존의 IIS 6.0 API와 스크립트를 사용하여 관리할 수 있도록 지원합니다.
          IIS 메타베이스 및 IIS 6 구성 설정 호환성 메타베이스 호출이 새로운 IIS 7 구성 설정 저장소와 상호작용을 할 수 있도록 지원하기 위해 IIS 메타베이스와 호환성 레이어를 설치합니다.
          IIS 6 WMI 호환성 IIS 6.0 WMI 스크립팅 인터페이스를 설치합니다.
          IIS 6 스크립팅 도구 IIS 6.0 구성 설정 스크립트를 설치합니다.
          IIS 6 관리 콘솔 IIS 6.0 관리 콘솔을 설치합니다. 로컬 컴퓨터에서 원격지 IIS 6.0 서버 관리를 지원하기 위해 제공됩니다.
  FTP 퍼블리싱 서비스 파일 전송 프로토콜(FTP) 서비스와 FTP 관리 콘솔을 설치합니다. 파일의 업로드와 다운로드 지원을 제공합니다.
      FTP 서버 파일 전송 프로토콜(FTP) 서비스를 설치합니다.
      FTP 관리 콘솔 로컬 및 원격지 FTP 서버를 관리하기 위한 파일 전송 프로토콜 관리 콘솔을 설치합니다.

키:

  이 기능은 기본적으로 선택되지 않습니다.
P 이 기능은 기본적으로 선택되지만, 하나 이상의 하위 기능이 선택되지 않습니다.
P 이 기능은 기본적으로 선택되고, 모든 하위 기능이 선택됩니다.

IIS 7 기능 패키지

서버 관리자나 Windows 기능 마법사를 사용해서 IIS를 설치할 때는 단순히 설치하고자 하는 각각의 기능들을 선택하기만 하면 됩니다. 그러나, 명령 프롬프트 스크립트나 무인 설치 파일을 통해서 IIS를 설치하려면 IIS 패키지 내부에서 해당 기능들을 나타내는 실질적인 이름을 알고 있어야 합니다.

  • 사용자 인터페이스를 통한 설치시에는 선택된 IIS 기능에 대한 IIS 패키지 업데이트명이 내부적으로 관리됩니다.
  • 무인 설치와 명령 프롬프트 설치시에는 명시적인 업데이트명 지정이 반드시 필요합니다.

IIS 패키지 업데이트

각각의 IIS 기능들은 설치시 IIS 패키지 업데이트와 직접적으로 맵핑됩니다. 패키지의 최상단에 위치한 IIS 업데이트는 IIS-WebServerRole입니다. 그리고, 그 다음 수준인 IIS-WebServerRole 하위에는 다음과 같은 세 개의 주요 기능 범주로 분류된 업데이트들이 존재합니다.

  • IIS-WebServer
  • IIS-WebServerManagementTools
  • IIS-FTPPublishingService

이 각각의 그룹들은 설치 가능한 기능들을 갖고 있는 한 개 이상의 업데이트들을 포함합니다.

IIS-WebServer 업데이트

웹 서버와 관련된 모든 기능은 IIS-WebServer 업데이트의 하위 그룹에 위치합니다.

  • IIS-CommonHttpFeatures
  • IIS-ApplicationDevelopment
  • IIS-HealthAndDiagnostics
  • IIS-Security
  • IIS-Performance

이 각각의 그룹들은 설치 가능한 기능들을 가지고 있는 한 개 이상의 업데이트들을 포함합니다.

공통 HTTP 기능 업데이트

HTML이나 이미지 파일 같은 정적 웹 서버 콘텐츠 지원, 사용자 정의 오류, 그리고 리디렉션과 같은 IIS 기능들은 공통 HTTP 기능 업데이트의 하위에 위치합니다. 물론, 이런 기능들 중 일부나 전부를 특별한 목적의 구성 설정을 이유로 제거할 수는 있지만, 대부분의 경우 이 기능들은 항상 IIS에 설치됩니다.

  • IIS-CommonHttpFeatures
    • IIS-StaticContent
    • IIS-DefaultDocument
    • IIS-DirectoryBrowsing
    • IIS-HttpErrors
    • IIS-HttpRedirect

응용 프로그램 개발 업데이트

응용 프로그램 개발 업데이트 그룹은 ASP.NET 응용 프로그램이나 클래식 ASP 응용 프로그램, 그리고 ISAPI 익스텐션과 필터 같은 웹 응용 프로그램과 동적 콘텐츠를 지원하기 위한 기능들로 구성되어 있습니다. 웹 서버에 배포될 응용 프로그램의 유형에 따라 이런 기능들 중 그 어떤 기능이라도 선택할 수 있습니다.

  • IIS-ApplicationDevelopment
    • IIS-ASPNET
    • IIS-NetFxExtensibility
    • IIS-ASP
    • IIS-CGI
    • IIS-ISAPIExtensions
    • IIS-ISAPIFilter
    • IIS-ServerSideIncludes

상태 진단 업데이트

상태 진단 업데이트 그룹은 로깅 활성화와 요청 진단 및 분석과 같은 기능들로 구성되어 있습니다.

  • IIS-HealthAndDiagnostics
    • IIS-HttpLogging
    • IIS-LoggingLibraries
    • IIS-RequestMonitor
    • IIS-HttpTracing
    • IIS-CustomLogging
    • IIS-ODBCLogging

보안 업데이트

보안 업데이트 그룹은 모든 인증, 권한 부여, 그리고 필터링 기능들로 구성되어 있습니다.

  • IIS-Security
    • IIS-BasicAuthentication
    • IIS-WindowsAuthentication
    • IIS-DigestAuthentication
    • IIS-ClientCertificateMappingAuthentication
    • IIS-IISCertificateMappingAuthentication
    • IIS-URLAuthorization
    • IIS-RequestFiltering
    • IIS-IPSecurity

익명 인증은 선택적으로 설치할 수 있는 기능이 아니며 언제나 웹 서버에 설치됩니다.

성능 업데이트

성능 업데이트는 정적 콘텐츠와 동적 콘텐츠를 위한 두 개의 압축 업데이트로 구성되어 있습니다.

  • IIS-Performance
    • IIS-HttpCompressionStatic
    • IIS-HttpCompressionDynamic

관리 도구

웹 관리 도구는 IIS 7 관리 도구들 및 IIS 6 호환성 도구들로 구성되어 있습니다.

  • IIS-WebServerManagementTools
    • IIS-ManagementConsole
    • IIS-ManagementScriptingTools
    • IIS-ManagementService
    • IIS-IIS6ManagementCompatibility
      • IIS-Metabase
      • IIS-WMICompatibility
      • IIS-LegacyScripts
      • IIS-LegacySnapIn

노트: 만약 ABO나 ADSI APIs를 사용하는 스크립트 또는 응용 프로그램을 사용하고 있다면, IIS 7 관리 도구들의 하위 버전 호환성을 지원해주기 위해서 IIS-IIS6ManagementCompatibility 그룹에서 필요한 기능들을 선택하여 설치해야 합니다. 적어도 IIS-Metabase 업데이트는 필수적으로 설치되야 하며, 만일 스크립트 내부적으로 IIS WMI 제공자를 사용하고 있다면 IIS-WMICompatibility 업데이트도 함께 설치돼야 합니다.

FTP 퍼블리싱 서비스 업데이트

이 업데이트는 FTP 서버와 FTP 관리 도구로 구성되어 있습니다.

  • IIS-FTPPublishingService
    • IIS-FTPServer
    • IIS-FTPManagement

Windows 프로세스 활성화 서비스 업데이트

Windows 프로세스 활성화 서비스(WAS)는 기본적인 수준의 프로세스 활성과 관리뿐만 아니라 HTTP 처리 기반 구조를 제공해주기 위한 필요한 모든 기반 구조를 포함하고 있습니다.

  • WAS-WindowsActivationService
    • WAS-ProcessModel
    • WAS-NetFxEnvironment
    • WAS-ConfigurationAPI

그러므로, IIS-WebServer 업데이트 하위에 존재하는 모든 기능 그룹은 WAS 기능에 종속되며, IIS-WebServer 업데이트 하위의 기능이 설치될 때는 반드시 WAS도 설치되어야 합니다. 서버 관리자나 Vista의 Windows 기능 마법사를 사용해서 IIS를 설치하는 경우에는 WAS의 기능들을 명시적으로 선택해주지 않아도 됩니다.

업데이트 종속성

Longhorn Server에 IIS 7을 설치하는 방법 기사에서 살펴보겠지만 서버 관리자의 역할 추가 마법사를 사용해서 IIS를 설치하는 경우, IIS는 WAS의 설치가 반드시 필요합니다.

또한, 서버 관리자는 이 사실을 통보해주고 필요한 종속 기능들을 자동으로 설치해줍니다. 그러나, 명령 프롬프트나 unattend.xml를 사용해서 패키지 업데이트를 설치하는 경우에는 이런 종속 기능들을 명시적으로 지정해줘야 합니다.

WAS에 대한 IIS의 종속성

IIS-WebServer 업데이트 그룹 하위의 모든 기능들은 다음과 같은 WAS 기능들에게 종속됩니다.

  • WAS-WindowsActivationService
    • WAS-ProcessModel
    • WAS-NetFxEnvironment
    • WAS-ConfigurationAPI

이 네 개의 WAS 업데이트 설치는 IIS-WebServer 업데이트 그룹의 기능들을 설치하기 위한 필수적인 전제조건입니다.

IIS 내부 종속성

일부 IIS의 기능들은 다른 IIS 기능에 종속됩니다. 서버 관리자 같은 사용자 인터페이스를 사용해서 IIS를 설치하는 경우에는 필요한 종속 기능들이 자동으로 설치됩니다. 그러나, 명령 프롬프트 도구나 unattend.xml을 통해서 패키지 업데이트 설치가 이뤄지는 경우에는 이런 종속 기능들을 명시적으로 지정해줘야 합니다. 다음의 표는 IIS 업데이트의 내부 종속성을 정리한 결과입니다.

업데이트 이 업데이트를 종속하는 업데이트
IIS-WebServer WAS-ProcessModel - IIS-WebServer 업데이트의 모든 하위 노드들이 이 업데이트에 종속됩니다.
IIS-ASP IIS-ISAPIExtensions
IIS-RequestFiltering
IIS-ASPNET IIS-DefaultDocument
IIS-NetFxExtensibility
WAS-NetFxEnvironment
IIS-ISAPIExtensions
IIS-ISAPIFilter
IIS-RequestFiltering
IIS-NetFxExtensibility WAS-NetFxEnvironment
IIS-RequestFiltering
IIS-ManagementService IIS-WebServer (최소한 하나의 자식 업데이트가 선택된 경우)
IIS-ManagementConsole
WAS-NetFxEnvironment
WAS-ConfigurationAPI
IIS-ManagementConsole WAS-ConfigurationAPI
IIS-ManagementScriptingTools WAS-ConfigurationAPI
IIS-LegacyScripts IIS-Metabase
IIS-WMICompatibility

IIS 부모 그룹 업데이트 종속성

모든 IIS 업데이트는 부모 그룹 업데이트에 대한 잠재적인 종속성을 갖고 있습니다. 예를 들어

  • IIS-StaticContent는 IIS-CommonHttpFeatures에 종속됩니다.
  • IIS-CommonHttpFeatures는 IIS-WebServer에 종속됩니다.
  • IIS-WebServer는 IIS-WebServerRole에 종속됩니다.

다시 한 번 강조하자면 서버 관리자 같은 사용자 인터페이스 설치 도구는 종속성을 자동적으로 관리해주지만, 명령 프롬프트 도구를 사용해서 업데이트를 설치하는 경우에는 반드시 직접 해당 업데이트의 부모 업데이트들과 추가적인 종속 기능들을 명시적으로 설치해야 합니다. 사용자 정의 설치 섹션에서 업데이트 종속성에 관해서 살펴보겠습니다.

IIS 7 기본 설치

각각의 IIS 업데이트들은 자신의 기본 설치 여부를 정의하고 있으며, 이는 사용자 인터페이스 설치 도구에 의해 미리 선택될 기능들을 결정하는데 사용됩니다. 사용자 인터페이스 설치 도구를 사용해서 설치를 진행할 때, 만약 계속해서 다음 버튼만 클릭한다면 아래 목록과 같은 업데이트들이 설치되는 IIS 7의 기본 설치가 이뤄집니다.

  • IIS-WebServer
    • IIS-CommonHttpFeatures
      • IIS-StaticContent
      • IIS-DefaultDocument
      • IIS-DirectoryBrowsing
      • IIS-HttpErrors
    • IIS-HealthAndDiagnostics
      • IIS-HTTPLogging
      • IIS-RequestMonitor
    • IIS-Performance
      • IIS-HttpCompressionStatic
    • IIS-WebServerManagementTools
      • IIS-ManagementConsole
  • WAS-WindowsActivationService
    • WAS-ProcessModel
    • WAS-ConfigurationAPI

이런 IIS 7 기본 설치는 로컬 관리와 익명 인증을 포함한 기본 정적 콘텐츠 서버만을 제공합니다. 그리고, 설치된 각각의 IIS 업데이트에 대한 해당 모듈에 대한 기본적인 구성 설정이 ApplicationHost.config 파일에 추가됩니다.

IIS 7 업그레이드

Windows Vista와 Windows Server 코드명 Longhorn 에디션에 대한 구버전 IIS의 IIS 7으로의 업그레이드는 다음과 같이 지원됩니다.

  • Windows Server 코드명 Longhorn으로 업그레이드 가능한 IIS 및 운영체제 버전:
    • Windows Server 2003의 IIS 6 (Vista Beta 2에서는 지원되지 않습니다.)
  • Windows Vista로 업그레이드 가능한 IIS 및 운영체제 버전:
    • Win XP의 IIS 5.1 (Vista Beta 2에서 지원됩니다.)

머신 변경과 함께 이뤄지는 구버전 IIS의 IIS 7으로의 마이그레이션은 (예. 새로운 머신으로 IIS 웹 서버를 이전) Windows Vista나 Windows Server 마이그레이션에서는 지원되지 않습니다. IIS 팀에서는 기존의 웹 사이트를 Windows Vista나 Server의 IIS 7으로 이전하도록 지원해주는 IIS 7 마이그레이션 도구를 제공할 계획입니다.

업그레이드의 단계

Windows Vista와 Windows Longhorn 운영체제 업그레이드는 감지 및 정보 수집, 설치, 그리고 설정 적용의 독립된 세 가지 단계를 통해 이루어집니다. 이 단계들은 운영체제의 기능과 설정에만 영향을 미칠뿐, 업그레이드 작업이 진행되는 동안 어떠한 파일 시스템 콘텐츠도 생성되거나 Windows에 의해 소유되지 않은 채 변경 없이 그대로 남아있게 되며, 결과적으로 기존 운영체제에서 제공되던 모든 웹 콘텐츠가 업그레이드 후에도 그대로 유지됩니다.

감지 및 정보 수집

Windows Vista나 Windows Server 코드명 Longhorn으로의 운영체제 업그레이드가 진행되면, 본격적인 업그레이드 작업이 시작되기 전에 IIS 감지를 위한 구성 요소가 기존 운영체제에서 실행됩니다. 만약, 기존 Windows 운영체제로부터 IIS가 발견되면 메타베이스와 IIS의 모든 상태 정보가 수집되고 저장됩니다.

설치

그 다음으로, 설치 단계는 Windows Vista나 Server 운영체제 그 자체의 설치와 기존 운영체제로부터 감지된 경우에만 실행되는 IIS와 같은 선택적 기능들의 설치로 이루어집니다. 어떤 IIS 업데이트들이 설치될지 것인지는 기존의 운영체제로부터 수집된 IIS의 상태 정보에 기반합니다.

설정 적용

마지막으로, 운영체제 설치와 IIS 같은 선택적 기능의 설치가 끝나면 기존 운영체제로부터 수집되었던 상태 정보들이 다시 적용됩니다. 이 단계에서 기존 IIS(5 또는 6)의 메타베이스 설정들이 변환되어 IIS 7의 새로운 구성 설정 저장소인 ApplicationHost.config 파일에 업데이트됩니다.

업그레이드시 IIS 7 구성 요소 설치

IIS 업그레이드는 감지 및 정보 수집 단계에서 핵심적인 IIS 서비스와 파일의 존재 여부를 점검하고 다음 표에 나타난 것과 같은 IIS 7의 업데이트를 설치합니다.

다운-레벨 감지 로직 설치되는 IIS 7 의 업데이트
W3SVC 서비스 설치 여부 IIS-ASP
IIS-BasicAuthentication
IIS-CGI
IIS-ClientCertificateMappingAuthentication
IIS-CustomLogging
IIS-DefaultDocument
IIS-DigestAuthentication
IIS-DirectoryBrowsing
IIS-HttpCompressionDynamic
IIS-HttpCompressionStatic
IIS-HttpErrors
IIS-HTTPLogging
IIS-HttpRedirect
IIS-HttpTracing
IIS-IISCertificateMappingAuthentication
IIS-IPSecurity
IIS-ISAPIExtensions
IIS-ISAPIFilter
IIS-LegacyScripts
IIS-LoggingLibraries
IIS-ManagementScriptingTools
IIS-ManagementService
IIS-ODBCLogging
IIS-RequestFiltering
IIS-RequestMonitor
IIS-ServerSideIncludes
IIS-StaticContent
IIS-URLAuthorization
IIS-WindowsAuthentication
IIS-WMICompatibility
WAS-ConfigurationAPI
WAS-NetFxEnvironment
WAS-ProcessModel
MSFTPSVC 서비스 설치 여부 IIS-FTPServer
INETMGR.EXE 파일 존재 IIS-FTPManagement
IIS-LegacySnapIn
IIS-ManagementConsole
IISAdmin 서비스 설치 여부 IIS-Metabase

IIS의 구버전에서는 극히 제한적인 구성 요소 세분성만 지원했었기 때문에, 업그레이드를 통한 업데이트의 설치는 거의 대부분의 업데이트가 설치되므로 완전히 새로운 IIS 7 설치 시나리오에서 볼 수 있는 수준 만큼의 세분성을 지원하지는 않습니다. 일단 업그레이드가 마무리된 뒤에, IIS의 기능들에 대한 응용 프로그램 종속성을 다시 한 번 분석해서 불필요한 IIS 업데이트들을 제거하는 것을 권장합니다.

IIS 7 설치 방법

IIS 7을 설치하는 방법에는 크게 Windows 선택적 기능 사용자 인터페이스를 통한 설치, 명령 프롬프트를 통한 설치, 무인 설치, 그리고 업그레이드 이렇게 네 가지 방법이 존재합니다. "How To" 기사에서 업그레이드 외의 나머지 모든 시나리오에 대한 정보를 제공할 것입니다.

다음에서 볼 수 있는 것처럼, Windows Vista와 Windows Server 코드명 Longhorn에서 IIS 7을 설치하기 위해 사용되는 Windows 사용자 인터페이스는 다릅니다.

  • Windows Server 코드명 Longhorn에서는 서버 관리자 도구를 사용합니다.
  • Windows Vista(클라이언트)에서는 Windows 기능 추가/제거 마법사를 사용합니다.

명령 프롬프트를 통한 설치, 무인 설치, 그리고 업그레이드 시나리오는 Vista와 Longhorn 에디션 양쪽에서 모두 사용 가능합니다.

서버 관리 도구

서버 관리자 도구는 Windows Sever 코드명 Longhorn의 설치 사용자 인터페이스를 제공하고 Windows Server 2003의 사용자 서버 관리를 대체합니다. 또한, 각각의 설치된 역할들의 설치 상태, 현재 상태, 그리고 관리 및 작업을 위한 서버 역할 관리 대시보드를 제공합니다.

Longhorn Server에 IIS 7을 설치하는 방법 기사에서는 서버 관리자 도구로 Windows Server 코드명 Longhorn에서 IIS를 설치하는 과정을 단계별로 자세하게 살펴봅니다.


그림 1: 서버 관리자

Windows 기능 추가/제거 마법사

Windows Vista 운영체제의 선택적 기능들은 Windows 기능 추가/제거 마법사에 의해 설치되며 그 기능은 Windows XP의 Windows 구성 요소 추가/제거 마법사와 유사합니다. Windows 기능 추가/제거 마법사를 사용해서 서버 관리자 도구에서 수행하는 작업과 동일한 작업을 수행할 수 있습니다.

Windows Vista Beta 2에 IIS 7을 설치하는 방법 기사에서는 Windows Vista에서 IIS를 설치하는 과정을 단계별로 자세하게 살펴봅니다.


그림 2: Windows 기능 추가/제거 마법사

명령 프롬프트를 통한 IIS 설치

pkgmgr.exe는 Windows Vista 및 Windows Server 코드명 Longhorn에서 새롭게 소개된 명령 프롬프트 도구입니다. Pkgmgr은 Windows의 선택적 기능들을 설치하거나 제거하기 위해서 사용되며 기존의 sysocmgr.exe 도구를 대체합니다. 세 번째 설치 실습에서 어떻게 IIS 업데이트들의 정보를 pkgmgr 명령으로 전달하는지 살펴볼 것입니다. 명령 프롬프트를 통한 IIS 7 설치 방법 기사에서는 Windows Vista나 Windows Server 코드명 Longhorn에서 pkgmgr 도구를 사용해서 IIS를 설치하는 과정을 각각의 단계별로 자세하게 살펴봅니다.

명령 프롬프트 무인 설치

Pkgmgr.exe은 unattend.xml 파일을 통해서도 정보를 입력받을 수 있습니다. 이 파일을 설치나 제거할 업데이트들의 목록을 지정하기 위해 사용할 수 있습니다. IIS 7 무인 설치 방법 기사에서는 Windows Vista나 Windows Server 코드명 Longhorn에서 unattend.xml 파일과 pkgmgr 도구를 사용해서 IIS를 설치하는 과정을 각각의 단계별로 자세하게 살펴봅니다.

사용자 정의 설치

지금까지 살펴본 네 가지 미리보기는 IIS의 모든 기능들을 설치하는 단계적인 방법들을 소개하고 있습니다. 만약, http://www.iis.net에 소개된 것 같은 IIS 7의 다양한 기능들을 살펴보기 위해서라면 모르겠지만, 실제 개발이나 배포 시나리오에서 IIS의 모든 기능을 설치하는 것은 권장되지 않습니다.

개발 환경이나 배포 환경을 위한 IIS 7의 설치를 계획할 때, 가급적 응용 프로그램에서 필요로 하는 기능들만 설치하기 위해서 노력해야 합니다. 이처럼 최소화된 IIS 구성 요소 설치는 다음과 같은 몇 가지 이점을 제공합니다.

  • 메모리에 로드되는 파이프라인 모듈의 갯수가 감소하여 성능이 향상됩니다.
  • 관리가 필요한 IIS 구성 요소의 갯수가 감소하여 보안이 향상됩니다.
  • 잠재적으로 공격받을 가능성이 있는 모듈의 갯수가 감소하여 보안이 향상됩니다.
  • IIS 모듈에 대한 응용 프로그램 의존성에 대한 이해가 증진됩니다.

사용자 정의 설치 계획시 고려사항

IIS 6 관리 호환성, 웹 관리, FTP 서버와 웹 서버라는 세 가지 영역에 대해 요구되는 기능들을 검토하는 것으로부터 IIS 배포 계획 수립을 시작할 수 있습니다. 각각의 영역들에 대해서는 이어지는 다음 섹션에서 살펴보겠습니다.

IIS 6 관리 호환성

구버전의 IIS에서는 APIs와 WMI 제공자를 사용해서 메타베이스 설정을 읽거나 기록했습니다. 이 APIs들은 IIS 7의 기본 설치 기능이 아니며 반드시 명시적으로 선택돼야만 설치됩니다.

만약, ABO나 ADSI, 또는 IIS 6 WMI 제공자 같은 IIS APIs에 의존하는 스크립트나 응용 프로그램을 사용하고 있다면 아래와 같은 IIS 패키지 업데이트도 같이 설치해야 합니다.

  • IIS-Metabase
  • IIS-WMICompatibility

그리고, 많은 IIS 6 관리 스크립트들이 다음의 업데이트를 통해 설치됩니다.

  • IIS-LegacyScripts

그렇지만, IIS-LegacySnapIn 업데이트를 통해서 설치 가능한 IIS 6.0 관리 콘솔로는 IIS 7 웹 서버를 관리할 수 없다는 점에 유의하시기 바랍니다. IIS 6.0 관리 콘솔은 Windows Server 2003에서 호스팅되는 원격지 IIS 6 웹 서버를 관리하기 위한 기능들을 제공해줍니다.

웹 관리

IIS 7에서는 웹 서버를 어떤 방식으로 관리할 것인지에 대해 몇 가지 방법 중에서 선택을 할 수가 있습니다. 가령, 원격 관리만 지원하거나 아니면 로컬 관리만 지원할 수도 있고, 또는 양쪽 모두를 지원할 수도 있습니다. 로컬 관리 콘솔은 IIS-ManagementConsole IIS 패키지 업데이트를 통해서 설치됩니다. 그리고, 원격 관리는 IIS-ManagementService 업데이트를 설치해야만 지원됩니다. 원격 관리 서비스는 서버에 설치된 관리 콘솔을 사용해서 다른 머신에 설치된 IIS 7 웹 서버에 접속해서 관리할 수 있도록 해줍니다.

FTP 서버

FTP 서버에 대한 고려사항은 구버전의 IIS와 크게 다르지 않습니다. 로컬 관리를 제외한 FTP 서비스만 설치하려면 IIS-FTPServer 업데이트를 설치합니다. FTP 서버의 관리를 위해 로컬 관리 콘솔을 설치하려면 IIS-FTPManagement 업데이트를 설치해야 합니다.

웹 서버

대단히 흥미로운 점은 IIS 7 웹 서버의 기능이 뛰어난 수준의 설치 세밀성을 갖고 있다는 것입니다. IIS 패키지 업데이트들에 대한 지금까지의 논의를 떠올려 보면, 웹 서버의 전체 기능 영역을 크게 다섯 종류의 기능 그룹으로 나눌 수 있습니다.

  • IIS-CommonHttpFeatures – HTTP 정적 콘텐츠와 오류 메시지에 대한 기본적인 지원을 제공합니다.
  • IIS-ApplicationDevelopment – IIS 웹 서버의 응용 프로그램 확장에 대한 지원을 제공합니다.
  • IIS-HealthAndDiagnostics – 로깅과 런타임 상태, 그리고 요청 추적에 대한 지원을 제공합니다.
  • IIS-Security – 익명 인증을 제외한 추가적인 인증과 권한 부여 장치에 대한 지원을 제공합니다.
  • IIS-Performance – 정적 그리고 동적 콘텐츠 압축을 지원합니다.

각각의 그룹에 포함된 IIS 7의 기능들에 대해서는 이미 앞의 IIS 패키지 업데이트 섹션에서 논의되었습니다. 서버 응용 프로그램이 필요로 하는 기능들을 다시 한 번 살펴보고 실제로 필요한 웹 서버 기능들만 선택해서 설치해야 합니다.

사용자 정의 설치 예제

예제 를 위해서 다음과 같은 전제 조건을 지닌 가상의 웹 서버를 가정해보겠습니다.

  1. 정적 콘텐츠 기능을 지원하지만 디렉터리 나열은 허용하지 않습니다.
  2. 로깅과 런타임 상태 진단을 지원합니다.
  3. ASP.NET을 지원합니다.
  4. 원격 관리를 지원합니다.
  5. Windows 인증을 지원합니다.
  6. 정적, 동적 콘텐츠 압축을 지원합니다.

그리고, 또 하나 추가할 전제 조건은 스크립트를 사용해서 여러 서버에 배포가 가능해야 한다는 점입니다.

이제 이 필요한 기능들의 목록을 사용해서 IIS 패키지 업데이트 섹션의 업데이트 설명을 기초로 필요한 IIS 7 패키지 업데이트들을 선택할 수 있습니다.

단계 1: 필요한 업데이트 선정

전제 조건 1을 위해서 다음과 같은 업데이트들이 필요합니다.

  • IIS-StaticContent
  • IIS-DefaultDocument
  • IIS-HttpErrors
  • IIS-HttpRedirect

그리고, IIS-DirectoryBrowsing 업데이트는 설치하면 안됩니다. (앞에서 설명했던 것처럼 이 업데이트는 기본 설치 기능입니다.)

전제 조건 2을 위해서 다음과 같은 업데이트들이 필요합니다.

  • IIS-HTTPLogging
  • IIS-RequestMonitor

전제 조건 3을 위해서 IIS-ASPNET 업데이트가 필요합니다.

전제 조건 4를 위해서 IIS-ManagementService 업데이트가 필요합니다.

전제 조건 5를 위해서 IIS-WindowsAuthentication 업데이트가 필요합니다.

그리고 마지막으로, 전제 조건 6을 위해서 IIS-HttpCompressionStatic와 IIS-HttpCompressionDynamic 업데이트가 필요합니다.

이제 사용자 인터페이스 도구를 사용해서 설치할 때, 선택하지 말아야 할 필요하지 않은 구성 요소와 선택해야만 하는 구성 요소들에 대한 정보를 파악하게 되었습니다. 그러나, 전제 조건에 정의된 바에 따라 동일한 웹 서버 구성 설정을 다수의 서버에 배포해야 하므로, 필요한 구성 설정 패키지를 제공해주기 위한 스크립트를 작성해야 합니다. 이 스크립트에는 IIS 패키지 업데이트 섹션에서 논의했던 것처럼 설치하고자 하는 기능 업데이트들의 부모 업데이트와 업데이트 종속성이 명확하게 정의되어 있어야 합니다. 한 가지 항목씩 종속성에 대해서 알아보도록 하겠습니다.

단계 2: 부모 업데이트와 종속성 결정

전제 조건 1: 다음과 같은 부모 업데이트들이 필요합니다.

  • IIS-WebServerRole
  • IIS-WebServer
  • IIS-CommonHttpFeatures

주의 1: IIS-WebServer 업데이트와 IIS-WebServerRole 업데이트는 웹 서버의 모든 말단 기능 업데이트들의 공통적인 부모 업데이트입니다.

전제 조건 1을 만족하기 위해서, WAS에 대한 IIS의 종속성 섹션에서 살펴본 것처럼 다음과 같은 WAS 업데이트들도 필요합니다.

  • WAS-WindowsActivationService
  • WAS-ProcessModel

주의 2: IIS-WebServer 하위에 존재하는 모든 업데이트들은 WAS 업데이트에 대한 종속성을 갖고 있습니다.

전제 조건 2를 위한 부모 업데이트는 IIS-HealthAndDiagnostics 업데이트입니다. 주의 1과 2는 여기서도 적용됩니다.

전제 조건 3을 위한 부모 업데이트는 IIS-ApplicationDevelopment 업데이트입니다. 주의 1과 2는 여기서도 적용됩니다. IIS 내부 종속성 섹션에서 다음 업데이트들에 대한 IIS-ASPNET 업데이트의 종속성을 살펴봤습니다.

  • IIS-DefaultDocument
  • IIS-NetFxExtensibility
  • WAS-NetFxEnvironment
  • IIS-ISAPIExtensions
  • IIS-ISAPIFilter
  • IIS-RequestFiltering

전제 조건 4를 위한 부모 업데이트는 IIS-WebServerManagementTools 업데이트입니다. 주의 1과 2는 여기서도 적용됩니다. IIS 내부 종속성 섹션에서 다음 업데이트들에 대한 IIS-ManagementService 업데이트의 종속성을 살펴봤습니다.

  • IIS-ManagementConsole
  • WAS-NetFxEnvironment
  • WAS-ConfigurationAPI

전제 조건 5를 위한 부모 업데이트는 IIS-Security 업데이트입니다. 주의 1과 2는 여기서도 적용됩니다.

전제 조건 6을 위한 부모 업데이트는 IIS-Performance 업데이트입니다. 주의 1과 2는 여기서도 적용됩니다.

단계 3: 부모 업데이트 기준으로 업데이트 분류

이제 필요한 업데이트들과 그에 따른 부모 업데이트들 및 종속성에 대한 목록을 얻게 되었으며 다음 목록과 같이 필요에 따라 부모 업데이트들을 기준으로 재정리했습니다. 그리고, 설치하지 않으려고 하는 업데이트도 '*' 표시를 첨부해서 목록에 포함했습니다.

  • IIS-WebServerRole
  • IIS-WebServer
  • IIS-CommonHttpFeatures
  • IIS-StaticContent
  • IIS-DefaultDocument
  • IIS-DirectoryBrowsing *
  • IIS-HttpErrors
  • IIS-HttpRedirect
  • IIS-ApplicationDevelopment
  • IIS-ASPNET
  • IIS-NetFxExtensibility
  • IIS-ISAPIExtensions
  • IIS-ISAPIFilter
  • IIS-HealthAndDiagnostics
  • IIS-HTTPLogging
  • IIS-RequestMonitor
  • IIS-Security
  • IIS-WindowsAuthentication
  • IIS-RequestFiltering
  • IIS-Performance
  • IIS-HttpCompressionStatic
  • IIS-HttpCompressionDynamic
  • IIS-WebServerManagementTools
  • IIS-ManagementConsole
  • IIS-ManagementService
  • WAS-WindowsActivationService
  • WAS-ProcessModel
  • WAS-NetFxEnvironment
  • WAS-ConfigurationAPI

단계 4: 업데이트의 전체 목록을 Unattend.xml 파일에 추가

마지막 단계는 IIS 7 무인 설치 방법 기사의 내용과 비슷한데, 다만 IIS 7의 모든 기능을 설치하는 것이 아니라 학습에 필요한 기능들만 설치하고, 보통 기본으로 설치되는 업데이트를 설치하지 않기 위해서 해당 태그의 속성을 state="false"로 설정합니다. unattend.xml 파일의 최종 결과는 아래와 같습니다. IIS 7 무인 설치 방법 기사의 pkgmgr.exe를 사용한 upattend.xml 파일 배포와 실행에 관한 내용을 다시 한 번 검토해보시기 바랍니다.

<?xml version="1.0" ?>
<unattend xmlns="urn:schemas-microsoft-com:unattend" 
          xmlns:wcm="http://schemas.microsoft.com/WMIConfig/2002/State">
<servicing> 
  <!-- Install a selectable update in a package that is in the Windows Foundation namespace --> 
  <package action="configure"> 
    <assemblyIdentity 
        name="Microsoft-Windows-Foundation-Package"
        version="6.0.5308.6"
        language="neutral"
        processorArchitecture="x86"
        publicKeyToken="31bf3856ad364e35"
        versionScope="nonSxS"
    />
    <selection name="IIS-WebServerRole" state="true"/> 
    <selection name="IIS-WebServer" state="true"/> 
    <selection name="IIS-CommonHttpFeatures" state="true"/> 
    <selection name="IIS-StaticContent" state="true"/> 
    <selection name="IIS-DefaultDocument" state="true"/> 
    <selection name="IIS-DirectoryBrowsing" state="false"/> 
    <selection name="IIS-HttpErrors" state="true"/> 
    <selection name="IIS-HttpRedirect" state="true"/> 
    <selection name="IIS-ApplicationDevelopment" state="true"/> 
    <selection name="IIS-ASPNET" state="true"/> 
    <selection name="IIS-NetFxExtensibility" state="true"/> 
    <selection name="IIS-ISAPIExtensions" state="true"/> 
    <selection name="IIS-ISAPIFilter" state="true"/> 
    <selection name="IIS-HealthAndDiagnostics" state="true"/> 
    <selection name="IIS-HttpLogging" state="true"/> 
    <selection name="IIS-LoggingLibraries" state="true"/> 
    <selection name="IIS-RequestMonitor" state="true"/> 
    <selection name="IIS-Security" state="true"/> 
    <selection name="IIS-WindowsAuthentication" state="true"/> 
    <selection name="IIS-RequestFiltering" state="true"/> 
    <selection name="IIS-IPSecurity" state="true"/> 
    <selection name="IIS-Performance" state="true"/> 
    <selection name="IIS-HttpCompressionStatic" state="true"/> 
    <selection name="IIS-HttpCompressionDynamic" state="true"/> 
    <selection name="IIS-WebServerManagementTools" state="true"/> 
    <selection name="IIS-ManagementConsole" state="true"/> 
    <selection name="IIS-ManagementService" state="true"/> 
    <selection name="WAS-WindowsActivationService" state="true"/> 
    <selection name="WAS-ProcessModel" state="true"/> 
    <selection name="WAS-NetFxEnvironment" state="true"/> 
    <selection name="WAS-ConfigurationAPI" state="true"/>
  </package> 
</servicing> 
</unattend>

요약

Windows Vista/Longhorn 설치의 새로운 기능은 다음과 같습니다.

  • 이제 Longhorn의 설치는 매니페스트에 의한 선언적 구성 요소들을 기반으로 합니다.
  • 이런 구성 요소들이 조합되어 각각의 운영체제 버전들이 구성됩니다.
  • 선택적 기능들을 설치하기 위해 제공되던 Sysocmgr.exe는 새로운 Pkgmgr.exe로 대체되었습니다.
  • 동일한 버전의 IIS 7이 Windows Vista와 Windows Server 코드명 Longhorn 에디션 모두에 설치됩니다.
  • 설치를 통해서 보안에 충실한 서버를 구성할 수 있습니다. - IIS 7에서는 필요하지 않은 구성 요소가 비활성화 될 뿐만 아니라, 아예 설치조차 되지 않습니다.

IIS 7을 설치하기 위해 제공되는 다양한 방법들

  • 사용자 인터페이스 기반의 설치:
    • Longhorn Server - 역할 관리 도구
    • Vista - Windows 기능 마법사를 통한 추가/제거
  • 무인 설치 - IIS 7 매니페스트를 참조하는 unattend.xml 파일 사용
  • 업그레이드 - IIS 7을 위한 적절한 운영체제 업그레이드

구성 요소에 기반한 IIS 7 설치

  • IIS 7은 Windows 구성 요소를 사용해서 필요로 하는 모듈들만 설치합니다.
  • 설치된 모듈들은 보안을 감안한 기본 설정을 사용하며 잠겨 있습니다.
  • 간결한 서비스의 운영이 가능하며, 공격 가능한 노출 영역이 감소됩니다.

관련 링크

더 자세한 정보는 다음의 기사들을 참고하십시오.