php background image

[ PHP ] 로컬 개발환경 구축1 – APM

윈도우에 PHP개발 환경을 구축할 경우 보통 WAMP나 Autoset과 같은 프로그램을 설치하여 웹서버 환경을 구축한 후 개발하게 된다. 하지만 개발자라면 APM의 구조를 이해하고 개별적으로 관리할 수 있어야 한다. 물론 리눅스에 개발환경을 구축하는 것이 가장 좋은 방법이기는 하지만, 업무상 윈도우를 사용할 일이 많은 경우 이렇게라도 해서 개발환경을 이해하고, 궁극적으로는 서버의 환경을 이해하는 것이 개발자로서 많은 도움이 될 것이다.
이 번에는 윈도우에 PHP와 MySQL 그리고 Apache웹서버를 직접 설치하는 방법을 설명한다.

1. PHP, MySQL, Phpstorm 최신버전을 다운로드 받는다.

(1) PHP : http://windows.php.net/download/
2017년 5월 5일 현재 버전은 PHP 7.1 (7.1.4)이다. 물론 자신의 개발 환경이 7.x가 아니고 5.6또는 그 이하라면 해당 버전을 다운로드 받으면 된다.
이번에는 64bit용인 ‘VC14 x64 Thread Safe (2017-Apr-12 02:21:00)-Zip'(23.17MB)을 다운받아 사용한다.
(2) MySQL : https://dev.mysql.com/downloads/windows/installer/
사이트에 접속하여 ‘Windows (x86, 32-bit), MSI Installer'(18.5MB)를 다운로드 받는다. 2017년5월5일 현재 버전은 5.7.18이다.
‘Download’버튼을 클릭하면 로그인하거나 회원가입을 하라는 메시지를 볼 수 있으나 하단의 ‘No thanks, just start my download.’를 클릭하면 회원이 아니어도 다운로드 받을 수 있다.
(3) Apach : https://www.apachelounge.com/download/
위 링크에 접속하여 ‘httpd-2.4.25-win64-VC14.zip'(14.4MB)를 다운로드 받는다.

2. PHP 설치

(1) 압축풀기
압축은 원하는 곳에 풀어주면 된다. 여기서는 C의 root에 압축을 풀었다는 가정하에 설명한다.
(2) PATH 추가하기
‘고급 시스템  설정 보기’를 검색하여 실행하면 ‘시스템 속성’창이 뜬다. ‘고급’텝에서 ‘환경 변수(N)…’버튼을 클릭하고, 환경변수 창이 뜨면 상단의 ‘사용자 변수’의 ‘새로 만들기(N)’버튼을 클릭한다. 여기서 변수이름(임의의 이름 : ‘PHP’)과 변수 값(경로 : ‘c:\php’)을 입력하고 확인버튼을 누른다. 혹은 다른 변수에 편집을 통해 변수 값만 추가해 줘도 된다. 추가할때는 세미콜론(;)으로 구분해 준다.
다음으로 아래쪽 ‘시스템 변수(S)’창을 스크롤 하면서 Path가 있는 부분을 찾아 선택하고, ‘편집’버튼을 클릭한다. 환경변수 편집창이 뜨면, 창 우측의 ‘새로 만들기(N)’ 버튼을 클릭한다. 여기에 PHP경로를 입력하고 확인을 누른다. (예)c:\php
이제 먼저 떠있던 창의 확인 버튼을 하나씩 클릭하면 설정이 끝난다.

(3) CMD 창으로 확인하기
CMD창을 뛰운 후 ‘php -ver’을 실행하여 정장적으로 실행되는지를 확인한다.
만일 정상적으로 실행되지 않고 에러가 날 경우는 microsoft.com에 접속하여, ‘2015 재배포 가능 패키지’를 다운받아 설치한다.
이때 ‘2013 재배포 가능 패키지’도 함께 설치하면 나중에 워크벤치를 설치할때 편하다. 2013재배포 패키지가 없으면 워크벤치가 설치되지 않기 때문이다. 만일 설치를 잊고 지나쳤어도 상관은 없다 워크벤치 설치시 설치가 되어 있지 않다면, 설치를 할 것인지 물어보기 때문이다.

3. MySQL 설치

