Korea Evangelist

Developer & Platform Evangelism, Microsoft Korea

[PHP개발] 후덜덜~ 진짜? WebMatrix로 깔끔하게 PHP 개발이 가능?

[PHP개발] 후덜덜~ 진짜? WebMatrix로 깔끔하게 PHP 개발이 가능?

  • Comments 3

안녕하세요. 코난 김대우 입니다.

웹 개발을 해 오신 분에게는 약간 의아 할지도 모르겠습니다.

- “오잉? 마이크로소프트 웹 개발 도구인 WebMatrix로 PHP 개발이 가능해? 그래 봐야 어플리케이션 동작도 안되는 거 투성이겠지…”

조금만 다르게 봐 주셔도 좋을 것 같습니다.

 

WebMatrix는

- WebMatrix는 완전한 무료 개발 플랫폼으로, 하나의 도구에서 웹서버, 개발, 배포, DB작업이 가능합니다. 
- WebMatrix는 무료로 제공됩니다.
-  WebMatrix로 PHP 개발은 APM 기반 구성만큼 쉽고, 빠르게 PHP 개발 환경을 지원합니다

 

아~ PHP 개발자셔서 WebMatrix 가 생소 하시다면, 이에 대한 소개는 아래 내용을 참고 하세요.

 

(1) WebMatrix와 Razor! 이제 시작합니다.
(2) WebMatrix 설치부터 Hello World까지
[동영상 강좌] (1) WebMatrix 첫 실행 & Hello World까지 달려요~
[동영상 강좌] (2) WebMatrix 5분 리뷰~

서론이 길었나요? 이제 PHP 개발을 위한 개발 환경 구성을 알아 보도록 하겠습니다.


(1) WebMatrix에서 PHP를 개발하기 위한 개발환경 구성
사실 쉬운 방법으로 설치할 경우에는, 클릭질 몇 번이면 5분 만에 끝나서 뭐라 말씀 드리기 부끄럽습니다. 쿨럭.
WebMatrix로 PHP를 개발하기 위한 “쉬운” 환경을 구성 하시려면 아래 링크를 통해 그냥, WordPress를 설치 하시길 권장해 드립니다.(추천 드립니다.)
WordPress 어플리케이션을 설치 하시면 자동으로 PHP구동을 위한 모든 요소들을 자동 설치하고, WebMatrix에 포함된 웹서버인 IIS Developer Express에 PHP 세팅도 자동으로 완료 합니다. – 너무 쉽나요. ^_^;;;
쉬운 PHP 개발 환경 구성을 원하시면, 아래 문서를 보시고, WebMatrix에서 WordPress를 설치 하세요. PHP 개발 경험이 있으시니 아주 쉬우실 거에요.
PHP 구성 : WordPress를 5분 안에 설치 완료하는 방법 - WebMatrix 설치
쭉~ WordPress 설치 강좌를 보시면 느끼실 겁니다. 와우~ 분명 PHP로 만들어진 오픈 소스 블로그인 WordPress가 WebMatrix에서 아주 잘 동작하지요.  당연히 저랑 같이 진행하는 것도 잘 될거라는 느낌이 오시겠지요? 그럼 이제 저와 함께 빈 웹사이트를 하나 만들고 phpinfo(); 를 날려 보도록 하지요.


(2) 비어있는 웹사이트를 만들고, PHP 환경을 구성합니다.
image
빈 웹사이트를 만들기 위해, WebMatrix에서 왼쪽 맨 위의 메뉴를 클릭하고, Site From Template를 선택합니다.

image
Empty Site를 선택하고, 웹사이트 이름은 PHP Test로 짓겠습니다.

image
PHP Test 웹사이트가 만들어진 게 보이실 겁니다. 이제 PHP 파일을 추가 해야지요. 왼쪽 하단의 Files를 선택합니다.

image
이렇게 폴더 구조의 화면이 보이실 거에요. “Add a file to your site”를 클릭하시거나 New를 통해 파일을 추가합니다.

