IIS 에서 PHP 를 사용하여 CUBRID 와 연동하기 위한 방법을 정리하였습니다. 다양한 경우를 다루지는 못하였지만 처음 설치시에는 도움이 될 수 있도록 정리하였습니다.
본 문서에서 사용된 환경은 다음과 같습니다.
IIS7.0 설치하기
IIS 7.0 은 아래 과정을 통하여 설치합니다. 당연하겠지만 관리자 계정으로 로그인을 하셔야 합니다.
제어판 - 관리도구 - 서버관리자 를 클릭하여 실행합니다.

서버관리자의 왼쪽에 "역할" 을 선택한 후, 오른쪽의 역할 화면에서 "역할 추가" 를 클릭합니다.

보여지는 창에서 서버역할중 웹서버(IIS)를 체크 후 다음을 클릭합니다.

다음에 웹서버(IIS) 소개 화면이 보이는데 그냥 다음을 클릭합니다.

PHP 사용을 위해서는 IIS의 CGI 모듈이 추가되어야 합니다. 따라서 응용프로그램 개발 아래 CGI 를 체크후 다음을 클릭합니다.

설정한 내역을 보여줍니다. 간단히 확인후 설치를 클릭하여 설치를 합니다.

설치가 완료되면 아래 창이 보입니다. 닫기를 눌러 창을 닫으면 됩니다.

설치후IIS 관리자를 구동하여 정상 설치여부를 확인합니다. 시작메뉴의 "IIS(인터넷정보서비스)관리자" 를 클릭하여 실행합니다.

IIS가 정상구동되어 있는지를 확인합니다. 설치후 자동으로 구동되며, IIS 관리화면의 우측에 보이는 "시작" 이 흐리게 되어있으면 구동되어있는 것입니다. 만약 시작이 진하게 표시되어 있다면 구동되지 않은 것이므로 시작을 클릭하여 구동시켜야 합니다. 그래도 구동되지 않는다면 설치과정에서 문제가 있을 수 있으므로 적절히 조치하여 IIS가 구동되도록 합니다.

중앙 부분의 아이콘중 "모듈"을 선택하여 CGI 가 보이는지 확인합니다.

만약 보이지 않는다면 IIS 설치시 CGi 모듈이 추가되지 않은 것이므로 제어판-관리도구-서버관리자를 실행하여, 역할 아래 웹서버(IIS)를 선택한 후, 우측 아래쪽에 "역할서비스" 옆의 "역할서비스추가"를 클릭합니다.

응용프로그램 개발 아래 "CGI" 를 체크한뒤 "다음"를 클릭한 후, "설치"를 선택하여 추가 기능을 설치합니다.

브라우져를 구동하여 웹서버가 정상 동작하는지를 확인합니다. 주소는 그냥 http://localhost/ 를 입력하면 됩니다.

PHP5.2.13 설치하기
다음은 PHP를 설치합니다. 설치를 위해 IIS를 중지시킵니다. IIS 관리자에서
(뒤로)를 클릭하거나, 아래에서 보이는 것처럼 "시작페이지" 아래 호스트명을 클릭한뒤, 우측의 중지 를 클릭합니다.

PHP 는 PHP 홈페이지(www.php.net/downloads.php)에서 설치본(PHP5.2.13 installer) 을 다운 받아 설치하면 됩니다. kr.php.net 이나 kr2.php.net을 클릭하면 됩니다.

설치과정중 설치는 원하는 디렉토리로 설정하고(예에서는 C:PHP 로 설정), Web Server Setup 에서 IIS FastCGI 를 선택합니다.

그런다음 설치를 진행하여, PHP 설치를 마칩니다.
PHP 설치가 완료되면 Document Root (보통 C:inetpubwwwroot) 에 phpinfo.php 화일을 아래 내용으로 만들어 정상동작여부를 확인합니다. 확인을 위해 IIS 관리자 우측의 시작을 클릭하여 종료시켰던 IIS를 구동합니다.
<?php phpinfo(); ?>
아래와 같은 내용이 나오면 정상입니다.

