2014-10-15

참고 : http://ideaargo.phps.kr/tc/180



아래는 위의 링크를 따라하면서 필자에게 맞게 조금 수정하고 추가한것.



설치환경 - window server 2008 64bit


1. Visual C++ Redistributable for Visual Studio 2012 설치

경로 : http://www.microsoft.com/en-us/download/details.aspx?id=30679

파일 : vcredist_x64.exe

apache v11, php v11 버전들은 Visual C++ Redistributable for Visual Studio 2012 해당 프로그램 필요하니 미리 설치하기 바란다.


//-------------------- 2017.02.05 추가사항
필자가 최근 Windows10에 v14버전을 깔려고 해보니, 2012버전이 아니라 2015버전이 필요했다.
링크 : https://www.microsoft.com/ko-kr/download/details.aspx?id=48145



2. Apache 64bit 설치

경로 : http://www.apachelounge.com/download/

파일 : httpd-2.4.7-win64-VC11.zip

vc11에 있는것을 다운 받아야 한다.

압축을 푼후 원하는 폴더에 Apache24폴더를 복사 한다 (보통 C:\ 나 C:\Program Files를 많이 애용)

cmd 실행시킨후 

cd C:\Program Files\Apache24\bin 

httpd.exe -k install

명령을 실행하여 아파치를 서비스에 등록 한다


httpd.conf 파일로 들어가서 해당 폴더로 ServerRoot를 설정해준다.

ServerRoot "C:\Program Files\Apache24" 



3. php 64bit 설치

경로 : http://windows.php.net/download/

파일 : php-5.5.9-Win32-VC11-x64.zip

VC11 x64 Non Thread Safe 방식인 php-5.5.9-nts-Win32-VC11-x64.zip 파일에는 php5apache2_4.dll 이 없다

VC11 x64 버전에서 Thread Safe 방식에만 php5apache2_4.dll 파일이 있고 그외 1.x, 2.0.x, 2.2.x 버전용 dll 은 없다.

필요하시다면 컴파일을 하셔서 만들던지 다른 경로로 구해야 한다.

잘 모르겠으면 그냥 Thread Safe로 받으면 된다.


Thread Safe 방식과 Non Thread Safe 방식의 차이는 다음 URL 을 참조해 주세요.

http://auctionpro.co.kr/?p=773


압축을 푼후 "C:\Program Files\php" 에 복사

php.ini-development 파일을 복사한후 이름을 php.ini 으로 바꾼다.


윈도우 환경변수에 해당 폴더를 등록해 주어야 한다.

윈도우7이라면 흔히 윈도우키 + Pause Break키 를 눌러서 뜨는 창의 "고급 시스템 설정"을 클릭하게 되면 "시스템 속성"이라는 창이 뜰것이다. 해당 창의 "고급"->"환경변수"->"시스템변수"->"Path"에 편집을 누르고 ";C:\Program Files\php"를 마지막에 추가 하기 바란다.


환경변수에 등록이 되지 않을 경우 ic로 시작하는 dll 파일들이 등록되지 않아서 intl같은 기능들이 제대로 작동하지 않을수도 있다.


php.ini 파일을 열어 아래의 내용을 변경해준다.

extension_dir=”./” ====> extension_dir=”C:\Program Files\php\ext”


4. Apache php 연동

httpd.conf 설정에서 ServerName, DocumentRoot, 디렉토리 권한등을 변경해주신다음

맨 하단에 아래의 부분을 추가한다.

#=========================================================================

PHPIniDir "C:/Program Files/php" 

LoadModule php5_module "C:/Program Files/php/php5apache2_4.dll" 

AddType application/x-httpd-php .php .html .htm

#=========================================================================


PHPIniDir은 php.ini파일이 있는 위치인데, 따로 지정해주지 않을경우 C:\Windows가 기본으로 지정된다.

LoadModule php5_module 은 php5apache2_4.dll파일이 있는 위치이다.

AddType application/x-httpd-php은 php소스가 인식되도록 하는 파일의 종류이다. 


위와 같이 한뒤에 DocumentRoot로 설정된 폴더에 가서 <? phpinfo() ?> 가 들어간 웹페이지를 하나 만들어서 실험해 보면, 제대로 연동이 됐을경우 phpinfo가 뜰것이다.


하지만 이건 지극히 가장 기본적인 연동 설정만 한 것으로..

여러가지 각종 설정이나, 모듈 설치는 각각 설치 해야 할 것이다.



아래는 기본적으로 필자가 해주는 설정들을 나열한 것이다.


httpd.conf

각종 모듈 설정

#LoadModule 으로 주석처리 되어 있는 설정중 필요한 설정은 주석을 해제 한다. 물론 해당 .so파일이 해당 모듈 폴더에 제대로 존재한는지도 잘 살펴보길 바란다.


DocumentRoot 설정

자신이 원하는 소스 상단 폴더로 재설정 해준다.

DocumentRoot "D:\html"


ServerName 설정

필자는 보통 로컬로 실험삼아 돌릴경우가 많아서 127.0.0.1로 해준다. 

ServerName 127.0.0.1


웹페이지에서 디렉토리 구조로 보여지게 안하는 설정

<Directory "c:/Program Files/Apache24/htdocs">

    #Options Indexes FollowSymLinks

    Options None


php.ini

각종모듈 설정

;extension= 으로 되어 있는 각종 모듈들이 ;으로 주석처리 되어 있을것이다.

자신이 주로 쓰는 모듈에는 ;를 제거해 주어야 한다.


타임존 설정

date(): It is not safe to rely on the system's timezone settings. 와 같은 오류가 뜰때 는

;date.timezone = 

date.timezone = Asia/Seoul


세션 폴더 지정

;     session.save_path = "N;/path"

     session.save_path = "c:/php5session"



기타 DB 설치

mariaDB를 설치 할 경우, 아래 링크에 가서 윈도우용 버전을 다운 받아서 설치 한다.


링크 : https://downloads.mariadb.org/mariadb/ 


위 링크에서 .msi파일을 받으면 윈도에서 설치가 가능하다.

설치가 되었으면, php.ini파일의 extension중에 mysql관련extension을 주석해제해주고 아파치를 재시작하면 알아서 인식한다.