PHP를 마지막으로 설치한 지가 언제인지 기억나지 않는다. 마지막 PHP 책을 출간한 때가 2006년인것 같은데 그러고보면 적어도 5,6년은 훌쩍 지난듯 하다. 그때는 막 5.0이 나오고 PHP에도 OOP가 소개되었던 시절이었는데 지금보니 5.4 버전이 나와있다. 해마다 먼가 1.0씩 올라가는 MS의 버전변화에 비교하면 어찌보면 큰 변화가 없었네 하는 생각도 드는데 실제로 얼만큼 변했을지 알 수가 없다. 어쨋든 node.js 관련 데모를 보려고 보니 생각보다 PHP와 함께 구현된 코드가 많아 옛 추억(?)도 떠올릴겸 겸사겸사 서버에 설치해봤다. 



PHP 윈도우용 버전 다운로드부터.


업무가 끝나고 퇴근하기 전에 좀 쉽게 가려고(!) 네이버에서 검색해봤다. 윈도우서버에서  PHP 설치하는 방법에 대해 스크린샷으로 친절하게 설명해놓은 사이트가 있지 않을까하고... 근데 생각보다 나에게 도움이 될 만한 블로그가 없다. 하긴.. 5,6년만에 설치하는 PHP를 (그것도 윈도우버전을) 10분안에 끝낼 수 있는 방법을 친절하게 설명해줄 만한 사이트를 기대하는것도 무리이긴 하다.


그래서 마음을 접고 정석대로... 우선 PHP 사이트(http://www.php.net)에서 윈도우 버전을 다운로드받았다. 



5.4 버전과 5.3 버전이 나란이 있는데 왜 그런지는 모르겠다. 머 보통 홀수버전은 개발버전, 짝수버전은 안정버전 머 그런 전통적인 규칙같은게 있긴한데 관련내용을 찾아보니 그런건 아닌거 같고 그냥 5.3과 5.4 버전에서 큰 차이가 있어서 기존 5.3 버전으로 개발한 사이트를 배려(backward compatibility 라고하던가...)하기 위해 그런듯. 


암튼 처음 설치하는 나에게는 큰 차이는 없어서 5.4 버전을 다운로드. 자동 인스톨러 버전을 다운받은게 아니라서 설치라고 해봐야 따로 없다. 그냥 압축풀어서 "C:\php" 폴더에 복사하면 끝. 


그리고 install.txt를 열었다. 사실 그냥 이걸 보는게 가장 빠른 방법이다. 



PHP 환경설정 : IIS 6.0 환경하에서는 ISAPI 보다는 FastCGI 방식으로 설치를 권장


일단 윈도우 2003 서버다. 


기억을 더듬어보면 예전에 윈도우 서버에 PHP를 세팅했을 때에는 보통 CGI가 아닌 ISAPI 방식으로 설치하고 IIS에서 필터역할을 하는 DLL을 ISAPI 필터로 등록해주면 되었다. 그런데 이번 5.4 버전을 보니 이 ISAPI 모듈 파일이 없다. 


* sapi/php5isapi.dll - ISAPI Module for ISAPI compliant web servers 

       like IIS 5.0 or newer. However the FCGI SAPI is recommended with 

       IIS


분명 있긴 한듯 한데 어쨋든 이런 코멘트가 있는걸 보았다. 


The FastCGI is significantly

   more stable and can be faster than the ISAPI module with IIS.


IIS에서는 ISAPI 보다는 FastCGI가 더 빠르고 안정적이라 권장한다고 하니 이 방식으로 설치진행하기로 했다. 그리고 설치하려는 서버가 IIS 6.0이 설치된 2003 서버라 PHP에서 제공하는 IIS 6.0용 가이드 문서를 참조하기로 했다. 


http://kr1.php.net/manual/en/install.windows.iis6.php


우선 PHP 환경설정을 해야 하니 php.ini 파일을 만든다. 다운로드 파일에서 제공하는 php.ini-development 파일과 php.ini-production 파일 중 하나를 php.ini로 쓰면 된다.



IIS 6.0 기반의 윈도우서버에서 PHP를 FastCGI 방식으로 구동하기 위해서는 php.ini에 필수적으로 위의 값을 세팅해야 한다고 한다. 인자의 자세한 내용은 install.txt 를 참조.


그리고 나서 cscript 명령을 준다. 이건 윈도우 서버가 PHP 스크립트에 요청(보통 확장자 .php에 대한 HTTP Request)이 들어올 경우 Fast CGI 방식으로 이 스크립트를 처리하도록 하기 위한 것이다.



도스창을 열어 위와 같이 그대로 입력해보면 아래와 같이 php.ini 파일에 무언가 저장했다는 것을 볼 수 있다.



이 명령은 .php 확장자를 가진 스크립트에 대한 요청이 들어올 경우 IIS가 이것을 FastCGI 방식으로 처리할 수 있도록 매핑하는 역할을 한다. 


나머지 install.txt 파일을 보면 몇가지 추가적인 내용들이 있는데 일단 부가적인거라 패스... 웹서버를 띄우고 index.php 파일을 하나 만들어봤다. (기특하게도 phpinfo() 함수 하나가 기억났다! )


<?
phpinfo();
?>


브라우저로 띄워보니 정상적으로 세팅이 된 듯... 일단 이렇게 기억을 더듬어가며 install.txt 파일과 감(!)으로 설치 및 세팅완료. 



Posted by 라스모르
,