image
아쉽게도 “아직 까지는(많은 의미가 있지요? ^_^;;;)” 파일 포맷에 PHP를 공식 지원하지는 않습니다. 하지만 가능 하다는 거!!!
파일 이름은 HTML을 고르시고, 아무렇게나, 저는 phpinfo.php 파일로 했습니다.

image
PHP개발자라면 처음 PHP 설치 여부 테스트를 위해 늘상 돌려 보시는 phpinfo();를 실행합니다. 저장하시고 F12를 누르시거나, 왼쪽 위의 Run 버튼을 누르시면 실행됩니다.

image
PHP가 아주 자알~ 동작 합니다~


(3) 어떤 PHP가 설치된 겁니까? PHP 코드 하일라이팅 기능 등의 환경도 지원하나요?
WordPress를 설치하는 화면을 자세히 보신 분은 아실 겁니다.
WebMatrix의 “웹 플랫폼 설치 관리자” 기능을 통해 다운로드한 모든 PHP 구동을 위한 파일은, 공식 웹사이트(PHP나 MySQL, WordPress 설치 파일들 모두)에서 공식 버전을 자동으로 다운로드해 설치되며, 설정 파일이 변경된 커스텀 패키징이나 다른 수정 패키지를 이용하지 않습니다.

공식 버전이기 때문에 설정 파일도 따로 가공되어 있지 않고 설치되는 것이 장점입니다. – 배포할 경우에 장점이 되지요. WebMatrix에 포함된 웹서버는 아파치가 아닌 마이크로소프트의 웹서버인 IIS가 설치되어 있으며, PHP 구동을 위한 환경을 제공합니다.
혹시, 알고 계신지요? 지금 보고 계신 이 SQLER 웹사이트도 PHP기반 XpressEngine이 IIS에서 PHP on Windows로 오늘도 자알~ 구동되고 있습니다.

PHP를 IIS에서도 잘 돌리실 수 있으며 다른 웹서버나 플랫폼들에 비해 여러 장점들을 제공합니다. – 곧 상세한 포스트로 풀어 보도록 할게요. PHP 개발자들이 참고하셔도 좋을 IIS에 대한 포스트는 phpschool에서 제공되고 있는 IIS 강좌와 여기, SQLER에서 제공되는 IIS 강좌를 참고 하시길 바랍니다.

PHPSchool의 강좌 게시판에서 제공되는 IIS 강좌 : http://phpschool.com/gnuboard4/bbs/board.php?bo_table=teach
SQLER에서 제공되는 IIS 강좌와 팁 게시판 : http://www.sqler.com/bIISLec

image
PHP 코드 하일라이팅 기능이나 PHP 테스트 & 실행, 배포를 환경을 모두 지원합니다. SEO 분석이나, 오류 로깅, DB연동 등의 자세한 WebMatrix의 기능은 아래 링크를 참고하세요.

(1) WebMatrix와 Razor! 이제 시작합니다.
(2) WebMatrix 설치부터 Hello World까지
[동영상 강좌] (1) WebMatrix 첫 실행 & Hello World까지 달려요~
[동영상 강좌] (2) WebMatrix 5분 리뷰~

 

(4) WordPress 설치를 하지 않고 PHP를 WebMatrix에 구성하는 방법
WordPress를 설치하면서 자동으로 PHP가 IIS에 구성된다고 말씀 드렸는데요. 개발자는 어떤 구성이 이루어지는지 알아야겠지요.
아주 간단합니다. 정확히는, WebMatrix의 문제가 아니라, WebMatrix에 포함된 개발용 웹서버인 IIS Developer Express의 config 파일을 변경해 php 모듈이 동작하게 돕는 것이지요.

- WebMatrix를 처음 설치 완료하신 상태
- PHP를 공식 사이트에서 다운로드 받으시고“c:\php” 에 설치
- WebMatrix에 기본 포함된 웹서버인 IIS Developer Express의 config  구성 파일 두 군데 수정이 필요합니다.
이 WebMatrix의 IIS 구성 파일은 이 경로에 위치하고 있습니다.
C:\Users\[현재로그인한 사용자]\Documents\IISExpress8\config  폴더의 applicationhost.config 파일을 메모장으로 열어 주세요.

