수동으로 웹 패키지 설치

작성자: Jason Lee

이 항목에서는 웹 배포 패키지를 IIS(인터넷 정보 서비스)로 수동으로 가져오는 방법을 설명합니다.

웹 애플리케이션 프로젝트 빌드 및 패키징 항목에서는 IIS 웹 배포 도구(웹 배포)를 Microsoft Build Engine(MSBuild) 및 WPP(웹 게시 파이프라인)와 함께 사용하여 웹 애플리케이션 프로젝트를 단일 zip 파일로 패키징하는 방법을 설명했습니다. 일반적으로 웹 배포 패키지(또는 단순히 배포 패키지)라고 하는 이 파일에는 웹 서버에서 웹 애플리케이션을 다시 만들기 위해 IIS에 필요한 모든 콘텐츠 및 구성 정보가 포함되어 있습니다.

웹 배포 패키지를 만든 후에는 다양한 방법으로 IIS 서버에 게시할 수 있습니다. 많은 시나리오에서 MSBuild, WPP 및 웹 배포 간의 통합 지점을 활용하여 자동화 또는 단일 단계 빌드 및 배포 프로세스의 일부로 원격으로 웹 패키지를 만들고 설치하려고 합니다. 이 프로세스는 웹 패키지 배포에 설명되어 있습니다. 그러나 이것이 항상 가능한 것은 아닙니다. 웹 애플리케이션을 인터넷 연결 프로덕션 환경에 배포하려는 경우를 가정해 보겠습니다. 보안상의 이유로 이러한 프로덕션 환경은 빌드 서버와 별개인 서브넷의 방화벽 뒤에 있는 경계 네트워크(DMZ, 비무장 영역 및 스크린된 서브넷이라고도 함)에 있을 가능성이 가장 큽니다. 많은 경우 프로덕션 환경은 별도의 도메인 또는 물리적으로 격리된 네트워크에 있습니다.

이러한 시나리오에서 유일한 옵션은 웹 패키지를 대상 서버로 이식하고 IIS로 수동으로 가져오는 것입니다. 이 방법은 자동화된 배포를 배제하지만 여전히 웹 애플리케이션을 게시하는 매우 효과적인 기술입니다. 단일 zip 파일을 웹 서버에 복사하고 마법사를 사용하여 가져오기 프로세스를 안내합니다.

이 항목은 Fabrikam, Inc.라는 가상 회사의 엔터프라이즈 배포 요구 사항을 기반으로 하는 일련의 자습서의 일부를 구성합니다. 이 자습서 시리즈에서는 샘플 솔루션인 Contact Manager 솔루션을 사용하여 ASP.NET MVC 3 애플리케이션, WCF(Windows Communication Foundation) 서비스 및 데이터베이스 프로젝트를 포함하여 현실적인 수준의 복잡성이 있는 웹 애플리케이션을 나타냅니다.

작업 개요

웹 배포 패키지를 IIS로 가져오려면 이러한 상위 수준 작업을 완료해야 합니다.

  • MSBuild 명령줄, 팀 빌드 또는 Visual Studio 2010을 사용하여 웹 배포 패키지를 만듭니다.
  • 웹 패키지를 대상 웹 서버에 복사합니다.
  • IIS 관리자에서 애플리케이션 패키지 가져오기 마법사를 사용하여 웹 패키지를 설치하고 연결 문자열 및 서비스 엔드포인트와 같은 변수에 대한 값을 제공합니다.

이 항목에서는 이러한 절차를 수행하는 방법을 보여 줍니다. 이 항목의 작업 및 연습에서는 웹 패키지, 웹 배포 및 WPP의 개념에 이미 익숙하다고 가정합니다. 자세한 내용은 웹 애플리케이션 프로젝트 빌드 및 패키징을 참조하세요.

참고

이 항목은 필요한 구성 요소를 설치하고 패키지 가져오기를 위해 IIS 웹 사이트를 준비하는 방법을 설명하는 웹 배포 게시용 웹 서버 구성(오프라인 배포)과 함께 사용하는 것이 가장 좋습니다.

웹 배포 패키지 만들기

