IIS10 PHP와 PHP관리자 설치하기



    이제 IIS를 활용하기 위한 본격적인 준비단계 입니다. 지금까지는 IIS라는 웹서버를 설치하기 위한 과정이었다고 하면, 지금부터는 웹 사이트를 구축하고 웹 소스들을 설치하고 사용하기 위한 최소한의 준비과정이 된다고 보면 됩니다.




    웹 서버를 통해 WordPress 나 XE 같은 웹 소스들을 구동하기 위해서 두가지가 필요합니다.


    1. PHP

    2. DataBase


    PHP의 경우에는 5.x 버전에서 갑자기 PHP7으로 버전이 껑충 뛰어올랐습니다. 마치 윈도우8에서 윈도우10으로 뛰듯이요. 요즘은 뜬금없는 급격한 버전업이 유행인가 봅니다. 

    PHP 설치의 경우에는 선택의 여지가 없습니다. 반드시 설치해야, PHP 언어로 된 웹 소스들을 사용할 수 있습니다. 이 PHP뿐만아니라 컨테이너(확장자)들에 따라서 .asp(.aspx) .jsp 등등을 사용하는 웹 소스들이 있지만 대부분의 유명한 CMS 소스나 유용한 웹 소스들은 거의 대부분 PHP를 이용한다고 보면 됩니다. 언어가 쉬운편이라 개발하는데 용이한 것인지, 아니면 모든 웹서버에서 무난하게 돌아가기 때문인지는 모르겠지만 복합적인 이유라고 생각합니다.


    그리고 데이터베이스의 경우에는 선택의 폭이 아주 약간 있습니다.

    앞으로 다룰 내용에서는 MySQL을 가지고 설명할겁니다. MySQL을 설명하는 이유는 가장 폭넓게 사용되고 있고, 가장 무난하기 때문입니다. 물론 MySQL을 구축해왔던 핵심인력들이 Maria DB를 만들어서 종류가 나눠 집니다만 둘은 구조나 기능면에서 거의 비슷하기 때문에 남매DB라고 불리기도 합니다.


    그리고 상용 DB중에 유명한 DB는 MsSQL이 있습니다. 마이크로소프트에서 제공하는 데이터베이스이지요. 저도 써보지 않아서 더 이상 자세한 설명은 생략하겠습니다.


    이번 시간에는 위에서 말한 중요한 두개의 설치 목록 중 PHP를 쉽게 설치하고 관리할 수 있는 방법을 소개하고자 합니다.


    기본적으로 이 설치방법을 이용하기 위해서는 IIS가 설치되어 있어야 하며, 웹 플랫폼 설치관리자가 설치되어 있어야 합니다. 그리고, 윈도우 8.1을 이용해서 웹서버를 구축하는 과정에서도 설치법을 소개하였습니다. 왜 PHP 관리자를 설치해야 하는지에 대한 글도 적었으니 한번 참고를 해보시면 도움이 될 것 같습니다. 



    거의 과정은 비슷하나 이번 글에서 Windows10에 맞게 새로 작성했다고 보시면 됩니다.



    웹 플랫폼 설치 관리자에서 PHP 설치하기


    번거로움을 줄이고 싶다면 아래 PHP Manager 설치하기 내용 중 레지스트리를 먼저 등록하면 웹 플랫폼 설치 관리자를 통해서도 설치가 가능합니다. 그래서 레지스트리를 먼저 적용하고 이 내용을 진행하면 한번에 쉽게 해결할 수 있습니다.


    IIS에서 웹 플랫폼 설치 관리자를 이용해서 PHP를 검색을 합니다. 웹 플랫폼 설치 관리자와 실행법에 대해서는 지난 글을 참고하면 도움이 됩니다.




    웹 플랫폼 설치 관리자에서 우측 상단에 PHP를 검색합니다.





    그러면 아래처럼 PHP에 관련된 항목들이 쭈욱 나타나게 되는데 추천 설치 항목은 아래에 정리하였습니다.




    여기서 PHP 버전 2개와 윈도우캐시 2개를 설치합니다. 완전히 PHP 관리자까지 설치를 한다면 최종적으로는 세개의 PHP 버전이 생기게 되는데 그것에 관해서는 다음시간에 더 추가로 달아보도록 하겠습니다.

    설치할 목록은 이렇습니다.

    1. PHP 5.6.16 (PHP5는 필요합니다. 아직은 PHP7이 호환되지 않는 것들이 있거든요.)

    2. PHP 7 (아주 최신 웹 소스들은 PHP7을 사용하고 있고, 더 많은 웹 소스들이 사용될 예정입니다.)

    3. Windows Cache Extension 1.3 for PHP 5.6

    4. Windows Cache Extension 2.0 for PHP 7.0

    Windows Cache는 웹 페이지를 읽어들이는 속도를 빠르게 해주는 최적화 도구와 비슷하다고 생각하면 됩니다. 체감 상의 차이는 사람마다 환경마다 다르긴 하지만 설치해 두는 편을 추천합니다. 이전에도 윈도우 캐시와 관련해서 글을 남긴적이 있으니 살먼 살펴보는 것도 도움이 될 겁니다.



    이 글에서 예시로 설치한 버전들은 64비트를 기준으로 하였습니다. 운영체제의 아키텍쳐버전이 64비트라면 이 글을 따라해도 상관없지만, 만약 32비트 버전을 설치하였다면 x86으로 되어있는 것으로 설치해야 합니다.



    윈도우 8.1에 설치했던 과정과는 조금 달리, Windows10에서는 아무런 설정없이 웹 플랫폼 설치관리자에서 바로 PHP Manager를 설치하면 오류를 나타내며 설치가 되지 않습니다. 그래서 윈도우 10에서는 PHP Manager는 따로 설치를 해야 합니다.





    IIS10에서 PHP관리자 설치하기


    PHP 관리자를 설치하는 방법은 Windows10 TP 시절에 테스트를 해보고 급하게 해결방법을 작성한 적이 있습니다.




    PHP 관리자는 IIS상에서 각종 PHP에 관한 설정들을 쉽게 해줄 수 있는 아주아주 편리한 툴입니다. 개인적으로 IIS를 사용한다면 반드시 설치해야할 항목 1순위입니다. 하지만, 윈도우10에서 IIS10을 이용하다보면 쉽게 PHP 관리자를 설치 할 수가 없는데 그 이유는 제 생각에 이렇습니다.


    PHP관리자의 경우에는 IIS7 이상을 지원합니다. 하지만 7 이하의 버전의 경우에는 설치가 불가능하도록 조치를 취해놨는데 그것을 판단하는 기준은 레지스트리에서 키값을 토대로 판단합니다. 근데 그 버전을 판단하는 기준이 숫자만 인식하는것 같습니다. 실제로 레지스트리에서 관련항목을 들어가보면 MajorVersion에 버전 정보가 담겨있습니다.


    IIS10이기 때문에 당연히 10이 적혀있을 것 같지만, 레지스트리 항목에는 다릅니다.

    우리가 흔히 쓰는 10은 10진수이기 때문에 숫자로 판단하지만 레지스트리 항목들은 16진수로 판단합니다. 따라서 IIS 의 주 버전이 10이더라도 레지스트리에 적혀있는 버전은 10의 16진수인 a가 적혀있습니다.

    이런 이유로 인식을 못하는 것 같습니다.


    IIS7을 지원하는 IIS 툴들은 대부분 IIS8.5와 호환되었고, IIS10에서 설치가 불가능 했습니다. 아마 같은 이유라고 생각하고 있고, 앞으로 이 블로그에서 그 해결방법을 차근차근 포스팅 해나갈 예정입니다.


    그러면 정상적으로 설치를 하기 위해서는 레지스트리의 변경이 필수입니다. 이 레지스트리 변경과정 없이는 PHP Manager는 설치가 불가능 합니다.


    PHP 관리자를 설치하기 위해 레지스트리 편집기를 실행합니다. 레지스트리 편집기를 실행하는 방법은 다음과 같습니다.


    윈도우 키 + R (실행창 띄움)

    regedit 입력



    그리고 아래의 화면처럼 다음의 항목으로 찾아 갑니다.


    \HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\W3SVC\Parameters


    여기 않에 항목들 중에 MajorVersion 항목을 찾아보면 0x0000000a (10) 라고 되어있을 겁니다. 여기서 10진수인 DEX 값을 이용해서 7,8 9 중에 하나로 바꿔주면 됩니다. (물론 한자리이기 때문에 16진수로 해도 별 문제는 없습니다.)



    지금까지 IIS 버전은 16진수로 표현하나 10진수로 표현하나 모두 숫자로 되어있었는데 IIS10 부터는 16진수에서는 문자 a로 나타나지기 때문에 생기는 문제점이 아닌가 싶습니다. IIS 툴 중에서 이처럼 레지스트리 항목을 변경해야 하는 것들이 있긴 한데, 이 레지스트리항목은 PHP 관리자만 관계가 있는 듯보입니다. 다른 툴들은 다른 부분의 설정을 변경하지요.

    편의상 간단하게 설정가능하도록 레지스트리 파일을 첨부하였습니다.


    IIS10에서 PHP 관리자를 설치하기 위한 레지스트리 파일입니다. PHP 관리자 설치 완료후에 다시 원래대로 돌려 놓는 것을 추천합니다.


    PHP Manager 설치 가능하게.reg

    PHP Manager 설치전 원래대로.reg


    또한, 편의를 돕고자 PHP Manager 1.2 설치파일도 준비하였습니다. 귀찮에 일일이 찾을 필요없이 여기에서 다운로드 받으시면 됩니다. 

    (출처 : https://phpmanager.codeplex.com/releases/view/69115)



    PHPManagerForIIS-1.2.0-x64.msi

    64비트 운영체제

    PHPManagerForIIS-1.2.0-x86.msi

    32비트 운영체제




    PHP Manager를 설치할 때는 꼭 Windows 기능 켜기/끄기 메뉴를 통해 .NET Framework 3.5를 설치 먼저 해야합니다.





    PHP Manager 설정하기



    PHP 관리자를 설치하고 나면 실제 IIS에서 제대로 실행이 되어있는지 확인해 봐야 합니다. IIS를 실행하면 다음과 같이 PHP Manager라는 새 항목이 생성됩니다. 이제 이 항목에서 모든 PHP 관련된 설정을 관리 할 수 있습니다.







    맨 처음 실행시키면 아래와 같이 알림이 나타나게 됩니다. 이 알림은 기본적으로 PHP를 사용하는데 필요한 추천 설정을 제시해주고 변경하라고 권고하는 메시지 입니다. 여기에  View Recommendations 항목을 클릭해보면 더 자세하게 알아볼 수 있습니다.






    실제로 클릭해보면 아래와 같이 변경할 점을 알려줍니다. 알려주는 것으로 끝나는 것이 아니라 아래처럼 변경해야 하는 항목들이 나열되며 체크박스를 통해 자동으로 설정을 변경해줍니다.





    참고로, 처음 IIS를 설치하고 바로 PHP 관리자를 설치하면 위와 같은 경고가 나타나는데 설명을 하자면 이렇습니다.


    1. 기본문서를 Default.htm (IIS 기본)에서 index.php 변경

    2. FastCGI 설정중에 일부 잘못된 항목을 수정


    체크박스에 체크를 하고 확인을 누르면 자동으로 변경해줍니다.



    PHP 관리자까지 설치완료하면 PHP를 사용하기 위한 준비는 모두 마쳤다고 생각하면 됩니다. 다음 시간에 PHP 버전 변경하는 방법과 추천하는 PHP 설정에 대해서 설명하도록 하겠습니다.






    저작자 표시 비영리 변경 금지
    신고
    Posted by Study For Us clamp2x
    • 일렉이
      2016.04.03 14:10 신고

      안녕하세요
      현재 Windows 10 Pro x64 (빌드 10586) 사용중입니다.
      "IIS용 PHP 관리자"는 본문에 나온 레지스트리 수정으로 설치 했는데
      "IIS URL 재작성 모듈 2"는 '제품이 제대로 설치되지 않았습니다. IIS URL 재작성 모듈 2을(를) 설치하려면 IIS 버전 7.0 이상이 있어야 합니다.'라는 오류 메시지를 내뿜으며 설치가 되지 않습니다.
      이거는 어떻게 설치하시는지 아시나요? 감사합니다.

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.04.03 14:21 신고

        현재 포스트 준비 중인 내용중에 하나이지만 먼저 알려드리자면,
        레지스트리 에서
        HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\InetStp
        이 경로를 찾아 MajorVersion을 위와 비슷하게 변경하면 됩니다.^^

      • 일렉이
        2016.04.03 14:29 신고

        말씀해주신 레지스트리 수정했더니 설치가 되네요 ㅎㅎ
        이렇게 번거로운 작업 없게 개발자들이 최신OS(윈10) 공식지원을 서둘러주길 바래봅니다 ㅎㅎ
        감사합니다 :)

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2016.05.04 13:28 신고

        도움이 되었다니 다행이네요. ^^

    • Favicon of http://empty.empty BlogIcon 지나가다
      2017.04.20 16:21 신고

      우와 개 쩔어!! 네이버 검색해서 읽어 봤는데 정말 친절하고 자세하게 설명 하셨네요!! 컴맹도 다 따라하겠다!! 짱이예요!!

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.04.21 12:19 신고

        보통 '지나가다'라는 이름으로 글을 남기면 좋은 내용으로 적고 가시는 일이 없는 편이어서 긴장했는데 칭찬글이네요. 감사합니다. ^^

    • ninggen
      2017.05.06 04:57 신고

      개인적으로 해야할 일이 있어서 하나씩 보면서 따라하고 있는데 너무 좋은 글 감사합니다.
      하나하나 친절한 글에 아직까지 막힘 없이 잘 따라하고 있습니다~

      그런데 PHP Manager 설치 후에 들어갔을 때 위와 같이 View ~~ 가 나오지 않고
      PHP is not enabled. Register new PHP version to enable PHP via FastCGI.
      라고 뜨는데 어떻게 해야 하나요?
      PHP version, PHP executable 모두 Not available 라고 적혀 있고 그 아래에는
      Register new PHP version 이라는 메뉴만 활성화 되어 있습니다 ㅜㅜ

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.05.06 11:51 신고

        새 php버전을 등록하면 됩니다. 이 블로그 php카테고리에 관련 내용들이 있습니다. ^^

    • BlogIcon 분양
      2017.09.04 14:53 신고

      여기 글은 100개 넘개 본 거 같습니다. 어렵게 iis 서버를 구축했습니다. (난독증이 있어서..)
      어제 맨붕온게 윈도우 10 iis 동시 접속자가 10명 이란 글을 보고 정말 놀랐습니다.
      iis에 사이트 20개 정도를 운영중이며, 10개는 파워링크를 합니다.(10명만 접속이 가능했다란 생각을 하면...그래서 어쩔땐 무지 느렸던가란 생각이......)
      현재 서버가 윈도우10 개인용pc i5에 ssd512 램 32기가를 사용중인데, 이것을 라이젠 1700x, 500ssd, 램32기가. 윈도우서버 2016에 iis 구축하면 속도가 빨라질까요.
      뭐 별거 없는 사이트라 나머지는 속도가 그냥그냥 나오는데, 워드프레스로 만든 제일 중요한 사이트 1개가 속도가 느려서 바꿔보려고 합니다...

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.09.04 19:24 신고

        원래 쓰던 컴퓨터에서 윈도우 서버 깔고 쓰셔도 충분히 빠를겁니다. 하지만 본격적으로 서버를 구축해서 전용으로 서버역할을 하는 컴퓨터를 따로 보유한다면 리눅스 서버로 구축하는 것을 추천드립니다. IIS에 익숙해지셨다면 호스팅 패널 하나 설치하세요. 관리도 쉽고 설정도 쉽습니다. ^^

    • 컴터박
      2017.09.07 18:44 신고

      긴 글 쓰느냐고 많이 고생하신 것 같은데 정말정말 감사합니다. 많은 도움 되었어요!!^^ 그런데 저는 윈도우8.1 환경으로 작업하는데 비슷하게 진행하면 될까요?

      • Favicon of http://studyforus.tistory.com BlogIcon Study For Us clamp2x
        2017.09.07 19:45 신고

        네. 이 블로그 초반의 글들은 8.1기반으로 작성했습니다. 블로그 초반 글들을 보시면 됩니다. ^^

티스토리 툴바