웹마스터 팁

mics'php


2. PHP 사용 시스템 구축하기

* 현재 필자의 PC사정으로 인해 이번 강의는 윈도우 98환경에서 이루어지는 스크린샷을 사용하엿습니다. 많은 양해 바랍니다.

2.1.APM

2.1.1. APM이란?

APM은 아파치 서버(Apache),PHP,MySQL의 약자입니다. PHP와 데이터베이스인 MySQL을 사용하기 위한 기본 환경이라고 할 수 있습니다.

2.1.2. 아파치 서버

아파치 서버는 전 세계에서 가장 많이 쓰이는 무료 웹서버로, 리눅스에서 기본적으로 지원하는 것입니다. 물론 리눅스만이 아니라 윈도우즈 환경에서도 잘 동작합니다.
아파치의 최대 강점이라면 이 많은 사용자층을 바탕으로 한 자료와 안정성입니다. 또한 아파치는 모듈로 PHP를 실행시키는 등 여러모로 PHP와 궁합이 잘 맞는다고 할 수 있습니다.
http://httpd.apache.org에서 최신버전을 다운로드 할 수 있습니다. 현재 2.0.45 버전이 나와 있습니다.

2.1.3. MySQL

MySQL은 데이터베이스 프로그램으로, 역시 무료 소프트웨어입니다. MySQL은 속도가 빠르고 아파치 서버, PHP와 훌륭하게 연동되므로 대부분의 PHP프로그램이 데이터베이스로 MySQL을 사용합니다. 또한 많은 사람과 자료를 처리할 수 있고 다양한 기능을 지원합니다.
그러나 MySQL의 단점은 상용 데이터베이스에서 지원하는 고급 기능들을 지원하지 않는다는 것입니다. 이 대신에 속도를 높이는데 중점을 두고 있습니다.
http://mysql.com에서 최신버전을 다운로드 할 수 있습니다. 현재 4.1.0 알파 버전이 나와 있습니다.
데이터베이스란?
데이터베이스란 자료를 체계적으로 모아두고 사용자의 요구에 따라 수정, 편집, 추가 등 자유로운 작업을 할 수 있는 사물함이라 할 수 있습니다.


2.2. APM 설치하기

2.2.1. 사용 환경
우리는 앞서 말씀드렸듯이 윈도우즈 환경에서 APM프로그램을 설치해 PHP를 가동시킬 것입니다.
APM을 수동으로 설치하려면 아파치, PHP, MySQL은 물론 각종 모듈들까지 수동으로 설치해야 하므로 어렵고 시간이 오래 소모됩니다. 이를 간단하게 하기 위해 패키지 설치 프로그램을 사용합니다. 패키지 설치 프로그램은 이 모든 구성요소를 한번에 설치해 주고 따로 환경설정, 관리 등을 하기 쉽게 해 주는 것으로, APM_Setup, WinAPM등이 있습니다.
우리는 이중에서 이근상님께서 만드신 APM_Setup 4를 설치, 사용해보겠습니다.

2.2.2. APM_Setup 4 설치

