미디어 서비스 영역에 있어서는 윈도우 운영체제가 거의 장악을 했었습니다.
지금이야 Rich UX 니 뭐니 해서 워낙 방대하고 다양해 졌지만, 예전에는 미디어 서비스를 제공하려면, 윈도우가 거의 대세 였지요.

Windows Server 2003 까지는 운영체제 내에 미디어 서비스가 포함 되어져 있었습니다.
하지만 지금은 외부 모듈로 떨어져 나가게 되었지요..

그리고 지금은 이 미디어 서비스가 윈도우 라기 보다는 윈도우 웹서버인 IIS 의 한 영역으로 들어가게 되었습니다.
사실 IIS 영역이 점점 켜지다 보니, IIS 입장에서는 크게 IIS 와 미디어 서비스 두가지로 분류를 하게 되었습니다.
그렇다면, IIS 미디어 서비스 뭐가 달라졌고 어떻게 해야 하나요?

IIS 미디어 서비스는 통합된 HTTP 기반의 미디어를 제공하는 플랫폼으로 HD급 스트리밍을 제공하며, 크게 4가지 영역의 특징을 나타내고 있습니다.

       

지능적인 다운로드                      스무스 스트리밍                             향상된 로깅                                   캐슁 기능

Bit Rate Throttling 기능 을 통해 컨텐츠를 전달할때 미디어의 다운로드 속도를 조절 할 수 있습니다.
Web Playlists 통해 미디어 컨텐츠를 용이하기 관리하실 수 있습니다.
Smooth Streaming & Live Smooth Streaming 을 통한 HTTP 기반의 온디멘드 혹은 라이브 스트리밍 서비스를 제공합니다.
Advanced Logging 을 통해 데이터 수집 및 실시간 로깅 으로 데이터 분석이 용이해 집니다.
Edge Caching 컨텐츠 캐쉬 기능과 ARR 이라는 웹요청에 대한 분산 모듈을 통해 성능향상을 꾀할 수 있습니다.

그렇다면 IIS 미디어 서비스를 하려면 설치 부터 진행을 해야 하겠죠..
앞선 포스팅에서 WPI 라는 아주 간단한 툴을 소개해 드렸습니다.

미디어 서비스 역시 WPI 로 간단하게 설치 하실 수 있습니다.
먼저 WPI 를 한번이라도 실행 했다면, 프로그램 항목의 Windows Platform Installer 라는 항목을 실행 합니다.

그리고 좌측 메뉴항목을 보면 미디어 플랫폼 항목을 보실 수 있습니다.
여기서 기본적인 미디어 서비스를 하기위한 모듈은 Host and Deliver Media Content 라는 메뉴에 모듈들이 포함 되어있습니다.

사용자 지정 메뉴를 선택하여 보시면, 미디어서비스 및 앞서 설명 드린 고급 로깅 및 로드 분산을 위한 ARR 기능을 설치 하실 수 있습니다.

자 이제 설치가 완료 되고 나면….

IIS 관리자의 모듈에 아래와 같이 미디어 서비스 관련 항목이 나타나게 됩니다.

 

그럼 여기서 간단하게 Web Playlists 로 동영상 파일을 여러 개를 묶어서 딜리버리 해보도록 하겠습니다.
원하는 웹 사이트에 미디어 서비스 항목에서 Web Playlists 를 더블 클릭합니다.
아래와 같이 Web Playlists 에 미디어 파일을 추가 합니다.

미디어 파일 플레이리스트에 사용할 타이틀과 파일명을 지정하고 미디어 파일들을 추가 합니다.
추가할 수 있는 형식은 아래와 같이 URI 타입으로 입력하시거나, 실제 물리적인 경로를 지정 하실 수 있습니다.
그리고 아래 체크박스를 보시면 미디어를 재생 하는 도중에 빨리감기 되감기 기능을 사용하지 못하게 할 것인지 원하는 부분을 바로
재생하지 못하게 할 수 있는 옵션이 있습니다. 체크박스에 체크하시게 되면 해당 기능을 사용 못하게 됩니다.

그리고 파일을 물리적인 파일경로를 지정하고 싶을 경우는 Playlists 기능에서 기능 설정 부분에 가시면 (아래와 그림과 같이)