<fastCgi />

위의 한 줄을 아래로 변경해 주세요.

<fastCgi>
    <application fullPath="C:\PHP\php-cgi.exe"
                 activityTimeout="600"
                 requestTimeout="600"
                 instanceMaxRequests="10000">
        <environmentVariables>
            <environmentVariable name="PHP_FCGI_MAX_REQUESTS"  value="10000" />
            <environmentVariable name="PHPRC"  value="C:\PHP" />
        </environmentVariables>
    </application>
</fastCgi>

주의 하실 것은, C:\php 폴더에 PHP를 설치 하셨을 경우 입니다. 만약 다른 폴더라면 위의 두 군데 PHP 설치 경로를 수정해 주세요.
참고로 이 작업은 IIS가 FastCGI로 PHP를 실행 하도록 매핑 해주는 작업입니다.

이 config 파일의 맨 마지막 라인이 아래처럼 되어 있을 겁니다.

</configuration>

이 부분을 아래처럼 수정해 주세요.
즉,  <configuration> 위에 <localtion path="PHPSite"> 부터 시작되는 라인들을 추가하는 거에요.

...
<location path="PHPSite">
<system.webServer>
       <handlers>
              <add name="PHP via FastCGI"
                   path="*.php" verb="*"
                   modules="FastCgiModule"
                   scriptProcessor="C:\PHP\php-cgi.exe"
                   resourceType="Either" />
       </handlers>
</system.webServer>
</location>

</configuration>

참고로, 이 작업은 IIS의 처리기(Handler)로 php 확장자를 가진 파일에 대한 요청을 실행하는 처리기(php-cgi)를 구성하는 작업입니다.
이렇게 수행하시고, 마찬가지로 위에서 수행한 PHP 파일을 만들고 phpinfo();를 실행하시면 PHP가 잘 동작하는 게 보이실 겁니다.

 

(5) WebMatrix로 MySQL 데이터베이스를 GUI 기반으로 처리(테이블 생성, 조회, 쿼리 등의 작업 가능)
GUI기반 테이블이나 데이터베이스 툴이 없는 MySQL은 저처럼 GUI기반 툴이 익숙한 사람에게는 고역입니다.  특히, 명령프롬프트에서 mysql.exe를 가지고 쿼리 짤때는 저같은 정말 머리 터지는데요… 쿨럭…
WebMatrix를 이용하시면 이렇게 PHP로 자주 사용되는 MySQL DB 뿐만 아니라, MSSQL도 쉽게 연결해 GUI기반 관리 작업이 가능합니다.
image

왼쪽 아래의 “Databases”를 선택하고, 상단의 “New Connection”을 실행하면 이렇게 DB 커넥션 설정 화면이 나옵니다. 이어서, MySQL 접속 정보를 넣으시면 아래와 같은 화면을 볼 수 있습니다.

image
GUI 기반 테이블 데이터 조회 – 테이블에서 Data를 누르거나 테이블을 더블클릭 하면 됩니다.

image
Definition을 하시면 이렇게 테이블 디자인 화면이 나옵니다. - GUI 기반 테이블 디자인 생성이나 수정

image
SQL 쿼리 수행을 위해서는 상단의 “New Query”를 누르고 수행할 쿼리를 쿼리 창에 넣은 후 “Execute”나 F5를 누르면 쿼리가 실행되어 결과창에 결과가 표시 됩니다.  이렇게, MySQL이나 MSSQL DB기반 작업을 GUI로 처리 가능한 무료 툴이 WebMatrix입니다.

개인적으로 MySQL 기반 개발 하시는 분들에게는 큰 메리트가 아닐까 생각됩니다.

 

(6) PHP 어플리케이션 배포(Deploy) – FTP 방식 등을 자체에서 지원
WebMatrix는 만든 PHP나 웹 어플리케이션을 쉽게 배포할 수 있도록 배포 기능을 기본 포함하고 있습니다.

WebMatrix17.png
이렇게 Publish를 하시면 됩니다. – 또는 즉석에서 호스팅 서비스를 찾을 수도 있습니다.(현재 호스팅 서비스 찾기는 해외만 지원됩니다.)