CUBRID PHP 모듈 설치
다음은 CUBRID 와 연동을 위하여 CUBRID PHP module 을 설치합니다. CUBRID 데이터베이스는 같은 서버에 설치되었거나 다른 곳에 설치하시면 됩니다. 즉, CUBRID 모듈만 설치하는 것이며 CUBRID 데이터베이스의 위치는 관련없습니다.
CUBRID PHP module 은 Visual Studio 를 이용하여 개발되어 사용시 Visual Studio 재배포 패키지가 필요합니다. 재배포 패키지는 CUBRID 홈페이지의 다운로드 중간쯤에 있는 링크를 통해 내려받을 수 있습니다. 현재 PHP module 이 32bit용으로만 제공되므로 32bit 용을 받아야 합니다.

설치가 완료되면, 같은 페이지 바로 아래에 있는 PHP module 을 내려받습니다. so, dll 다운받기를 클릭합니다.
보여지는 Naver 개발자 센터 페이지에서 cubrid2008_php5.2.dll(릴리즈시 이름이 변경될 수 있슴), cubrid_err.msg 화일을 내려받습니다.

내려 받은 화일을 임의의 디렉토리에 저장합니다. 이 디렉토리는 PHP 에 CUBRID PHP module 에 대한 위치로 등록할 것이므로, PHP 를 설치한 디렉토리 아래 CUBRID 라고 디렉토리를 만들어 사용하는 것이 좋습니다. 본 예에서는 C:PHPCUBRID 에 저장하였습니다.

다음으로는 CUBRID 모듈에 대한 접근 권한을 IIS user 에게 부여합니다.
권한 부여는 해당 디렉토리를 우 클릭하신후 "속성" 을 클릭하여 속성보기로 들어가 "보안" 탭에서 "편집"을 클릭합니다.

"추가"를 클릭하고, "고급"을 클릭한 후, "지금찾기"를 클릭하여 등록되어 있는 사용자를 검색합니다.


검색결과중 "IIS_IUSRS" 을 선택하고, "확인" 을 클릭한 후, "사용자 또는 그룹 선택" 화면에서 "확인"을 클릭합니다.
그다음 "CUBRID 사용 권한" 창에서 IIS_IUSRS 를 선택한 후, 아래 창에서 "모든 권한" 에 "허용"을 체크한 다음 확인을 클릭합니다.

권한 부여창을 "확인"을 클릭하여 모두 닫은 후, 재부팅하면 됩니다.
재 부팅후 php.ini 를 수정하여 CUBRID module 에 대한 정보를 넣어줍니다. php.ini 는 앞서 본 phpinfo.php 를 통해 확인할 수 있으며 이중 Loaded Configuration File 에서 보여지는 php.ini(C:PHPphp.ini)를 수정하면 됩니다.

추가할 사항은 아래와 같습니다. 주의할 점은 extension_dir 을 새로운 라인으로 추가하면 않되고, 기존에 있는 정보를 수정해야 합니다. C:PHPCUBRID 아래에 cubrid2008_php5.2.dll, cubrid_err.msg 화일을 둔 경우를 예로 했습니다.
extension_dir="C:PHPCUBRID"
extension=cubrid2008_php5.2.dll
[CUBRID]
cubrid.err_path="C:PHPCUBRID"
적용후 IIS 를 재구동하여, 브라우져를 통해 phpinfo.php 를 확인합니다.
만약 아래와 같이 에러가 발생한다면 설정이 잘못된 것입니다. extension 으로 지정한 dll 의 이름이나, extension_dir 의 위치가 잘못되어 해당 dll 을 찾지 못하는 경우가 있습니다. 모든 정보가 이상이 없다면 CUBRID 모듈이 있는 디렉토리에 대하여 IIS_IUSRS 에 모든 권한이 부여되어있는지를 확인하여 권한을 부여하도록 합니다.

아래와 같이 CUBRID 에 대한 정보가 보이면 정상적으로 설치된 것입니다.

