> Hello World !!!

     

@syaku

Apache 2.2.15 PHP 5.2.3 설치하기 : Windows

written by Seok Kyun. Choi. 최석균

[필독사항 : 2011.02.14]

윈도우 NT 기반에 게시판 솔루션을 사용할 목적이라면, 아래의 방법으로 하면 정상적으로 작동되지 않습니다.
윈도우 NT 기반에는 IIS + PHP 5.2.x 조합을 권장합니다. 5.3.5 에는 IIS 에서 사용하는 모듈dll이 첨부되어 있지 않아요. 레지스터리는 있지만 제가 잘 몰라서 그냥 하위 버전을 사용했습니다. 아시는 분은 공유 좀 부탁드립니다.
(전 당연히 Apache , PHP , MySQL 조합이라고 생각했어요. 과거에는 그랬으니... 요즘 자바만 하다보니... 변명이지만요 ^^;; )

제가 발견한 문제점. (조합 : Apache 2.2.14 , PHP 5.3.5 VC6 x86 입니다. 여러분들도 고생하지마시고 참고하세요.)

XE : 파일첨부가 될때가 있고 안될때가 있는 문제, 컨텐츠 위젯을 사용할 수 없는 문제.
그누보드4 : 로그인 안됨.
킴스큐 : 자료 저장 안됨.

요즘 솔루션들이 워낙좋아 저도 많이 사용하고 있습니다만, 이런 문제로 몇일을 삽질했습니다.
+ 추가 : 확실하지는 않지만, 조합보다 PHP 버전으로 인한 문제인 것 같습니다. 하위버전을 사용하는 것이 좋을 듯.


 Apache 2.2.15 설치하기

아파치 그룹에서 http 프로젝트에서 아파치 http 서버를 내려받을 수 있다. http://httpd.apache.org/download.cgi 접속하여 최신버전인 2.2.15 Win32 Binary without crypto (no mod_ssl) (MSI Installer): httpd-2.2.15-win32-x86-no_ssl.msi 를 내려받자.





라이센스에 동의하고 다음.



아파치 서버에 관한 설명을 소개한다. 다음



아파치 서버를 설치할 서버의 네트워크 정보를 입력하는 곳이다.
운영서버라면 서버 정보를 입력하고 그렇지 않을 경우 위와 같이 입력하면 된다. 설정은 언제든지 변경할 수 있다.



설치 경로를 변경하기 위해 Custom 를 선택하고 다음.



시스템경로보다는 서브경로에 설치하는 것이 좋다. 다음.



설정을 마치고 설치를 진행한다. 완료되면 아파치 서버가 자동으로 실행되는 데. 설치전에 꼭 80포트를 사용하는 서비스가 있는 지 확인하고 진행하자. (있을 경우 서비스를 종료해주면 된다.)

아파치 서버 설정은 아래와 같다.
아파치 서버 설치 폴더 하위에 존재하는 conf 폴더를 열어 httpd.conf 파일 편집기로 열자.
(파일 첨부가 되지않아 설정파일은 다음에 등록하겠습니다.)

# 서비스 포트
Listen 80

# 웹서비스 경로
DocumentRoot "D:/Service/htdocs/"

# 웹서비스 디렉토리 설정 [# = 주석] 아래와 같이하면 웹에서 폴더및 파일리스트가 출력되지 않아 보안적으로 좋다.
<Directory />
    Options FollowSymLinks
    AllowOverride None
    Order deny,allow
    Deny from all # Deny 할 경우 가상호스트에 접속 제한한다. 만약 가상호스트를 사용 할 경우 Deny 를 Allow 바뀌야함.

</Directory>

추가적은 자세한 설명은 http://blog.naver.com/o_zoom?Redirect=Log&logNo=90071595629 참조하자.

# 웹서비스 경로를 변경하면 아래도 같이 변경해야 한다.
<Directory "D:/Service/htdocs/whattoday">

# 기본 인덱스 파일 설정 스페이스로 구분하면 된다.
<IfModule dir_module>
    DirectoryIndex index.html index.php default.php
</IfModule>

이제 저장하고 아파치 서버를 재시작하면 모든 작업이 완료된다.


가상호스트 만들기

# Virtual hosts
Include conf/extra/httpd-vhosts.conf # 가상 호스트 설정파일 주석을 풀어준다.

위 파일을 열어 아래와 같이 셋팅하면 된다.
* 가상 호스트에 포트를 두개이상 사용할 경우 httpd.conf 의 Listen 포트번호 를 추가해야만 가상호스트에도 사용할 수 있다.


#  가상 포트
NameVirtualHost *:80

# 기본 호스트 설정
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.syaku.com
    DocumentRoot "웹서비스경로"
    ServerName syaku.com
    ServerAlias syaku.com www.syaku.com
    ErrorLog "logs/syaku.com-error.log"
    CustomLog "logs/syaku.com-access.log" common
</VirtualHost>

