2010. 8. 25. 17:26

안녕하세요. 엉스데브 입니다.

지난번 "PowerShell 을 통해 IIS 관리하기"(링크) 포스트를 통해 잠깐 다뤄봤던 WebAdministration 모듈을 통해
이번엔 FTP 사이트를 만들어 볼까 합니다.(Windows 2008 R2, IIS 7.5 환경 입니다.)

먼저, 파워쉘을 켜고 WebAdministration 모듈을 Import 합니다.



New-WebFtpSite cmdlet 으로 새 FTP 사이트를 만듭니다.


기본적으로 FTP SSL 설정이 무조건 SSL 연결이 필요하도록 되어 있는데, SSL 연결을 사용하지 않을 예정이므로, 변경 해 줍니다.


FTP 인증에 기본 인증(서버의 로컬 계정을 사용해서 로그인)을 사용하도록 설정 해 줍니다.


이제 FTP 에 접속 하게 할 사용자(로컬 계정)를 만들어 주고..(링크 참조)


이 사용자가 해당 FTP 사이트에 접속 권한을 가지도록 권한 부여 규칙을 설정 해 주면, FTP 사이트 만들기가 완료됩니다.


잘 접속 되는지 테스트는 아래와 같이 해 보면 됩니다.


음! 잘 되는군요. ^^

WebConfiguration 관련 cmdlet 을 사용 할 때 가장 어렵게 느껴지는 부분은 
'-Filter' 파라미터로 설정 항목의 경로를 지정 해 주는 부분인것 같습니다.

설정항목의 경로는 applicationHost.config 파일의 내용을 참고로 찾아냅니다.
applicationHost.config 파일은 IIS 의 모든 설정이 정의되어 있는 파일이며,
XML 형식의 파일이라 XML 및 XPath 에 대해 어느정도는 알고 있어야 내용을 파악 및 원하는 경로를 정확히 뽑아 낼 수 있습니다.

아래 명령어로 applicationHost.config 파일을 바로 열어 볼 수 있습니다.


오늘은 여기까지 입니다. 제가 정리한 내용이 보시는 분들께 도움이 되기를 바랍니다.

<참고 URL>
http://www.yusufozturk.info/windows-server/setting-ftp-server-authorization-with-powershell-on-iis7-5.html

Posted by 알 수 없는 사용자
:
2010. 8. 11. 14:27

SCCM 2007 설치전 작업 2 (WSUS / IIS 역할 추가)

별것 아닌 것에 시간을 쏟고 있는 것은 아닌지 하는 생각이 들 때가 있습니다. 지금이 그렇습니다만…현재 위치에서 목적지 까지 바라 보면 그리 짧아 보이지는 않습니다. 

자 그럼 시작해 볼까요.

SCCM의 주요 기능 중 하나는 소프트웨어 배포 입니다. 그 기능을 사용 하기 위해서 Windows Server의 역할 중에 WSUS(Windows Server Update Services)를 추가 해야 하고 WSUS 역할을 추가 하려면 필수 역할인 IIS도 추가 해야 합니다.단순하게 소프트웨어 배포만을 하려 한다면 WSUS만 사용해도 됩니다만 SCCM의 배포 기능이 더욱 강력 할겁니다. (아님 말구요) 어찌되었건 WSUS IIS 역할이 추가 되어야 SCMM을 설치 할 수 있습니다. 시작해 볼까요.

SCCM서버에서 역할을 추가 하겠습니다.

 

1.     Windows Server Update Services 항목에 체크 합니다.

 

2.     클릭 하자 마자 자동으로 역할 추가 마법사가 추가로 필요한 역할 서비스가 있으니 추가하라고 알려 줍니다. 필요한 역할 서비스 추가를 클릭 하고 다음으로 넘어 갑니다.

 

3.     기본적인 체크 상태 에서 다음으로 넘어 갑니다.

 

 