절대경로 및 UNC 경로 지정을 허용하는 옵션이 있습니다. 이 옵션을 체크하시면 절대경로나 네트워크 드라이브의 파일을 재생 하실 수 있습니다.
그리고 바로 위에 보이는 Impersonation Setting 부분이 네트워크 드라이브 즉 UNC 경로의 파일을 재생 할 때 필요한 인증 정보를 입력하는 부분입니다.

자 이렇게 Web Playlists 를 만들고 나면, 확장자가 isx 라는 파일이 해당 웹사이트 디렉토리 에 생성이 되고 미디어 플레이어 에서 Playlist URL 을 재생하게 되면 선택한 옵션대로 파일이 재생하게 됩니다.

   

미디어 서비스와 함께 주로 많은 얘기가 되고 있는 부분이 실버라이트 입니다.
많은 샘플예제와 툴킷 또한 WPI 에서 설치 가능하십니다.
간단한 실버라이트 오디오, 비디오 플레이어 만들기는 아래 URL 에서 참고하시기 바랍니다.
참고로 Web Playlists 파일은 isx 를 바로 소스로 지정하실 수 있습니다. (예) Source="http://myserver/mymedia/media.isx”

http://msdn.microsoft.com/ko-kr/library/cc189078(v=VS.95).aspx

Posted by nimsgern

Windows Server 2008 부터 처음 소개 된 Server Core 는 경량화 되고 최소 모듈만을 제공하는 서버 운영체제 였습니다.
적은 리소스 사용으로 원하는 모듈만을 운영할 수 있는 Server Core 는 다수의 웹 서버를 운영해 본 분이시라면 반겼을 것입니다.
게다가, Windows 보안 업데이트가 나올때 Server Core 버전은 영향이 없슴이라 적혀 있을때면 씩 하고 미소지어 졌지요 :)

하지만, 사실 윈도우의 UI 환경에만 익숙하신 분들은 모든 작업을 Command 에서만 처리되는 Server Core 가 약간은 부담(?) 스러웠을 수 도 있습니다.
또, Windows Server 2008 시절 Server Core 는 처음 이러한 운영체제를 선보인다는데 의의가 있었다고 해도 과언이 아니었습니다.
왜냐, 몇가지 아쉬운 점이 없지 않아 있었던 거죠.

가장 큰 아쉬움은 뭐니 뭐니 해도 윈도우 기반의 웹 응용 프로그램인 ASP.NET 을 제공하지 않는 다는 것입니다.
거기다 한가지 더해 ASP.NET 의 기반으로 운영되는 PowerShell 이 함께 구동되지 않는 다는 점이 많이 부족해 보였습니다.

하지만 Windows Server 2008 R2 의 Server Core 는 ASP.NET 을 제공할 뿐만 아니라, PowerShell 그리고 PowerShell 을 원격에서 명령할 수 있는 기능 뿐 아니라,
R2 에 포함된 IIS 7.5 는 Server Core 에서도 IIS 를 원격에서 관리할 수 있는 기능이 추가된 것입니다.
Windows Server 2008 시절 Server Core 에서 IIS 를 설정하려면 무수히 많은 Command Line 을 작성했어야 했고, 이를 어려워 하시는 분들이 적지 않았습니다.

Windows Server 2008 R2 는…

sconfig.cmd 라고 하는 미리 정의된 명령을 묶어놓은 명령 라인을 제공합니다.
Windows Server 2008 에서는 위와 같은 옵션을 사용하기 위해서는 긴 명령구문을 작성하여 입력했어야 하지만, 지금은 이처럼 자주 사용하는 명령어를 묶어서 하나의 파일로 제공합니다.

이 명령 스크립트는 원래 Hyper-V 만을 제공하는 Hyper-V Server 에서 제공하는 것이었습니다.
이것을 조금 다듬어서 R2 에 포함 하였더군요.

자 그러면 이제부터 서버코어를 이용하여, 웹 서버를 만들어 볼 차례입니다.

기존에는 서버모듈을 설치하기 위해서 ocsetup 이란 명령어를 사용하였었습니다.
하지만, Windows 7 이후 부터 제공하던 dism 이라는 명령어가 있습니다.

dism 은 원래 OS 를 배포할때 배포할 OS 이미지를 수정하고 만들때 사용하던 명령어 인데, Windows Server 2008 R2 에서는 서버의 온라인 모듈을 설치하거나, 제거할때도 사용합니다.