첫 번째 작업은 배포하려는 웹 애플리케이션 프로젝트에 대한 웹 배포 패키지를 만드는 것입니다. 다양한 방법으로 웹 패키지를 만들 수 있습니다.

방법 1: Visual Studio를 사용하여 빌드 프로세스의 일부로 패키지 만들기

프로젝트 속성 페이지의 패키지 /게시 웹 탭을 통해 빌드할 때마다 웹 배포 패키지를 만들도록 웹 애플리케이션 프로젝트를 구성할 수 있습니다. 이 프로세스는 웹 애플리케이션 프로젝트 빌드 및 패키징에 설명되어 있습니다.

접근 방식 2: MSBuild를 사용하여 빌드 프로세스의 일부로 패키지 만들기

사용자 지정 MSBuild 프로젝트 파일 또는 명령줄에서 직접 MSBuild를 사용하여 웹 애플리케이션 프로젝트를 빌드하는 경우 명령에 DeployOnBuild=trueDeployTarget=Package 속성을 포함하여 빌드 프로세스의 일부로 웹 배포 패키지를 만들 수 있습니다. 이 프로세스는 빌드 프로세스 이해에 설명되어 있습니다.

접근 방식 3: Visual Studio에서 주문형 패키지 만들기

Visual Studio 2010에서 언제든지 웹 애플리케이션 프로젝트에 대한 웹 배포 패키지를 만들 수 있습니다. 이렇게 하려면 솔루션 탐색기 창에서 웹 애플리케이션 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 배포 패키지 빌드를 클릭합니다.

웹 애플리케이션 프로젝트에 대한 웹 배포 패키지를 만들려면 솔루션 탐색기 창에서 웹 애플리케이션 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 배포 패키지 빌드를 클릭합니다.

접근 방식 4: 명령줄에서 요청 시 패키지 만들기

MSBuild를 사용하여 웹 애플리케이션 프로젝트에서 패키지 대상을 호출하여 명령줄에서 웹 배포 패키지를 만들 수 있습니다. 명령은 다음과 유사합니다.

MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package

어떤 방법을 사용하든 최종 결과는 동일합니다. WPP는 웹 애플리케이션 프로젝트의 출력 폴더에 다양한 지원 리소스와 함께 웹 배포 패키지를 zip 파일로 만듭니다.

W P P는 웹 애플리케이션 프로젝트의 출력 폴더에 다양한 지원 리소스와 함께 웹 배포 패키지를 zip 파일로 만듭니다.

웹 패키지를 수동으로 가져올 계획인 경우 zip 파일만 필요합니다. 이 파일을 대상 웹 서버에 복사하면 가져오기 프로세스를 시작할 수 있습니다.

IIS로 웹 패키지 가져오기

다음 절차를 사용하여 로컬 파일 시스템에서 IIS 웹 사이트로 웹 배포 패키지를 가져올 수 있습니다. 이 절차를 수행하기 전에 다음이 있는지 확인합니다.

  • 웹 배포 패키지를 웹 서버에 복사했습니다.
  • 애플리케이션을 호스트하도록 IIS 웹 서버를 구성했습니다.

웹 배포 패키지를 지원하도록 IIS 웹 서버를 구성하는 방법에 대한 자세한 내용은 웹 배포 게시용 웹 서버 구성(오프라인 배포)을 참조하세요.

