수동으로 웹 패키지 설치
작성자: 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=true 및 DeployTarget=Package 속성을 포함하여 빌드 프로세스의 일부로 웹 배포 패키지를 만들 수 있습니다. 이 프로세스는 빌드 프로세스 이해에 설명되어 있습니다.
접근 방식 3: Visual Studio에서 주문형 패키지 만들기
Visual Studio 2010에서 언제든지 웹 애플리케이션 프로젝트에 대한 웹 배포 패키지를 만들 수 있습니다. 이렇게 하려면 솔루션 탐색기 창에서 웹 애플리케이션 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 배포 패키지 빌드를 클릭합니다.
접근 방식 4: 명령줄에서 요청 시 패키지 만들기
MSBuild를 사용하여 웹 애플리케이션 프로젝트에서 패키지 대상을 호출하여 명령줄에서 웹 배포 패키지를 만들 수 있습니다. 명령은 다음과 유사합니다.
MSBuild.exe [Path to your project].[csproj/vbproj] /T:Package
어떤 방법을 사용하든 최종 결과는 동일합니다. WPP는 웹 애플리케이션 프로젝트의 출력 폴더에 다양한 지원 리소스와 함께 웹 배포 패키지를 zip 파일로 만듭니다.
웹 패키지를 수동으로 가져올 계획인 경우 zip 파일만 필요합니다. 이 파일을 대상 웹 서버에 복사하면 가져오기 프로세스를 시작할 수 있습니다.
IIS로 웹 패키지 가져오기
다음 절차를 사용하여 로컬 파일 시스템에서 IIS 웹 사이트로 웹 배포 패키지를 가져올 수 있습니다. 이 절차를 수행하기 전에 다음이 있는지 확인합니다.
- 웹 배포 패키지를 웹 서버에 복사했습니다.
- 애플리케이션을 호스트하도록 IIS 웹 서버를 구성했습니다.
웹 배포 패키지를 지원하도록 IIS 웹 서버를 구성하는 방법에 대한 자세한 내용은 웹 배포 게시용 웹 서버 구성(오프라인 배포)을 참조하세요.
IIS 관리자를 사용하여 웹 배포 패키지를 가져오려면
IIS 관리자의 연결 창에서 IIS 웹 사이트를 마우스 오른쪽 단추로 클릭하고 배포를 가리킨 다음 애플리케이션 가져오기를 클릭합니다.
애플리케이션 패키지 가져오기 마법사의 패키지 선택 페이지에서 웹 배포 패키지의 위치를 찾은 다음 다음을 클릭합니다.
패키지의 콘텐츠 선택 페이지에서 필요하지 않은 콘텐츠를 지우고 다음을 클릭합니다.
참고
많은 경우 웹 배포 패키지와 함께 제공되는 모든 항목을 가져오지 않을 수 있습니다. 예를 들어 웹 배포에서 연결된 데이터베이스를 대체하도록 허용하지 않을 수 있습니다.
권한 부여 항목은 대상 파일 시스템에 대한 권한을 설정하여 애플리케이션 풀 ID가 웹 사이트 콘텐츠를 저장하는 실제 폴더에 액세스할 수 있도록 합니다. 또한 익명 인증 사용자에게 애플리케이션이 MIME(다목적 인터넷 메일 확장) 형식 파일을 제공할 수 있도록 폴더에 대한 읽기 권한이 부여됩니다. 원하는 경우 이러한 항목을 제거하고 수동으로 권한을 구성할 수 있습니다.애플리케이션 패키지 정보 입력 페이지에서 요청된 정보를 제공합니다.
웹 패키지를 만들 때 WPP는 애플리케이션에 대한 구성 파일을 분석하고 연결 문자열 및 서비스 엔드포인트와 같은 변수를 검색합니다. 이 경우 다음과 같습니다.
애플리케이션 경로는 애플리케이션 을 설치하려는 IIS 경로입니다. 이 설정은 WPP에서 만드는 모든 배포 패키지에 공통적으로 적용됩니다.
ContactService 서비스 엔드포인트 주소 는 애플리케이션이 배포된 WCF 서비스와 통신하는 데 사용해야 하는 주소입니다. 이 설정은 web.config 파일의 항목에 해당합니다.
첫 번째 연결 문자열 설정은 웹 배포에서 애플리케이션과 연결된 데이터베이스를 배포하는 데 사용해야 하는 연결 문자열입니다(이 경우 ASP.NET 멤버 자격 데이터베이스). 이 설정은 Visual Studio의 패키지/게시 SQL 탭에 있는 설정에 해당합니다.
두 번째 연결 문자열 설정은 애플리케이션이 실행 중일 때 데이터베이스와 통신하는 데 실제로 사용하는 연결 문자열입니다. 이는 web.config 파일의 연결 문자열 항목에 해당합니다.
참고
이러한 매개 변수의 원본 위치에 대한 자세한 내용은 웹 패키지 배포에 대한 매개 변수 구성을 참조하세요.
다음을 클릭합니다.
이 웹 사이트에 애플리케이션을 처음 배포한 것이 아닌 경우 설치하기 전에 모든 기존 콘텐츠를 삭제할지 여부를 지정하라는 메시지가 표시됩니다. 요구 사항에 적합한 옵션을 선택하고 다음을 클릭합니다.
IIS에서 패키지 설치를 마쳤으면 마침을 클릭합니다.
이 시점에서 웹 애플리케이션을 IIS에 성공적으로 게시했습니다.
결론
이 항목에서는 IIS 관리자를 사용하여 웹 배포 패키지를 IIS 웹 사이트로 가져오는 방법을 설명했습니다. 이 웹 애플리케이션 게시 방법은 보안 또는 인프라 제약 조건으로 원격 배포가 불가능하거나 바람직하지 않은 경우에 적합합니다.
추가 정보
웹 패키지 수동 가져오기를 지원하도록 IIS 웹 서버를 구성하는 방법에 대한 지침은 웹 배포 게시용 웹 서버 구성(오프라인 배포)을 참조하세요. 웹 패키지 배포에 대한 일반적인 지침은 연습: 웹 배포 패키지를 사용하여 웹 애플리케이션 프로젝트 배포(4부 중 1부)를 참조하세요.