참고로 Windows Server 2008 에서 사용하던 Servermanagercmd 라는 명령어는 Windows Server 2008 R2 까지만 제공하고 이후에는 제공될지는 불분명 하다고 하니, dism 에 익숙해 지시길 바랍니다.

ServerCore 에 IIS 7.5 및 ASP.NET 설치 하기

ASP.NET 을 서버코어에서 사용하기 위해서는 3가지 제한 사항이 있습니다.

1. MMC 스냅인이 없습니다. 그러므로 ASP.NET 웹 사이트를 관리하기 위해서는 원격 컴퓨터에서 IIS Manager 를 통해 관리 하거나, 호스트에서 작업시는 APPCMD 라는 명령어로 관리 하여야 합니다.
2. System.Web.Mail 네임스페이스 가 없어졌습니다. 이것은 Server Core 에서는 CDOSYS 객체가 없어 졌기 때문입니다. 즉 폼 메일등을 제작할 때 사용하였던 모듈이 없어졌기 때문입니다. 대신 해당 네임스페이스 대신 System.Net.Mail 네임스페이스를 사용하시면 됩니다.
3. Web Site Administration Tool (WAT) 를 사용하실 수 없습니다. 이는 Visual Studio 를 통해 IIS 를 관리할 수 있는 웹 툴 입니다.

먼저 ASP.NET 을 설치하기에 앞서 IIS 를 설치합니다.

dism /online /enable-feature /featurename:IIS-WebServerRole

Windows Server 2008 R2 Server Core 는 .NET Framework 2.0/3.0/3.5 를 포함하고 있습니다.
ASP.NET 을 호스팅 하기 위해 .NET Framework 2.0 과 3.0 을 dism 을 이용하여 설치합니다.

dism /online /enable-feature /featurename:NetFx2-ServerCore
dism /online /enable-feature /featurename:NetFx3-ServerCore

IIS 에서 ASPNET 을 사용하기 위해 추가적인 IIS 역할 서비스를 추가 설치 해야 합니다.

dism /online /enable-feature /featurename:IIS-ISAPIFilter
dism /online /enable-feature /featurename:IIS-ISAPIExtensions
dism /online /enable-feature /featurename:IIS-NetFxExtensibility

이제 IIS-ASPNET 기능을 설치 합니다.

dism /online /enable-feature /featurename:IIS-ASPNET

이것으로 ASP.NET 을 호스팅할 수 있는 Server Core 용 웹서버는 완성 되었습니다.
asp.net 페이지를 로딩할 경우 정상적으로 로딩되는것 을 확인 하실 수 있습니다.

 

여기까지 설정 하셨다면, 이제 웹서버를 관리하기 위해서는 APPCMD 라는 명령어로 서버를 관리 하여야 합니다.
원격에서 쉽게 관리하기 위한 원격 관리 서비스를 설치하여 원격에서 쉽게 관리 하실 수 있도록 합니다.

IIS-ManagementService 를 설치합니다.

dism /online /enable-feature /featurename:IIS-ManagementService

dism /online /enable-feature /featurename:WAS-WindowsActivationService
dism /online /enable-feature /featurename:WAS-ConfigurationAPI

원격 관리 설정을 위한 레지스트리 수정 및 IIS Management Service 를 시작 시킵니다.

Reg Add HKLM\Software\Microsoft\WebManagement\Server /V EnableRemoteManagement /T REG_DWORD /D 1
net start wmsvc

IIS 를 원격 관리 하기 위해서는 클라언트 에 IIS Manger 를 다운로드 받아 설치 한 후 실행 합니다.
파일 메뉴에서 서버에 연결을 클릭합니다.

서버 이름을 입력합니다. 저는 IP 를 입력했습니다.

서버 사용자 이름과 암호를 입력

IIS Management Service 는 인증서 기반에서 접속을 제공하며, 기본적으로 서버의 Self Sign 인증서로 서비스를 제공합니다.
Self Sign 인증서에 대한 Alert 이 나타납니다.

연결이 정상적으로 이뤄지면, 원격에서 IIS 를 관리 하실 수 있습니다.

이제 기본적인 설정은 마쳤으니, ASP.NET 을 제작하시면 되겠습니다.

Posted by nimsgern