image

배포는 이렇게 FTP와 FTP/SSL 방식, Web Deploy 방식을 지원합니다. Web Deploy 방식은 약간 생소하실지 모르겠습니다만, IIS 웹서버에서 웹 배포 도구를 설치하시고 통신할 수 있는 기능입니다. FTP방식 등은 아마 익히 잘 알고 계실 거에요. 서버 정보나 로그인 정보 등을 넣으시면 바로 만드신 PHP 어플리케이션 배포가 가능해집니다.

이렇게 WebMatrix의 PHP 개발 기능을 간단히 살펴 봤습니다. 어떠세요? 도움이 되셨는지 모르겠습니다. 

- WebMatrix는 Razor는 물론,  PHP도 웹서버 + 데이터베이스 GUI 관리  + 개발 + 배포 과정을 하나의 툴에서 수행 가능한 통합 개발 환경입니다.
- WebMatrix 안에 자체 내장된 IIS Developer Express를 이용하면 가볍고 빠른 개발용 웹서버 기능에 PHP도 완전하게 지원합니다.
- MSSQL은 물론 MySQL과 같은 데이터베이스 역시 WebMatrix에서 쉽고 편한 GUI 기반으로 보면서 DB관리와 개발이 가능합니다.
- 배포 도구도 내장되어 있어 개발 후 즉시 배포해 테스트가 가능합니다.

도움이 되셨는지 모르겠네요. WebMatrix로 PHP를 개발하시면 많은 도움 되실 겁니다.

상세히 설명 드렸으니 꼭 저처럼 수행해 보시고 궁금하신 점이나 필요하신 점을 댓글로 말씀 주시면 최선을 다해 도움 드리겠습니다.
좋은 하루 되세요.

 

참고자료 :
(1) WebMatrix와 Razor! 이제 시작합니다.
(2) WebMatrix 설치부터 Hello World까지
[동영상 강좌] (1) WebMatrix 첫 실행 & Hello World까지 달려요~
[동영상 강좌] (2) WebMatrix 5분 리뷰~
http://ruslany.net/2010/07/install-php-applications-with-webmatrix/
http://blogs.msdn.com/b/brian_swan/archive/2010/07/12/creating-php-websites-with-webmatrix.aspx
WordPress를 5분 안에 설치 완료하는 방법 - WebMatrix 설치
마이크로소프트 웹 플랫폼 - (2) 마이크로소프트 웹 플랫폼은 무엇인가?
[1-1] Microsoft 웹 플랫폼 설치 관리자(Windows Platform Installer)
[1-2] PHP 어플리케이션을 위한 IIS 웹 서비스 설치 및 구성
[1-3] SQL Server Driver for PHP 설치
[1-4] 인터넷 정보 서비스 관리자의 웹 사이트 기능 소개
[1-5] 인터넷 웹 서비스를 위한 Internet Information Services (IIS) 7 의 소개

Leave a Comment
  • Please add 6 and 7 and type the answer here:
  • Post
  • 저도  WordPress를 웹플랫폼에 설치했었는데 WebMatrix에서 함 열어봐야겠네요 ㅎㅎ

  • WebMatrix에서 php를 사용하기 가장 꺼려지는 이유는 Eclipse PDT에는 있는 자동완성(Code Assist)을 사용할 수 없기 때문입니다.-_-

    저도 처음에 설치하고 '와 이거 획기적인데?' 하며 흥분을 감추지 못했지만, 막상 php 영역 들어서자마자 아무리 ctrl+space를 해도 아무것도 뜨지 않는 공허함. 예압~ -_-

    php 자동완성 없이는 웹매트릭스를 이용하기는 힘들지 않을까 싶네요. 일반 html 구문은 자동 완성이 된다지만...

  • blogs.iis.net/.../webmatrix-2-beta-released.aspx

    PHP 인텔리센스 지원 부분도 나아지고 있으니 다음 정식 버전에서는 한결 편안할 것 같습니다.

Page 1 of 1 (3 items)