APM_Setup은 현재 버전 4까지 나와있습니다. 홈페이지(http://apmsetup.com)에서 최신버전을 다운로드할 수 있습니다.
APM_Setup 4에 포함되어 있는 프로그램의 버전은 다음과 같습니다.

Apache 1.3.27
PHP 4.2.3
MySQL MAX 4.0.4 beta
Zend Optimizer 2.0.2
mod_gzip Version 1.3.26.1a
mod_fastcgi Version 2.2.12
Webalizer 2.0.1
phpMyAdmin 2.3.2

1. APM_Setup 홈페이지에서 전체 다운로드 버전을 다운받습니다.
02_01.gif

2. 압축을 해제합니다. 그러면 아래와 같이 2개의 파일이 나타날 겁니다.
02_02.gif

3. exe파일을 실행시켜 설치를 시작합니다. Korean을 선택하고 계속 Next를 눌러줍니다.
4. 설치 디렉토리 지정란이 나오면 설치하기 원하는 디렉토리를 써줍니다. 그 디렉토리 안의 APM_Setup폴더에 설치됩니다.
02_03.gif

5. 계속 Next를 눌러줍니다.
6. 잠시 기다린 후 아래와 같은 모양의 창이 나오면 Install을 클릭합니다.
02_04.gif

7. Continue를 누르면 아래와 같이 설치 진행이 표시됩니다. 잠시 기다립니다.
02_05.gif

8. 이제 설치가 끝났습니다. Next를 누르고 Close를 눌러줍니다.
02_06.gif


2.3. APM 환경설정
이 부분은 굉장히 중요한 부분이므로 차근차근 따라해 주십시오.

2.3.1. MySQL DB셋팅

1. 바탕화면의 APM_Setup 4 Monitor 아이콘을 더블클릭해 APM_Setup을 실행시킵니다. 프로그램을 실행하면 트레이에 아이콘이 생깁니다.
02_07.gif

2. 관리자 패스 부분에 원하는 비밀번호를 써넣고 적용/숨기기를 누릅니다. 헷갈리지 않도록 이 비밀번호를 (A)라고 하겠습니다.
02_08.gif

3. 인터넷 익스플로러를 실행하고 주소에 http://127.0.0.1을 입력합니다.
4. 자동으로 APM_Setup 관리페이지로 넘어가면 아까 설정해두었던 비밀번호를 입력합니다.
02_09.gif

5. 로그인한 다음 오른쪽 위의 MySQL 패스워드 변경을 누릅니다.
6. 기존 패스워드 부분은 비워두고 변경 패스워드와 확인 패스워드에 원하는 MySQL 비밀번호를 입력합니다.
02_10.gif

지금 입력한 것은 루트 비밀번호로, 모든 권한을 다 갖고 데이터베이스를 관리하는 계정입니다. 이번 비밀번호는 (B)입니다.
7. 익스플로러 화면에서 지시하는대로 MySQL 비밀번호를 적용시키고 오른쪽 위 메뉴에서 phpMyAdmin을 클릭합니다.
8. 사용자명에는 root를, 비밀번호에 (B)를 입력한 후 로그인합니다.
02_11.gif

9. 왼쪽의 메뉴에서 user를 클릭합니다. 이 왼쪽 메뉴를 테이블 리스트라고 합니다.
02_12.gif

10. 오른쪽 화면의 메뉴에서 "추가"를 누릅니다.
02_13.gif

11. 아래 나오는 화면에 내용을 입력합니다. Host는 localhost로 두고 User와 Password에 실제 사용을 원하는 ID와 비밀번호를 입력합니다. 주의할 점은 그림처럼 Password에는 함수를 눌러 PASSWORD를 선택해 주어야 합니다. 나머지는 모두 N으로 두고 제일 아래에 있는 "실행"을 누릅니다.
02_14.gif

이번 비밀번호는 (C)라고 하겠습니다.
12. 쿼리가 수행되었다고 나옵니다. 다시 왼쪽 메뉴의 db를 누릅니다.
13. 역시 추가 버튼을 누릅니다.
14. Host에는 localhost, Db에는 원하는 DB 이름을, User에는 아까 생성한 ID를 입력합니다. DB 이름과 ID를 동일하게 하기를 권장합니다.이번에는 모두 Y로 체크하고 "실행"을 누릅니다.
02_15.gif

15. 이번에는 왼쪽 메뉴의 "시작페이지"를 누릅니다.
16. 오른쪽 창에서 "Create new database" 부분에 아까 입력한 DB 이름을 넣고 "만들기"를 누릅니다.
02_16.gif

17. 다음과 같은 화면이 뜹니다. 다시 "시작페이지"를 누릅니다.
02_17.gif

18. 오른쪽 창에서 "MySQL 재시동"을 누릅니다.
02_18.gif

18. 로그아웃을 누르고 이번에는 사용자명에 생성한 ID를, 비밀번호에 (C)를 입력합니다. 이것이 우리가 실제 사용하게 될 MySQL ID와 비밀번호입니다.
02_19.gif

19. 로그인이 되었습니다. 이로서 DB셋팅이 끝났습니다.
02_20.gif


2.3.2. 아파치 환경설정

이번에는 아파치 서버의 설정을 해보겠습니다. 아파치 환경설정 파일은 설치경로APM_Setupserverapacheconf 의 httpd.conf입니다. 모든 사항은 그대로 두어도 좋습니다.
먼저 151번째줄을 보겠습니다. Port 80이라는 내용이 있을겁니다. 여기서의 80은 포트번호로, 기본적인 웹서버는 80포트를 이용합니다. 하지만 내 컴퓨터의 웹서버를 외부에서 접속할 수 있게 하려면 이를 수정해주어야 하는 경우가 많습니다. KT, 하나로통신같은 업체에서 80번포트를 막아두기 때문이죠. 일단 우리는 그대로 두겠습니다.
158번째 줄에는 ServerAdmin administrator@localhost 라는 내용이 있습니다. ServerAdmin themics@abc.com 처럼 자신의 E-Mail 주소로 바꿔주세요.
175번째 줄에 ServerName 127.0.0.1이라는 부분이 있습니다. 역시 외부에서 접속하게 하려면 자신의 IP주소를 적어주면 됩니다. 여기도 그냥 두겠습니다.
179번째 줄에 DocumentRoot "설치경로/htdocs"라는 내용이 있습니다. 이는 웹페이지의 루트를 의미합니다. 즉, 설치경로/htdocs의 내용이 웹페이지에서 보여진다는 것입니다. 원하는 디렉토리로 바꿔도 되고, 그냥 두어도 상관없습니다. 저는 E:/home/root로 하였습니다. 대신 /를 쓰고, 맨 끝에 /는 붙이지 말아주세요. 이와 같이 187줄의 내용도 고쳐줍니다.
197번째줄에는 UserDir "설치경로/users/"라고 쓰여 있습니다. 여기서 정한 디렉토리는 사용자 계정의 디렉토리입니다. 예를 들어 이 아래에 a라는 디렉토리를 만들었다면 그 디렉토리는 웹에서 127.0.0.1/~a/로 불러지게 됩니다. 그냥 넘어가도 됩니다.
마지막으로 209줄에 DirectoryIndex index.html index.htm index.php index.php3 index.cgi index.pl 이라는 내용이 있습니다. 이는 읽어들이는 인덱스 파일의 순서입니다. 즉, 127.0.0.1을 실행하면 자동으로 불러오는 파일의 우선순위를 정해주는 것입니다. 우선 index.html을 불러오고 그것이 없으면 index.htm...이런 식으로 불러오게 됩니다.
이외에 특별히 손볼 것은 없습니다. 자세한 주석이 붙어있으므로 이외에 궁금한 점이 있으시면 주석을 참조하면 됩니다.

2.3.2. PHP 환경설정

PHP 설정을 파일은 윈도우즈 폴더의 php.ini입니다.
34번째줄의 disable_functions=를 보겠습니다. 이것은 함수의 사용금지를 지정해줍니다. 호스팅사에서는 보안에 문제가 되는 exec()와 같은 함수를 막아놓기도 합니다. 지금은 무슨 말인지 몰라도 됩니다.
59번째줄은 PHP의 최대 실행시간을 초단위로 나타냅니다. 용량 큰 파일을 업로드할 때처럼 오랜 시간이 걸리는 작업을 위해서는 값을 늘려주면 됩니다.
150번째줄에는 upload_max_filesize라는 항목이 있습니다. 이는 업로드할 최대 파일사이즈를 나타냅니다. 어차피 내 컴퓨터에서 실행하는 것이므로 걱정없이 늘려줘도 됩니다. 100M로 하였습니다.
152번째줄의 allow_url_fopen은 이 서버가 아닌 외부 서버의 파일을 사용할 수 있게 하는 항목입니다. 뒤에 다룰 것입니다. 그대로 On으로 합니다.
161번째줄의 sendmail_from은 PHP로 메일을 보낼 때 보내는 이의 메일주소를 정해줍니다. 자신의 메일주소를 써주면 됩니다.

APM_Setup에서도 환경설정을 할 수 있으나, 그 항목이 간단합니다. 그래서 직접 파일을 열어 수정해 주었습니다.
트레이의 APM_Setup 아이콘을 오른쪽 마우스로 누르고 "서버 다시 시작"을 눌러 모든 환경설정을 적용시킵니다. 이로써 PHP를 실행시킬 수 있는 환경을 준비하였습니다.
 Do It Yourself!
PHP의 최대 실행 시간을 6분으로 해 보세요.