4.     WSUS IIS 역할을 설치 합니다. (시간이 걸립니다. 잠시 쉬세요.)

 

 

5.     특별하게 문제 되는 곳이 없으니 기본 설정인 상태로 진행 하면 설치가 끝납니다.

 

6.     설치가 끝났으면 IIS 에 역할 서비스 추가로 필요한 역할 서비스를 추가해야 합니다. 


 3번 과정에서 기본으로 체크 되어 있는 항목 이외에 다음 항목의 추가가 필요 합니다.

- 일반 HTTP 기능

   WebDAV 게시

- 응용 프로그램 개발

   ASP

- 보안

   기본인증

   URL 권한 부여

- IIS 6 관리 호환성

   IIS 6 WMI 호환성

   IIS 6 스크립팅 도구

   IIS 6 관리 콘솔

 

체크 하고 다음으로 넘어 가서 설치를 합니다.

 

7.     설치가 무사히 완료 되었습니다. 


이번에도 큰 어려움 없이 설치가 끝났습니다. 그리 어려운 부분도 없었으니 골치 아플일도 없었구요. 오늘은 여기까지 하겠습니다.

다음 포스팅에서는 BITS 기능을 추가하는 과정을 알아 보겠습니다.

이 포스팅의 내용은 Windows Server 2008 R2, SCCM 2007 SP2, Microsoft SQL 2008 R2 
환경에서 작성 되었습니다.



Posted by 알 수 없는 사용자
:
2010. 7. 26. 17:40

안녕하세요. 엉스데브 입니다.

Windows 7, Windows 2008 R2 부터 IIS 를 설치 시 PowerShell IIS 관리 모듈이 같이 설치 됩니다. 모듈의 이름은 “WebAdministration” 이며, PowerShell 에서 Import-Module cmdlet 으로 불러들여서 사용 할 수 있습니다.

먼저, WebAdministration 모듈이 존재하는지 확인 합니다.

Get-Module -ListAvailable


해당 모듈을 사용 할 수 있도록 Import 합니다.

Import-Module -Name WebAdministration



“IIS 구성 데이터에 액세스하려면 프로세스에서 높은 상태를 가져야 합니다.” 라는 오류메시지가 나오는 군요. PowerShell 을 관리자 권한으로 실행 시켜야겠네요.

, 스크립트를 실행 할 권한이 없다고도 나오는 군요. 이 부분은 실행 정책을 “RemoteSigned” 로 변경해서 처리 할 수 있습니다.(링크 : PowerShell 자체 인증서 생성과 스크립트 인증 하기)

관리자 권한으로 PowerShell 을 실행하고, 실행 권한도 조정 한 후 다시 Import 했습니다.

별다른 오류 없이 잘 넘어가는 군요.

WebAdministration 모듈이 Import 되었으니, 새로 추가 된 명령어들을 확인 해 봅시다.

Get-Command -Module WebAdministration


여러 명령어가 추가 된 것을 확인 할 수 있습니다.

도움말을 통해 각 cmdlet 을 어떻게 사용 하는지 확인 해 보는 것을 추천 합니다.

, 그럼 먼저 웹사이트를 하나 만들어 볼까요?
웹사이트를 운영하려면, 먼저 해당 웹사이트가 사용 할 ApplicationPool 을 만들어야 합니다. New-WebAppPool 명령어로 만들 수 있습니다.

New-WebAppPool -Name "Test Site"



잘 만들어 졌네요.

이제, 사이트의 내용이 들어갈 홈디렉토리를 만들어 주어야 합니다. “C:\wwwroot\TestSite” 로 만들었습니다.
Force 파라미터를 주면 부모 디렉터리가 존재하지 않을 경우 강제로 만들어 줍니다.

mkdir C:\wwwroot\TestSite -Force

 

 

이제 웹 사이트를 만들어 봅시다. New-Website cmdlet 을 이용 합니다.

New-Website -Name "Test Site" -ApplicationPool "Test Site" -PhysicalPath "C:\wwwroot\TestSite"