본 문서에서 사용된 환경은 다음과 같습니다.
* Windows Server 2008 32bit (CUBRID PHP 모듈이 32bit 용으로만 제공되므로)
* IIS 7.0
* PHP 5.2.13 (PHP5.3 은 CUBRID와 테스트가 되어있지 않아 5.2의 현재 마지막 버젼을 사용)
* CUBRID2008 R2.1 for Windows 32bit
IIS7.0 설치하기
IIS 7.0 은 아래 과정을 통하여 설치합니다. 당연하겠지만 관리자 계정으로 로그인을 하셔야 합니다.
제어판 - 관리도구 - 서버관리자 를 클릭하여 실행합니다.

서버관리자의 왼쪽에 "역할" 을 선택한 후, 오른쪽의 역할 화면에서 "역할 추가" 를 클릭합니다.

보여지는 창에서 서버역할중 웹서버(IIS)를 체크 후 다음을 클릭합니다.

다음에 웹서버(IIS) 소개 화면이 보이는데 그냥 다음을 클릭합니다.

PHP 사용을 위해서는 IIS의 CGI 모듈이 추가되어야 합니다. 따라서 응용프로그램 개발 아래 CGI 를 체크후 다음을 클릭합니다.

설정한 내역을 보여줍니다. 간단히 확인후 설치를 클릭하여 설치를 합니다.

설치가 완료되면 아래 창이 보입니다. 닫기를 눌러 창을 닫으면 됩니다.

설치후IIS 관리자를 구동하여 정상 설치여부를 확인합니다. 시작메뉴의 "IIS(인터넷정보서비스)관리자" 를 클릭하여 실행합니다.

IIS가 정상구동되어 있는지를 확인합니다. 설치후 자동으로 구동되며, IIS 관리화면의 우측에 보이는 "시작" 이 흐리게 되어있으면 구동되어있는 것입니다. 만약 시작이 진하게 표시되어 있다면 구동되지 않은 것이므로 시작을 클릭하여 구동시켜야 합니다. 그래도 구동되지 않는다면 설치과정에서 문제가 있을 수 있으므로 적절히 조치하여 IIS가 구동되도록 합니다.

중앙 부분의 아이콘중 "모듈"을 선택하여 CGI 가 보이는지 확인합니다.

만약 보이지 않는다면 IIS 설치시 CGi 모듈이 추가되지 않은 것이므로 제어판-관리도구-서버관리자를 실행하여, 역할 아래 웹서버(IIS)를 선택한 후, 우측 아래쪽에 "역할서비스" 옆의 "역할서비스추가"를 클릭합니다.

응용프로그램 개발 아래 "CGI" 를 체크한뒤 "다음"를 클릭한 후, "설치"를 선택하여 추가 기능을 설치합니다.

브라우져를 구동하여 웹서버가 정상 동작하는지를 확인합니다. 주소는 그냥 http://localhost/ 를 입력하면 됩니다.

PHP5.2.13 설치하기
다음은 PHP를 설치합니다. 설치를 위해 IIS를 중지시킵니다. IIS 관리자에서



PHP 는 PHP 홈페이지(www.php.net/downloads.php)에서 설치본(PHP5.2.13 installer) 을 다운 받아 설치하면 됩니다. kr.php.net 이나 kr2.php.net을 클릭하면 됩니다.


설치과정중 설치는 원하는 디렉토리로 설정하고(예에서는 C:PHP 로 설정), Web Server Setup 에서 IIS FastCGI 를 선택합니다.

그런다음 설치를 진행하여, PHP 설치를 마칩니다.
PHP 설치가 완료되면 Document Root (보통 C:inetpubwwwroot) 에 phpinfo.php 화일을 아래 내용으로 만들어 정상동작여부를 확인합니다. 확인을 위해 IIS 관리자 우측의 시작을 클릭하여 종료시켰던 IIS를 구동합니다.
<?php phpinfo(); ?>
아래와 같은 내용이 나오면 정상입니다.

