웹 배포 처리기 구성
믿음에 의해 A
이 가이드에서는 호스트된 서버에서 웹 배포 처리기를 구성하고 사용자가 웹 사이트에 애플리케이션을 배포할 수 있도록 테스트하는 단계의 기본 개요를 제공합니다. 이 설정은 이 문서의 정보를 사용하여 웹 배포 도구를 새 서버에 설치하고 권장 설정을 구성합니다.
필수 조건
이 가이드에는 다음 필수 구성 요소가 필요합니다.
- .NET Framework 2.0 SP1 이상
- 웹 배포 도구 1.0 또는 1.1
- WMSvc(웹 관리 서비스)가 설치된 IIS 7 이상
참고: 웹 배포 도구를 아직 설치하지 않은 경우 웹 배포 도구 설치를 참조 하세요.
웹 배포 처리기 이해
처리기는 Windows Server 2008의 IIS 7.0 및 Windows 2008 R2의 IIS 7.5와 함께 제공되는 WMSVC(웹 관리 서비스)와 통합됩니다.
먼저 사용자에 대한 계정(IIS 관리자 사용자 또는 Windows 계정)을 만들어야 합니다. IIS 관리자 사용자 계정을 만드는 방법에 대한 자세한 내용은 IIS에서 원격 관리영구 및 기능 위임 구성을 참조하세요.
둘째, 사용자는 WMSVC를 사용하여 자신의 웹 사이트에 연결할 수 있는 권한을 부여받아야 합니다. IIS 관리자의 IIS 관리자 권한 기능을 사용하여 사용자에게 웹 사이트에 원격으로 연결할 수 있는 권한을 부여할 수 있습니다.
셋째, 웹 배포 도구를 사용하여 배포를 수행할 수 있는 권한도 사용자에게 부여되어야 합니다. IIS 관리자의 관리 서비스 위임 기능을 사용하여 사용자가 웹 사이트 및 다른 사이트에 배포를 수행할 수 있도록 하는 위임 규칙을 만들 수 있습니다.
다음 다이어그램에서는 배포 요청이 처리기로 라우팅되고 처리기의 자체 규칙에 대해 권한이 부여되기 전에 사용자가 WMSVC에 먼저 연결되고 권한을 부여하는 방법을 보여 줍니다. 이 빠른 가이드는 사용자가 콘텐츠를 사용하여 IIS 애플리케이션을 배포하고, 파일 권한을 설정하고, 데이터베이스를 배포할 수 있도록 하는 데 필요한 규칙을 설정하는 데 도움이 됩니다.
1부 - WMSVC 및 IIS 관리자 권한 구성
- Windows Server 2008 서버에 IIS 및 웹 관리 서비스를 설치합니다.
- 원격 연결이 허용되도록 WMSVC를 구성합니다.
a. IIS 관리자를 엽니다.
b. 서버 노드를 선택합니다.
c. 서버의 기능 보기에서 관리 서비스 아이콘을 두 번 클릭합니다.
d. 원격 연결 사용 검사 상자가 선택되어 있는지 확인합니다. 검사 상자를 선택하고 회색으로 표시하지 않으면 작업 창을 사용하여 WMSvc 서비스를 중지합니다. 이렇게 하면 검사 상자를 선택할 수 있습니다.
e. 오른쪽 작업 창에서 시작을 클릭합니다. 원격 연결 사용 검사 상자가 선택되고 회색으로 표시됩니다. - WMSvc가 실행 중인 계정(예: 로컬 서비스)에게 고객의 디렉터리에 대한 모든 권한을 부여합니다.
- 사용자에 대한 웹 사이트를 만든 후 사용자가 자신의 웹 사이트에 액세스할 수 있도록 허용합니다.
a. IIS 관리자를 엽니다. b. 사용자가 원격으로 관리할 웹 사이트를 선택합니다.
c. 기능 보기에서 IIS 관리자 권한 아이콘을 두 번 클릭합니다. d. IIS 관리자 사용 권한 페이지의 작업 창에서 사용자 허용을 클릭합니다.
e. 사용자 허용 대화 상자에서 사용자 유형(Windows 또는 IIS 관리자)을 선택한 다음 선택을 클릭하여 사용자 계정을 선택합니다.
f. [확인]을 클릭하여 [사용자 허용] 대화 상자를 해제합니다.
IIS 관리자 사용자 계정에 대한 자세한 내용은 IIS 관리자 사용자 계정이 사이트 또는 애플리케이션에 커넥트 허용(IIS 7)을 참조하세요.
2부 - 웹 배포 사용자에 대한 위임 규칙 만들기
- 아직 수행하지 않은 경우 웹 배포 도구를 다운로드하여 웹 서버에 설치합니다.
- 사용자가 사용할 수 있도록 허용하려는 웹 배포 기능(공급자)에 대한 위임 규칙을 만듭니다. 사용자가 자신의 웹 사이트에 애플리케이션 및 콘텐츠를 배포할 수 있도록 허용하려면 다음을 수행합니다.
a. IIS 관리자를 엽니다.
b. 서버 노드를 선택합니다.
c. 서버의 기능 보기에서 관리 서비스 위임 아이콘을 두 번 클릭합니다.
d. 오른쪽 작업 창 에서 규칙 추가...
e. 콘텐츠 규칙 템플릿을 사용하여 애플리케이션 배포를 선택합니다. 이 템플릿은 모든 WMSVC 권한 있는 사용자가 웹 배포 contentPath 및 iisApp 공급자를 사용하여 자신의 사용자 범위에 애플리케이션을 배포할 수 있도록 하는 규칙을 만듭니다.
f. 확인을 클릭하여 템플릿을 엽니다.
g. 확인을 클릭하여 규칙을 만듭니다.
h. 규칙에 사용자 추가 대화 상자에서 별표(*)를 입력합니다. 이렇게 하면 각 사용자가 자신의 사용자 범위에 애플리케이션을 배포할 수 있습니다.
참고: 관리자 전용 동기화를 수행하려면 관리 서비스 위임 페이지로 이동합니다. 작업 창에서 기능 설정 편집을 클릭한 다음 관리자가 규칙을 무시하도록 허용을 선택합니다.
폴더를 애플리케이션 규칙으로 표시
각 사용자가 자신의 웹 사이트 내에서 애플리케이션을 만들 수 있도록 허용하려면 다음을 수행합니다.
a. 규칙 추가를 클릭합니다 . b. 폴더를 애플리케이션 규칙 템플릿으로 표시를 선택합니다. 이 템플릿을 사용하면 모든 WMSVC 권한 있는 사용자가 웹 배포 createApp 공급자를 사용하여 사용자 범위 내에서 애플리케이션을 만들 수 있습니다. 애플리케이션은 애플리케이션 풀을 포함하여 부모로부터 모든 설정을 상속합니다. c. 확인을 클릭하여 템플릿을 엽니다.
d. RunAs 섹션에서 ID 유형에 대해 SpecificUser를 선택하고 [ 설정] 단추를 클릭하여 이 작업을 수행할 사용자 계정을 지정합니다. 이 규칙이 작동하려면 applicationHost.config 파일에 쓸 수 있는 액세스 권한이 있는 사용자로 규칙을 실행해야 합니다. 관리istrators 그룹에 없는 계정(예: "CreateAppUser")을 만들고 필요한 최소 권한만 부여하는 것이 좋습니다. 방법:- 사용자 계정을 만듭니다.
- 에 읽기 권한을 부여합니다
%windir%\system32\inetsrv\config
. - 에 수정 권한을 부여합니다
%windir%\system32\inetsrv\config\applicationHost.config
.
규칙에 사용자 추가 대화 상자에서 별표(*)를 입력합니다. 이렇게 하면 각 사용자가 자신의 웹 사이트 내에서 애플리케이션을 만들 수 있습니다.
데이터베이스 규칙 배포
- 사용자가 자신의 웹 사이트에 데이터베이스를 배포할 수 있도록 허용하려면 다음을 수행합니다.
a. 규칙 추가 ... b를 클릭합니다. 데이터베이스 배포 규칙 템플릿을 선택합니다. 이 템플릿을 사용하면 1부에 설정된 WMSVC 권한 있는 사용자가 SQL 데이터베이스 서버에 데이터베이스를 배포할 수 있습니다. c. 확인을 클릭하여 템플릿을 엽니다.
d. 모든 사용자가 SQL 자격 증명을 사용하여 이 서버에 배포할 수 있도록 하는 Server=Server1 또는 Server=Server1과 같은 권한 부여 경로를 추가합니다. Database={userName}_db1 사용자 이름과 일치하는 특정 데이터베이스로 제한합니다.
e. 확인을 클릭하여 규칙을 만듭니다. - 규칙에 사용자 추가 대화 상자에서 별표(*)를 입력합니다. 이렇게 하면 각 사용자가 자신의 웹 사이트에 데이터베이스를 배포할 수 있습니다.
사용 권한 규칙 설정
- 각 사용자가 자신의 웹 사이트에 애플리케이션 및 콘텐츠를 배포할 수 있도록 허용하려면 다음을 수행합니다.
a. 규칙 템플릿 선택을 클릭합니다 . b. 사용 권한 설정 규칙 템플릿을 선택합니다. 이 템플릿을 사용하면 모든 WMSVC 권한 있는 사용자가 파일 시스템에서 ACL을 설정할 수 있습니다. c. 확인을 클릭하여 템플릿을 엽니다.
d. 확인을 클릭하여 규칙을 만듭니다. - 규칙에 사용자 추가 대화 상자에서 별표(*)를 입력합니다. 이렇게 하면 각 사용자가 자신의 웹 사이트 내에서 애플리케이션 및 콘텐츠를 배포할 수 있습니다.
필요에 따라 WMSvc에 추적 사용
WMSvc에 대해 추적을 사용하도록 설정하려면 웹 관리 서비스 추적 구성을 참조 하세요. 추적 로그는 .에 %systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
저장됩니다.
3부 - 웹 사이트에 대한 사용자의 커넥트 테스트
- IIS 원격 관리자가 설치된 클라이언트 컴퓨터에 웹 배포 도구를 다운로드하여 설치하거나 로컬 서버를 사용합니다. 먼저 로컬 서버를 테스트하여 네트워킹, 방화벽 또는 프록시 설정으로 인해 발생할 수 있는 문제를 격리하는 것이 좋습니다.
- 사용자에 대해 만든 자격 증명을 사용하여 사용자의 웹 사이트에 대한 연결을 테스트합니다.
a. IIS 관리자를 엽니다.
b. 시작 페이지 노드를 마우스 오른쪽 단추로 클릭합니다.
c. 사이트에 커넥트 선택...(참고: 서버에 커넥트 선택 안 함)
d. 서버 이름 텍스트 상자에 localhost를 입력합니다.
e. 사이트 이름 텍스트 상자에 원격 관리를 사용하도록 설정한 사용자 웹 사이트의 이름을 입력합니다.
f. 다음을 클릭합니다.
g. 사용자 이름 텍스트 상자에 웹 사이트에 대해 권한을 부여한 사용자를 입력합니다.
h. 암호 텍스트 상자에 사용자의 암호를 입력합니다.
i. 다음을 클릭하여 연결을 완료합니다. 신뢰할 수 없거나 자체 서명된 인증서를 사용하는 경우 인증서를 신뢰하라는 메시지가 표시될 수 있습니다. IIS 관리자의 오른쪽 아래 모서리에는 새 연결 상태 표시됩니다(예: SampleUser로 localhost 8172). - 권한 부여 규칙이 작동하는지 확인하는 빠른 애플리케이션 패키지를 만듭니다.
a. 오른쪽의 작업 창에서 애플리케이션 내보내기를 클릭합니다 .
b. 그러면 애플리케이션 내보내기 마법사가 시작되고 모든 화면에서 [다음]을 클릭하여 기본값을 적용하고 패키지를 만듭니다. - 이제 패키지를 만들었으므로 패키지를 설치할 수 있는지 확인합니다.
a. 작업 창에서 애플리케이션 가져오기...를 클릭합니다.
b. 다음을 클릭합니다. c. 매개 변수 페이지에서 애플리케이션 이름을 웹 사이트에 없는 이름으로 변경하여 사용자가 애플리케이션을 만들 수 있는지 확인합니다.
d. 마법사를 완료합니다. - 마지막으로 애플리케이션 패키지를 다운로드하여 이 웹 사이트에 애플리케이션을 설치하여 데이터베이스 및 기타 옵션이 작동하는지 확인해야 합니다.
문제 해결
배포 중에 발생할 수 있는 몇 가지 일반적인 문제가 있습니다.
사용자가 웹 사이트에 연결하는 동안 401 권한이 없는 오류를 수신합니다.
- 원인: 이 오류는 WMSVC에서 발생하며 일반적으로 사용자 이름/암호의 오류이거나 사용자가 웹 사이트에 액세스할 수 없기 때문입니다.
- 해결 방법: 사용자 이름/암호를 확인하고 사용자가 웹 사이트에 액세스할 수 있는지 확인합니다.
사용자가 애플리케이션을 가져오거나 내보내는 동안 서버 오류를 받습니다.
원인: 이 오류는 웹 배포 처리기에서 발생하며 일반적으로 배포 규칙의 문제입니다. 사용자가 성공적으로 연결되었으므로 WMSVC에는 문제가 되지 않습니다. 배포 규칙에 오타가 있거나, 배포를 수행하는 사용자에게 권한이 부여되지 않았거나, runAs ID에 액세스 권한이 없을 수 있습니다.
해결 방법: 추적 로그를 열고 권한을 부여하지 못하는 규칙을 확인합니다
%systemdrive%\inetpub\logs\wmsvc\tracinglogfiles\w3svc1
.- "세부 정보: 사용자 'server1\siteowner', 공급자 'appPoolConfig', 작업 '읽기', 경로 'DefaultAppPool'에 권한을 부여할 수 있는 규칙을 찾을 수 없습니다."와 같은 오류가 포함된 로그를 찾습니다. 이 경우 공급자 appPoolConfig는 권한이 없으며 사용자가 추가할 수 없는 공급자를 추가하려고 했습니다.
- 또 다른 일반적인 오류는 앱을 만드는 데 사용되는 RunAs 사용자가 구성에 대한 적절한 액세스 권한이 없는 경우입니다. 이 경우 Procmon은 액세스 거부 오류가 발생할 수 있는 위치를 결정하는 데 유용한 도구입니다.
요약
이 가이드에서는 사용자가 웹 애플리케이션을 관리할 수 있도록 WMSVC 및 배포 처리기를 구성하는 방법을 보여 줍니다. IIS 관리자를 사용하여 패키지를 만들고 설치하여 위임 규칙이 작동하는지 확인하는 단계를 설명합니다.