앞서 다운받은 ‘mysql-installer-web-community-5.7.18.1.msi’를 실행한다.
(1) License Agreement를 체크하고 ‘Next>’클릭.
(2) Custom을 선택하고  ‘Next>’클릭.
(3) MySQL Server, MySQL Workbench를 선택하고 ‘Next>’클릭.
(4) ‘Execute’클릭 – 다운로드 받는데 시간이 좀 걸린다. 다운로드가 끝나면 자동으로 설치가 되고, 설치가 완료되면 ‘Next>’버튼이 활성화 된다. ‘Next>’클릭.
(5) Product Configuration에서 ‘Next>’클릭.
(6) Type and Networking창에서 ‘Standalone MySQL Server / Classic MySQL Replication’ 선택하고 ‘Next>’클릭하면 Server Configuration Type화면이 나오는데 기본 설정데로 하고 ‘Next>’클릭.
(7) 비밀번호 입력 후 ‘Next>’클릭. 이후 과정은 모두 ‘Next>’를 클릭한다.
(8) 마지막 Apply Configuration에서  ‘Execute’클릭하면 자동으로 하나씩 설정한다.  설정이 끝나면 ‘Finish’버튼을 클릭한다.
(9) 다음 Product Configuration에서 ‘Next>’클릭 후 ‘Finish’버튼을 다시 클릭한다.
* 설치 과정에서 ‘Check Requirements’에 Microsoft Visual C++ 2013 Runtime이 필요하다고 나오면 ‘Execute’를 클릭하여 설치한다. –  ‘Next>’를 클릭하지 말고 반드시 ‘Execute’를 클릭한다.
(10) 설치가 끝나면 시작메뉴에 MySQL관련 메뉴가 보인다. 정상동작을 확인하기 위하여, 메뉴 중 ‘MySQL 5.7 Command Line Client’를 실행한다.
(11) 비밀번호를 입력하면 프롬프트가 ‘mysql>’로 바뀐다. 여기에 ‘show databases;’를 입력하고 현재 DB의 상태를 확인하다.

4. Apache 설치

다운 받은 압축파일을 풀어 Apache24폴더만 원하는 곳에 복사한다. 여기서는 C의 root에 복사한 것으로 한다.
[httpd.conf 파일 수정]
C:/Apache24/conf/httpd.conf 파일을 에디터에서 연다.
(1) ServerRoot경로 수정
37번째 라인에 ServerRoot “c:/Apache24″의 경로 부분을 아파치를 복사한 경로로 수정한다. 문론 여기서는 c의 root에 복사했음으로 수정하지 않는다.
(2) Port 수정
포트는 반듯이 변경해야 하는 것은 아니지만, 웹브라우저가 80포트를 기본으로 지원함으로 80이외의 포트로 설정하면 매번 포트 번호를 입력해야 하는 불편함이 있다.
58번째 라인의 Listen 80 에서 원하는 포트 번호를 입력하면 된다. default는 80임으로 여기서는 수정하지 않기로 한다.
(3) ServerName 수정
221번째 라인 #ServerName www.example.com:80의 #을 제거하고 ServerName localhost:80 혹은 ServerName 127.0.0.1:80으로 수정한다. 마직막의 80은 포트번호로 (2)번에서 설정한 포트번호와 동일하게 수정해 주면 된다.
(4) 웹문서 저장위치 수정
245번째 라인 DocumentRoot “c:/Apache24/htdocs”의 큰따운표 안의 경로를 원하는 경로로 수정한다. 그리고 바로아래 246번째 라인 <Directory “c:/Apache24/htdocs”>의 경로도 동일하게 수정한다.
(5) Path추가
윈도우 검색을 통해 “시스템 환경 변수 편집”을 실행하고, 고급탭의 ‘환경 변수(N)’ 버튼을 클릭한다.
환경변수 창에서 ‘시스템 변수(S)’의 Path항목을 더블클릭한다. 환경 변수 편집 창에서 ‘새로 만들기(N)’버튼을 클릭하고 다음 경로를 입력한다. c:\Apache24\bin
(6) CMD를 관리자 권한으로 실행하고 명령 프롬프트에 다음과 같이 입력하고 실행한다. httpd -k install
설치가 끝나고 windows 보안 경고 창이 뜬다. ‘액세스 허용(A)’버튼을 클릭한다.
다은으로 httpd -k start라고 입력하고 아파치 서비스를 시작한다.
(7) 동작확인
웹문서를 작성하여 (4)번에서 설정한 웹문서 저장 위치에 저장하고 웹브라우저에서 localhost혹은 127.0.0.1를 입력하여 정상동작을 확인한다.
바로 실행하면 아파치에 기본적으로 설치되어 있는 index.php가 실행되며, 브라우저 화면에 ‘It works!’라고 뜬다.

3 comments

    1. 자주 들려 주세요.
      사이트를 이전하고 지금 정비 중입니다.
      앞으로 좋은 글 많이 올리겠습니다. 기대해 주세요. ^^;

Leave a Reply

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다