이런, 오류가 발생하는군요.
배열 범위가 벗어났다는 오류가 발생하는데, 구글링 결과 기존에 만들어진 사이트가 전혀 없어 ID 값을 자동으로 생성 해 내지 못했기 때문이라고 합니다. ID 값을 1로 강제 지정 하고 다시 시도 합니다.

New-Website -Name "Test Site" -ApplicationPool "Test Site" -PhysicalPath "C:\wwwroot\TestSite" -Id 1



잘 만들어 졌습니다. 자동으로 시작 상태가 되었군요.

WebAdministration
모듈은 IIS: 라는 Provider 도 제공 합니다.
해당 Provider 를 통해 마치 하드디스크의 파일 내용을 탐색 하듯이 탐색 해 볼 수가 있습니다.
IIS:\
의 내용을 살펴 보면, 다음과 같은 내용을 확인 할 수 있습니다.


AppPools
에는 현재 만들어진 모든 ApplicationPool 이 들어있고, Sites 엔 현재 만들어진 모든 사이트가 들어있습니다.



만들어진 아이템(ApplicationPool, 사이트)의 속성을 변경하고 싶다면, Set-ItemProperty cmdlet 을 사용하면 됩니다. PhysicalPath “C:\wwwroot” 로 변경 해 보았습니다.

Set-ItemProperty "IIS:\Sites\Test Site" -Name "physicalPath" -Value "C:\wwwroot"




physical Path 값이 잘 변경 되었네요.

만약, ApplicationPool 을 재생하고 싶다면, Get-Item cmdlet 으로 재생하고자 하는 ApplicationPool 을 선택 한 뒤, .Recycle() 메소드를 호출 하면 됩니다.

(Get-Item "IIS:\AppPools\Test Site").Recycle()


, 해당 ApplicationPool 을 중지 하고 싶다면 Stop() 메소드를, 시작하고 싶다면 Start() 메소드를 사용 할 수 있으며, state 속성을 보면 현재 실행 상태를 확인 할 수 있습니다.

(Get-Item "IIS:\AppPools\Test Site").state
(Get-Item "IIS:\AppPools\Test Site").Start()
(Get-Item "IIS:\AppPools\Test Site").Stop()



ApplicationPool의 시작, 중지, 재시작 등의 작업은 Start-WebAppPool, Stop-WebAppPool, Restart-WebAppPool 등의 cmdlet 을 사용해서도 할 수 있습니다. 자세한 내용은 get-help 를 통해 확인 해 보세요!

이제 다 가지고 놀았으니 정리해야 겠네요 ^^
지금까지 만든 모든 웹사이트와 ApplicationPool 을 삭제했습니다.

Remove-WebAppPool *
Remove-Website *



깔끔히 지워졌네요.

지금까지 WebAdministration
모듈을 간단히 살펴봤는데, 아주 잘 만들어진 것 같습니다.
PowerShell 만으로도 IIS 세팅에 관한 원하는 모든 작업을 할 수 있을 것 같네요.

앞으로 WebAdministration 모듈을 적극 이용해서 사이트 설정 등을 자동화 하면 좋을 것 같습니다.

<참조 문서>
Get-Help about_Modules

<참조 URL>
http://www.winserverhelp.com/2010/07/automating-iis-with-powershell/
http://learn.iis.net/page.aspx/447/managing-iis-with-the-iis-70-powershell-snap-in/

Posted by 알 수 없는 사용자
:

BLOG main image
Windows Server를 공부 하는 사람들의 팀블로그 by 마성민

카테고리

분류 전체보기 (76)
Windows (2)
Powershell (56)
AD (0)
Exchange (6)
System Center (9)
IIS (0)
SQL (3)
Sharepoint (0)

태그목록

Tistory Cumulus Flash tag cloud by BLUEnLIVE requires Flash Player 9 or better.

Total :
Today : Yesterday :