IIS 7.0내 FastCGI를 활용한 Zeroboard 시도.. 상호운용성(Interoperability)

지난 10월 말일, 신뢰받는 IT 조언가라는 세션 이후, 하루에 한번씩 꼬박꼬박 있는 세미나 세션에 해보고 싶던 몇가지 테스트를 해보질 못했었습니다.

한번은 제 옆자리에 앉아계신 Winkey 선생님.. 께서 늦은 밤.. Windows Server 2008내 IIS 7.0에서 PHP 기반의 Zeroboard가 잘 돌아가는지 해보았냐는 질문을 하시더군요 :) 10월 중순에 KISA에서 진행하셨던 웹 응용 프로그램 보안 세미나때, MySQL 기반의 Wordpress를 IIS에서 구동하고, URL_Rewrite Module을 이용, 보안을 강화하던 데모 머신을 가지고 있었습니다.

image

Microsoft에서 매우 중요하게 생각하고 있는 것중에 하나가 요즘엔 상호운용성(Interoperability) 입니다.

EMA 조사 결과에 따르면, 기업의 95%는 Multi-Vendor, Multi-Technologies, Multi-Platform을 사용한다고 합니다. 이 의미는 조직내 Windows 플랫폼도 있지만, Linux 플랫폼도 있을 수 있고, Windows 플랫폼에서 MS-SQL이 아닌, MySQL도 사용할 수도 있고.. 또하나의 예로는 Windows내 응용 프로그램 서버인 IIS의 경우, ASP, ASP.NET과 더불어 PHP에 대해서도 사용을 할 수 있어야 한다는 생각입니다. 지난 4월 MMS에서 발표된 내용으로 Microsoft의 System Center Operation Manager 2007 SP1에서 이기종 플랫폼을 지원하기위한 Cross-Platform Extension의 발표도 이러한 사상에 기반된 좋은 예제입니다. 마지막으로 Windows Server 2008내 가상화 기술인 Hyper-V에서 XEN과의 협력을 통해 XEN 기반 Linux에 대해서도 Native한 환경의 Hypervisor를 제공하고도 있습니다. Novell과의 협력 관계를 통해 Hyper-V 기반에서 동작하는 Novell SUSE Linux에 대해서 기술 지원을 Microsoft에서 맡고 있는 것까지도..

이 의미는 Microsoft의 Platform에서 Microsoft의 기술뿐만 아니라, 이기종에 대한 기술도 동등한 플랫폼 기술을 제공하겠다는 의지로 볼 수 있고, 모든 가치는 기술을 사용하시는 분들에게 고스란히 돌아가겠죠.

만약 Windows Server를 이용하는 조직에서 PHP 기반의 좋은 솔루션을 구입하셨을 경우, Windows Server의 IIS내 자원이 남아있음에도 불구하고, 이러한 이기종 지원이 원활하지 않았다면, 별도의 Linux 기반의 Apache 서버를 사용하셔야 할 수 있습니다. 서버가 두대가 된 것이죠. 물론 가상화 환경이라면 조금은 손쉽게 확장이 가능했겠죠.

IIS 6.0까지는 PHP에 대한 지원이 조금 약했었습니다. PHP를 동작시키지 못하는 것은 아니였지만, Apache 성능에 대비할 정도까지의 지원이 안되었기 때문이 더욱 큰 이유였습니다. 그렇지만 Zend와의 협력을 통해 개발한 FastCGI의 등장으로, IIS 6.0, 7.0에서 PHP를 Apache 못지않게 사용할 수 있게 되었습니다. 방금전 두대를 사용해야 하는 문제를 한대에서 다 해결할 수 있게 되었습니다.

덕분에 IIS에 친숙한 엔지니어나, 이를 주 플랫폼을 활용하고 계시는 분들께서는 약간의 설정을 통해 PHP를 원활하게 동작시킬 수 있습니다. 이에 PHP에서 꽤 유명한 기본 예제들도.. 잘 동작한다는 블로그 포스팅도 많이 보았고요.

외국에서는 Wordpress가 유명하다면, 한국에서는 Zeroboard가 매우매우 유명한 PHP 프로그램중 하나입니다. XE 1.0.6 버전이 최신 버전으로 다운로드를 받을 수 있었으며.. 기반은 역시나 MySQL 기반에서 동작시켜보았습니다.

환경 - Windows Server 2008, IIS 7.0, MySQL, PHP

image image

결론적으론 훌륭히 동작합니다. MySQL에서 Database를 생성하고, 접근이 가능한 계정을 생성, 권한을 부여한 후, 해당 계정을 가지고 웹 사이트를 설정해본 결과.. 별도의 PHP 소스 수정 없이 IIS 7.0에서 바로 동작을 하는 모습을 보여주었습니다. 나름 옆에 있던 Winkey 선생님도 많이 놀라시더군요. 오랜 작업이 소요될 것이라는 생각과는 다르게.. 소스 복사, IIS 사이트 생성.. 웹 접속.. 최초 구성.. 끝..

image

image

IIS에서는 Mod_Rewrite의 역할을 URL_Rewrite가 담당하고 있습니다. 이를 활용하시는 것도 보안 강화나 접근성 향상에 도움을 줄 수 있습니다.

앞으로 많은 Microsoft의 기술은 여러 좋은 기술에 대해서 상호 운용성을 제공할 것이며, 이를 통해 다양한 기술들을 Windows 플랫폼에서도 큰 제약없이 우수한 성능으로 사용하실 수 있을 것입니다. :) 언제 한번은 Windows 플랫폼 측면에서 상호 운용성 방안에 대해서도 다뤄볼까 생각중입니다. ^^ (언제나 생각은 많아서 ㅠㅠ)