# 서브 호스트 설정
<VirtualHost *:80>
    ServerAdmin webmaster@dummy-host.sub.syaku.com
    DocumentRoot "웹서비스경로"
    ServerName sub.syaku.com
    ServerAlias sub.syaku.com
    ErrorLog "logs/sub.syaku.com-error.log"
    CustomLog "logs/sub.syaku.com-access.log" common
</VirtualHost>

 PHP 5.3.2 설치하기

PHP 는 인스톨버전보다 압축된 파일이 용이하다. 윈도우버전은 기존 PHP 가 아닌 다른 호스트에서 내려받을 수 있다.
http://windows.php.net/download/ 접속하여 VC9 x86 Thread Safe 용 Zip를 내려받자.

** 주의사항.
원도우2003 서버에 설치할 경우 기본적으로 VC6 가 설치되어 있습니다. R2는 잘 모르겠네요~ 여튼 VC9 버전을 받아 설치할 경우 아파치가 구동이 안될 수 있습니다. 이땐 PHP VC6 용을 받아서 설치하시면 됩니다.
비주얼 C++ 2009 관련된 모듈이나 프레임워크를 설치하셔도 해결되겠지요.
VC6 는 비주얼 C++ 2006 이며, VC9 는 비주얼 C++ 2009 입니다.
당연한 거겠지만, 저같은 실수를 범하는 개발자를 위해서 첨부하였습니다.

오류내역 :
The Apache service named  reported the following error:
>>> httpd.exe: Syntax error on line 488 of D:/Server/apache/conf/httpd.conf: Cannot load D:/Server/php/php5apache2_2.dll into server: \xc0\xc0\xbf\xeb \xc7\xc1\xb7\xce\xb1\xd7\xb7\xa5 \xb1\xb8\xbc\xba\xc0\xcc \xbf\xc3\xb9\xd9\xb8\xa3\xc1\xf6 \xbe\xca\xb1\xe2     .
유사한 이벤트 로그가 기록됩니다.
********

적당한 위치에 압축을 풀고, 나는 D:/Server/php 압축을 풀어두었다.
D:/Server/php/tmp/session 과 D:/Server/php/tmp/upload 폴더를 생성하자.

PHP 경로를 환경변수에 등록해야 한다. 내컴퓨터(오른쪽마우스 클릭) -> 속성 -> 고급탭 -> 환경변수 실행한다.
그럼 새로운 창이 뜨면 시스템 변수 목록에 Path 항목을 선택하고 편집을 클릭하자.
줄 맨 뒷커서에 D:/Server/php/;D:/Server/php/ext; 삽입하고 확인을 누르고 속성창을 닫는 다.

설치는 완료되었고, PHP를 설정하고, 아파치 서버에 PHP 모듈을 올려보자.
PHP 폴더에 php.ini-development 혹은 php.ini-production 파일 중에 선택하여 php.ini 파일로 이름을 변경하고 편집기로 파일을 열자.
난 php.ini-production 파일을 사용하였다.
(파일 첨부가 되지않아 설정파일은 다음에 등록하겠습니다.)

# 코딩 스타일을 <?php ?> Off , <? ?> 둘다 쓰려면 On. 왠만하면 Off 가 안정적이지만, 코딩이 번거러울수 있다.
short_open_tag = Off

# ASP 와 같은 시작 구문으로 코딩하려면 On <% %>
asp_tags = Off

# 에러 출력여부 : 개발할 경우 On
display_errors = Off

# 시스템 전역변수 사용여부 On을 할 경우 $_GET['a'] $_POST['a'] 등을 $a 로 받을 수 있지만, 보안상이나 가독성이 떨어지므로 Off 를 권장
register_globals = Off
register_long_arrays = Off
register_argc_argv = Off

# 파일 업로드 용량 늘리기

file_uploads = On 
max_execution_time = 3600 
max_input_time = 9999 
max_input_nesting_level = 64 
memory_limit = 500M 

-- POST 전송 최대 사이즈
post_max_size = 8M
-- 파일 업로드 임시경로
upload_tmp_dir = "D:/Server/php/tmp/upload"
-- 파일 업로드 용량
upload_max_filesize = 20M
-- 파일 업로드 수
max_file_uploads = 20

# 언어 설정
default_charset = "utf-8"

# php 경로
include_path = ".;D:\Server\php"

# php 모듈 경로
extension_dir = "D:\Server\php\ext"

# 사용할 모듈은 주석을 삭제 [ ; = 주석]
-- mysql 모듈
extension=php_mysql.dll

# 세션 저장 경로
session.save_path = "D:/Server/php/tmp/session"

# timezone 설정
date.timezone = Asia/Seoul

아파치 서버에 PHP 모듈 올리기. 아파치 서버 설정파일을 열고 아래의 코드를 삽입하자.

AddType application/x-httpd-php .php
AddType application/x-httpd-php-souce .phps
PHPIniDir "D:/Server/php/"
LoadModule php5_module "D:/Server/php/php5apache2_2.dll"

2009/12/13 - [플렛폼/윈도우 서버] - 윈도우 서버 MySQL 5.1.35 설치 : Windows Server

Syaku Blog by Seok Kyun. Choi. 최석균.
posted syaku blog


http://syaku.tistory.com