PHP 설치에 필요한 구성요소 목록 및 다운로드
- 최신 버젼의 .NET Framework 3.5 설치
XE를 설치하기 위해서 이용되는 여러 설치 편의 응용프로그램과 웹서버의 성능 향상에 도움이 되는 구성요소를 설치합니다.
다운로드 : http://www.microsoft.com/downloads/details.aspx?displaylang=ko&FamilyID=ab99342f-5d1a-413d-8319-81da479ab0d7 - FastCGI 업데이트 설치 - Update for IIS 7.0 FastCGI
module
IIS7에 기본포함된 FastCGI의 최신 보안 업데이트 및 기능 향상 버젼을 설치합니다.
다운로드 : http://www.microsoft.com/downloads/details.aspx?FamilyID=d0343911-1775-4aef-8c99-5f13862ac386&DisplayLang=en - IIS7 관리자 패키지 설치 - Administration Pack for IIS
7.0
IIS7에서 PHP를 이용하기 위해 필요한 FastCGI 설정 편의를 제공합니다.
다운로드 : http://www.iis.net/downloads/default.aspx?tabid=34&i=1682&g=6 - 최신 버젼의 PHP 버젼 다운로드 - 이 문서는 PHP 5 버젼 이상을 기준으로 작성
되었습니다.
IIS7에서 최적의 성능을 제공할 수 있는 PHP 5패키지를 다운로드 합니다. 다운로드 하실 버젼은 반드시 "non-thread safe"로 구성된 ZIP 패키지를 다운로드 합니다.
다운로드 : http://www.php.net/downloads.php - PHP 5버젼 Non-Thread-safe zip package 다운로드 - 최신 버젼의 MySQL 다운로드
다운로드 : http://dev.mysql.com/downloads/
MySQL은 최신의 안정 버젼인 5.1 버젼을 구성 하실 것을 권장해 드립니다. - Windows 2008과 호환되며, 방화벽 자동 설정이 설치시 포함되어 있습니다. MySQL을 Windows에서 설치하는 과정은 온라인에서 검색해 보시면 쉽게 확인 가능합니다. - URL Rewrite 설치
사용자 및 검색엔진에 편의성을 제공하는 링크를 제공합니다. XEe에서 IIS7용 URL Rewrite 모듈을 이용해 편의 링크를 제공합니다.
다운로드 : http://www.iis.net/downloads/default.aspx?tabid=34&g=6&i=1691
IIS7의 웹서버 역할을 추가합니다.
관리도구 - 서버 관리자 실행 - "역할" 선택 후 "역할추가" - "웹 서버" 선택
"응용프로그램 개발" 역할 추가
FTP로 파일 처리가 필요할 경우 "FTP 게시 서비스" 선택 후, 자동으로 선택되는 서비스 추가
IIS7에서 PHP실행하기 위한 설치 완료 확인
FastCGI는 웹서버인 IIS7에서 PHP 실행을 최적화하기 위한 처리 실행 어플리케이션 입니다.
위 과정에서 기본적으로 설치되나 최신의 보안 업데이트를 구성 하실 것을 권장합니다.
- 설치 구성요소 항목 2) FastCGI 업데이트 설치 - Update for IIS 7.0 FastCGI module 을 실행해 설치합니다.
이어서 FastCGI 구성 편의를 위한 3) IIS7 관리자 패키지 설치 - Administration Pack for IIS 7.0을 설치합니다.
- 설치 구성요소 항목 3) IIS7 관리자 패키지 설치 - Administration Pack for IIS 7.0을 실행해 설치합니다.
설치 옵션은 기본인 Typical로 설치 하시면 완료되며, 필요하실 경우 Custom 설정 역시 가능합니다.
공식 PHP 사이트에서 다운로드한 PHP 5버젼 Non-Thread-safe zip 패키지의 압축을 원하시는 경로에 풀어 주세요.
편의를 위해 "C:\PHP" 폴더를 만들고 여기에 압축을 풀었습니다.
이어서, "php.ini-recommended" 파일을 "php.ini"로 파일명을 변경합니다.
IIS7에서 PHP를 실행하기 위해 수정할 항목은 아래와 같습니다.
fastcgi.impersonate = 1
cgi.fix_pathinfo=1
cgi.force_redirect = 0
open_basedir 는 XE가 위치할 폴더 경로 입니다.
open_basedir = c:\xe
extension_dir = "./ext"
extension=php_mysql.dll
extension=php_mssql.dll
extension=php_gd2.dll
upload_tmp_dir은 파일 업로드시 임시로 저장되는 경로 입니다. IIS7의 작업자 계정인 "IIS_IUSRS"에 대해서 "모든 권한" 설정이 필요합니다. 파일이나 이미지 업로드를 위해 반드시 설정해야 하며, 저는 c:\tempupload 폴더로 지정 했습니다.
upload_tmp_dir = c:\tempupload
모든 설정을 완료하면 파일을 저장합니다.
업로드 임시 폴더 권한 설정 방법 - tempupload 폴더 설정
탐색기의 tempupload 폴더에서 마우스 우클릭 후 "속성" 실행. "보안"탭 선택 후 "편집" 실행. "추가" 버튼 클릭
선택할 개체 이름에 "IIS_IUSRS" 선택 후 "이름 확인" 수행
IIS_IUSRS 선택 - 사용 권한 항목의 "모든 권한" 허용에 체크 후 확인
이제 PHP 구성 및 업로드 폴더 구성 처리가 완료 되었습니다. PHP 설정 확인을 위해 "명령 프롬프트"를 실행하시고 PHP가 설치된 c:\php 폴더로 이동 후 "php -info"를 실행해 php.ini 파일 설정이 정상인지 확인합니다.
윈도우의 "시작" 버튼 클릭 - "실행" - "cmd" 타이핑 후 확인. "명령 프롬프트"에서 "cd c:\php" 실행 후 "php -info" 실행 후 결과 확인
IIS7이 PHP 요청을 처리하기 위해서 PHP 처리기 구성을 실행해야 합니다.
관리도구 - IIS(인터넷 정보 서비스) 관리자를 실행합니다.
IIS 관리자에서 좌측 연결 항목의 서버를 선택 후 "처리기 매핑"을 실행합니다.
"모듈 매핑 추가"를 선택 후 아래 항목을 입력 합니다.
요청경로 : *.php
모듈: FastCgiModule
실행 파일: "C:\php\php-cgi.exe"
이름: PHP FastCGI
* 실행 파일 경로는 PHP가 설치된 경로의 php-cgi.exe 파일 입니다.
"모듈 매핑 추가" 확인 창이 나오면 예를 선택해 다음을 진행합니다.
IIS7이 PHP 요청을 처리 가능한지 확인하기 위해 다음을 수행합니다.
메모장 응용프로그램을 실행 후 아래 내용 1줄을 입력합니다.
<?php phpinfo(); ?>
C:\inetpub\wwwroot 폴더에 phpinfo.php 파일로 저장합니다. 인터넷 익스플로러 브라우져를 열고 http://localhost/phpinfo.php 를 실행합니다.
실행 후 위의 화면이 보이면 PHP 처리기 구성이 완료된 것입니다.
* 이 내용은 IT전문가를 대상으로 작성 되었습니다.
II7에서 최적의 성능을 끌어내기 위한 방법으로 여러 가지 방안이 권장되고 있습니다. 특히, 웹사이트 안정성을 위해 사이트별 보안 격리 작업을 수행 가능하며, 사이트당 개별 응용프로그램 풀 설정 등의 IIS7 모델을 이용한 방법도 제공됩니다.
PHP에서 제공되는 PHP_FCGI_MAX_REQUESTS 처리와 유사하게, IIS7의 FastCGI 에서도 instanceMaxRequests 설정 값을 통해 FastCGI 리사이클링을 조절 가능합니다.
이와 관련된 상세한 설정 방법은 아래 링크를 참조 하시길 바랍니다.http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#BestPractices
* 이 내용은 IT전문가를 대상으로 작성 되었습니다.
호스팅 환경이나 회사내 환경에서는 어플리케이션 종속성에 의해, 특정 버젼의 PHP를 하나의 시스템에서 운영해야 하는 경우(Multiple PHP Versioning) 가 흔히 발생합니다. IIS7에서 역시 이러한 PHP Versioning을 수행 가능하며, 원하시는 갯수 만큼의 PHP 버젼을 하나의 IIS7에서 운영 가능합니다. 또한, 각 버젼별 어플리케이션의 성능 향상과 프로세스 격리를 위해 응용프로그램 풀을 버젼별로, 또는 웹사이트 별로 설정 가능합니다. 이와 관련된 설정은 아래 링크를 참조 하시길 바랍니다.
http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#PHP_Versioning
* 이 내용은 IT전문가를 대상으로 작성 되었습니다.
IIS7의 FasfCGI를 통해 PHP의 설정 파일인 php.ini의 보안 설정을 그대로 적용 가능합니다. 보안 권고 사항은 아래 내용을 참고 하시길 바랍니다.
http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#PHP_Security_Recommendations_
* 이 내용은 IT전문가를 대상으로 작성 되었습니다.
호스팅 환경일 경우 필수적인 구성 확인 사항입니다. 하나의 시스템에 수많은 PHP 웹사이트를 호스팅 가능하며 php.ini 파일의 open_basedir 설정을 웹사이트별로 동적으로 조절하거나 PHP 처리기를 동적으로 웹사이트별로 매핑 역시 가능합니다. php.ini 파일의 환경 변수(environment variable)를 이용해 설정 값 여부로 처리 역시 가능합니다. 아래 자료는 호스팅 비지니스를 하시는 분들에게 유용한 여러 사이트를 구성하는 정보를 담고 있으니 도움 되시길 바랍니다.
http://learn.iis.net/page.aspx/246/using-fastcgi-to-host-php-applications-on-iis-70/#Per-site_PHP_configuration
사용자 편의 URL(user friendly link URL) 및 검색엔진 편의 링크(search engine friendly URL)를 제공합니다.
XE는 IIS7용 URL Rewrite 모듈을 이용해 편의 링크를 제공합니다.
'Infrastructure' 카테고리의 다른 글
IIS7 + FastCGI + PHP + MySQL 설치 문서 (0) | 2009.04.13 |
---|---|
윈도우 2008서버에 XE 설치 절차 (4) | 2009.04.13 |
PHP를 Windows 서버에서 사용하려면 (CGI, ISAPI, FastCGI) (0) | 2009.04.13 |
PHP를 Windows Server 2008에서 구동하기 (0) | 2009.04.13 |
Windows에서 PHP를 구동하기 위한 FastCGI 베스트 프랙티스 (0) | 2009.04.13 |