IIS 관리자를 사용하여 웹 배포 패키지를 가져오려면

  1. IIS 관리자의 연결 창에서 IIS 웹 사이트를 마우스 오른쪽 단추로 클릭하고 배포를 가리킨 다음 애플리케이션 가져오기를 클릭합니다.

    I S 관리자의 연결 창에서 IIS 웹 사이트를 마우스 오른쪽 단추로 클릭하고 배포를 가리킨 다음 애플리케이션 가져오기를 클릭합니다.

  2. 애플리케이션 패키지 가져오기 마법사의 패키지 선택 페이지에서 웹 배포 패키지의 위치를 찾은 다음 다음을 클릭합니다.

  3. 패키지의 콘텐츠 선택 페이지에서 필요하지 않은 콘텐츠를 지우고 다음을 클릭합니다.

    패키지의 콘텐츠 선택 페이지에서 필요하지 않은 콘텐츠를 지우고 다음을 클릭합니다.

    참고

    많은 경우 웹 배포 패키지와 함께 제공되는 모든 항목을 가져오지 않을 수 있습니다. 예를 들어 웹 배포에서 연결된 데이터베이스를 대체하도록 허용하지 않을 수 있습니다.
    권한 부여 항목은 대상 파일 시스템에 대한 권한을 설정하여 애플리케이션 풀 ID가 웹 사이트 콘텐츠를 저장하는 실제 폴더에 액세스할 수 있도록 합니다. 또한 익명 인증 사용자에게 애플리케이션이 MIME(다목적 인터넷 메일 확장) 형식 파일을 제공할 수 있도록 폴더에 대한 읽기 권한이 부여됩니다. 원하는 경우 이러한 항목을 제거하고 수동으로 권한을 구성할 수 있습니다.

  4. 애플리케이션 패키지 정보 입력 페이지에서 요청된 정보를 제공합니다.

    애플리케이션 패키지 정보 입력 페이지에서 요청된 정보를 제공합니다.

  5. 웹 패키지를 만들 때 WPP는 애플리케이션에 대한 구성 파일을 분석하고 연결 문자열 및 서비스 엔드포인트와 같은 변수를 검색합니다. 이 경우 다음과 같습니다.

    1. 애플리케이션 경로는 애플리케이션 을 설치하려는 IIS 경로입니다. 이 설정은 WPP에서 만드는 모든 배포 패키지에 공통적으로 적용됩니다.

    2. ContactService 서비스 엔드포인트 주소 는 애플리케이션이 배포된 WCF 서비스와 통신하는 데 사용해야 하는 주소입니다. 이 설정은 web.config 파일의 항목에 해당합니다.

    3. 첫 번째 연결 문자열 설정은 웹 배포에서 애플리케이션과 연결된 데이터베이스를 배포하는 데 사용해야 하는 연결 문자열입니다(이 경우 ASP.NET 멤버 자격 데이터베이스). 이 설정은 Visual Studio의 패키지/게시 SQL 탭에 있는 설정에 해당합니다.

    4. 두 번째 연결 문자열 설정은 애플리케이션이 실행 중일 때 데이터베이스와 통신하는 데 실제로 사용하는 연결 문자열입니다. 이는 web.config 파일의 연결 문자열 항목에 해당합니다.

      참고

      이러한 매개 변수의 원본 위치에 대한 자세한 내용은 웹 패키지 배포에 대한 매개 변수 구성을 참조하세요.

  6. 다음을 클릭합니다.

  7. 이 웹 사이트에 애플리케이션을 처음 배포한 것이 아닌 경우 설치하기 전에 모든 기존 콘텐츠를 삭제할지 여부를 지정하라는 메시지가 표시됩니다. 요구 사항에 적합한 옵션을 선택하고 다음을 클릭합니다.

    요구 사항에 적합한 옵션을 선택하고 다음을 클릭합니다.

  8. IIS에서 패키지 설치를 마쳤으면 마침을 클릭합니다.

    패키지 설치가 완료되면 마침을 클릭합니다.

이 시점에서 웹 애플리케이션을 IIS에 성공적으로 게시했습니다.

결론

이 항목에서는 IIS 관리자를 사용하여 웹 배포 패키지를 IIS 웹 사이트로 가져오는 방법을 설명했습니다. 이 웹 애플리케이션 게시 방법은 보안 또는 인프라 제약 조건으로 원격 배포가 불가능하거나 바람직하지 않은 경우에 적합합니다.

추가 정보

웹 패키지 수동 가져오기를 지원하도록 IIS 웹 서버를 구성하는 방법에 대한 지침은 웹 배포 게시용 웹 서버 구성(오프라인 배포)을 참조하세요. 웹 패키지 배포에 대한 일반적인 지침은 연습: 웹 배포 패키지를 사용하여 웹 애플리케이션 프로젝트 배포(4부 중 1부)를 참조하세요.