CUBRID PHP 모듈 설치
다음은 CUBRID 와 연동을 위하여 CUBRID PHP module 을 설치합니다. CUBRID 데이터베이스는 같은 서버에 설치되었거나 다른 곳에 설치하시면 됩니다. 즉, CUBRID 모듈만 설치하는 것이며 CUBRID 데이터베이스의 위치는 관련없습니다.
CUBRID PHP module 은 Visual Studio 를 이용하여 개발되어 사용시 Visual Studio 재배포 패키지가 필요합니다. 재배포 패키지는 CUBRID 홈페이지의 다운로드 중간쯤에 있는 링크를 통해 내려받을 수 있습니다. 현재 PHP module 이 32bit용으로만 제공되므로 32bit 용을 받아야 합니다.

설치가 완료되면, 같은 페이지 바로 아래에 있는 PHP module 을 내려받습니다. so, dll 다운받기를 클릭합니다.

보여지는 Naver 개발자 센터 페이지에서 cubrid2008_php5.2.dll(릴리즈시 이름이 변경될 수 있슴), cubrid_err.msg 화일을 내려받습니다.

내려 받은 화일을 임의의 디렉토리에 저장합니다. 이 디렉토리는 PHP 에 CUBRID PHP module 에 대한 위치로 등록할 것이므로, PHP 를 설치한 디렉토리 아래 CUBRID 라고 디렉토리를 만들어 사용하는 것이 좋습니다. 본 예에서는 C:PHPCUBRID 에 저장하였습니다.

다음으로는 CUBRID 모듈에 대한 접근 권한을 IIS user 에게 부여합니다.
권한 부여는 해당 디렉토리를 우 클릭하신후 "속성" 을 클릭하여 속성보기로 들어가 "보안" 탭에서 "편집"을 클릭합니다.


"추가"를 클릭하고, "고급"을 클릭한 후, "지금찾기"를 클릭하여 등록되어 있는 사용자를 검색합니다.



검색결과중 "IIS_IUSRS" 을 선택하고, "확인" 을 클릭한 후, "사용자 또는 그룹 선택" 화면에서 "확인"을 클릭합니다.


그다음 "CUBRID 사용 권한" 창에서 IIS_IUSRS 를 선택한 후, 아래 창에서 "모든 권한" 에 "허용"을 체크한 다음 확인을 클릭합니다.

권한 부여창을 "확인"을 클릭하여 모두 닫은 후, 재부팅하면 됩니다.
재 부팅후 php.ini 를 수정하여 CUBRID module 에 대한 정보를 넣어줍니다. php.ini 는 앞서 본 phpinfo.php 를 통해 확인할 수 있으며 이중 Loaded Configuration File 에서 보여지는 php.ini(C:PHPphp.ini)를 수정하면 됩니다.

추가할 사항은 아래와 같습니다. 주의할 점은 extension_dir 을 새로운 라인으로 추가하면 않되고, 기존에 있는 정보를 수정해야 합니다. C:PHPCUBRID 아래에 cubrid2008_php5.2.dll, cubrid_err.msg 화일을 둔 경우를 예로 했습니다.
extension_dir="C:PHPCUBRID"
extension=cubrid2008_php5.2.dll
[CUBRID]
cubrid.err_path="C:PHPCUBRID"
적용후 IIS 를 재구동하여, 브라우져를 통해 phpinfo.php 를 확인합니다.
만약 아래와 같이 에러가 발생한다면 설정이 잘못된 것입니다. extension 으로 지정한 dll 의 이름이나, extension_dir 의 위치가 잘못되어 해당 dll 을 찾지 못하는 경우가 있습니다. 모든 정보가 이상이 없다면 CUBRID 모듈이 있는 디렉토리에 대하여 IIS_IUSRS 에 모든 권한이 부여되어있는지를 확인하여 권한을 부여하도록 합니다.

아래와 같이 CUBRID 에 대한 정보가 보이면 정상적으로 설치된 것입니다.
