윈도우 XP에서 APM 설치기(02)
설정방법은 아파치에 PHP 가 있다는 것을 알려주고 PHP 에게 mysql 을 사용할 것이라는 것을 알려주면 된다. Apache 와 Mysql 은 서로 상관없다. 중간 역할은 PHP 가 알아서 하는 것이다.
=== 아파치 작동 확인 ===
이제, 웹브라우저에 http://localhost 또는 http://localhost:8080 가 보이는지 검사해 본다. 기본적으로 apache2 가 작동중이어야 한다. 작동중이라는 표시는 트레이 아이콘들이 보여있는 곳에서 파란색으로 바뀌어 있어야 한다.
=== PHP 와 Apache 의 결합 ===
이제 아파치에 PHP 가 있다는 것을 알려주어야 한다. 아파치 설정파일은 아파치가 설치된 디렉토리\conf\httpd.conf 를 수정해야 한다.
두 가지 방법이 있다. CGI로의 PHP를 작동시키는 방법과 모듈로의 PHP를 작동시키는 방법이 있다. 솔직히 두 가지 방법이 뭐가 다른지 모르겠다.
맨 마지막에 다음 둘중 하나를 집어넣으면 된다. # 표시는 주석으로 인식한다.
----------------------------------------------
#php설정 CGI 방식
ScriptAlias /php/ "C:/tools/apm/php/"
AddType application/x-httpd-php .phtml .html .htm .inc
Action application/x-httpd-php "C:/php/php-cgi.exe"
----------------------------------------------
#php설정 모듈방식
LoadModule php5_module "C:/tools/apm/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/tools/apm/php"
----------------------------------------------
ScriptAlias /php/ "C:/tools/apm/php/" 를 자신과 맞게 고쳐적는다. 당연히 나하고는 많이 다를 것이다. php 가 있는 폴더를 설정해 준다. 그 외 것의 path 도 눈치껏 변경한다. 끝에 공통으로 들어가는 PHPIniDir 이라는 것은 php.ini 가 있는 디렉토리를 지정해 주는 것이다. 두 가지 방법이 있긴 하지만 모듈방식으로 사용해야 나중에 form 에서 method 방식을 post 로 남겨줄 때 받을 수 있다. 내 생각에는 Form 에서 method 를 CGI 방식으로 할려면 GGI 방식으로 설정하는 걸로 보인다. (실험은 안 해봤다. )
폼(Form)에서 두 메소드의 차이점은 Post 방식은 내부적으로 변수가 넘어 가는데 CGI 방식은 주소표시창에 주소를 보면 끝에 php? 하면서 뒤어 붙는 변수와 값들을 볼 수 있다. (둘 다 설정 가능한지는 아직 모르겠다. 실험해 보시길. )
(여기서 말하는 폼이란 HTML 을 사용할 때 아이디, 패스워드, submit 이런 거 만들때 처음에 쓰는 이런 것을 말한다. )
이제 아파치를 재 시작시킨다.
그리고 아파치가 설치된 폴더 \htdocs 폴더 안에 phpinfo.php 파일을 만들어 주고 그 파일 안의 내용을
phpinfo();
라고 친다. 웹 브라우저에 http://localhost/phpinfo.php 라고 주소를 준다.(안되면 http://localhost:8080/phpinfo.php) 소스 그대로 나오면 설정이 실패한 것이고, 테이블이 보이면서 php 정보가 나오면 성공한 것이다.
php 를 설정하고 나면 나의 경우 인코딩의 문제가 생긴다. 한국어를 직접 설정해 줄 수 있지만 조금 불편하게 느껴진다.
AddDefaultCharset ISO-8859-1
라고 되어 있는 찾아
AddDefaultCharset euc-kr
라고 고친다. 다시 아파치 재시작.. 이제 잘 된다..
이 정도 까지만 가지고도, html 로 이루워진 웹페이지를 만들 수 있다. 다만 게시판을 만들 수 없다. 게시판을 만들기 위해, 그 데이터가 저장될 공간이 필요하다. 그게 mysql 의 역할이다. 그리고 그 게시판의 틀을 만들어 주고, mysql 의 데이터를 html 로 보일 수 있게 하는 역할은 php 가 한다.
컴퓨터가 부팅을 시작하면 자동으로 apache 와 mysql 이 실행한다. 이 것 수동으로 할려면 제어판->관리도구 안에서 서비스를 찾아 클릭한다. 혹시 그 전에 이걸 실행한 적 있는데라고 생각할 지도 모르겠다. 메신저 스팸을 막기 위해 Messenger 라는 항목을 사용안 함 이라고 해 본사람도 있을 것이다. 여기서는 apache 2 , mysql 을 찾아 수동 설정한다. 그러면 컴퓨터가 부팅 될 때 마다 시작하는 일은 없다. 부팅 될 때 마다 시작시킬려면 자동으로 해 두어야한다.
=== PHP 와 MySQL 의 결합 ===
이번에 느낀것은 확실히 PHP 가 MySQL 과 멀어지고 있다는 것이다. 웬지 SQLite 에 중점을 두는 것 같다. 어차피 난 SQLite 를 더 좋아하니 잘 될 것 같기도 하다. 어째든 설정해 보자. php.ini 파일로 설정해야 한다. 앞 글에서 이 파일에 대해 설명했을 것이다. 설치했으면 이 파일이 이미 존재할 것이고 zip 파일만 푸는 방식으로 했다면 없을 것이다. 이럴 때는 php.ini-dist 나 php.ini-recommended 를 복사해소 php.ini 파일로 만든다. (원칙적으로는 php.ini-recommended 로 해야 보안에 강하다. 그러나 작동이 잘 안해서 가끔 짜증이 난다. 어차피 난 공부용이니까 php.ini-dist 를 사용했다. ) mysql 이 사용할 수 있도록 설정해야 한다. extension_dir 를 찾아 php 폴더및 ext 디렉토리 표시를 해준다.
extension_dir = "C:/tools/apm/php/ext"
그리고 ;extension=php_mysql.dll 라는 곳을 찾아 주석 표시를 제거한다. (주석은 세미콜론 ; 이다. ) 앞으로 다른 확장을 사용하려면 여기서 주석만 제거하면 된다. 그 다음 php\libmysql.dll 과 php\ext\php_mysql 을 접근할 수 있게 해야 한다. 보통 path 를 설정해 주면 된다. 단 path 설정시 사용자에 대한 path 가 아닌 전체 path(환경설정 대화창에서 아래부분에 위치한 곳)을 설정하고, 설정후 재부팅해야 적용된다. 그 전에는 절대 안된다. 아무래도 서비스를 이용한 방식이라는 그런것 같다. 재부팅 할 수 없는 상황이라면 이미 path 가 설정된곳(c:\windows\system32 같은 곳)에 두 파일을 복사해 넣는 것도 방법이다.
설정후 설정이 되었는지 확인하려면 위의 http://localhost:8080/phpinfo.php 에서 mysql 항목이 있는지 확인한다. mysql 이라는 글씨조차 없다면 설정이 잘못된 것이다.
최종 수정일 2006. 12. 3
설정방법은 아파치에 PHP 가 있다는 것을 알려주고 PHP 에게 mysql 을 사용할 것이라는 것을 알려주면 된다. Apache 와 Mysql 은 서로 상관없다. 중간 역할은 PHP 가 알아서 하는 것이다.
=== 아파치 작동 확인 ===
이제, 웹브라우저에 http://localhost 또는 http://localhost:8080 가 보이는지 검사해 본다. 기본적으로 apache2 가 작동중이어야 한다. 작동중이라는 표시는 트레이 아이콘들이 보여있는 곳에서 파란색으로 바뀌어 있어야 한다.
=== PHP 와 Apache 의 결합 ===
이제 아파치에 PHP 가 있다는 것을 알려주어야 한다. 아파치 설정파일은 아파치가 설치된 디렉토리\conf\httpd.conf 를 수정해야 한다.
두 가지 방법이 있다. CGI로의 PHP를 작동시키는 방법과 모듈로의 PHP를 작동시키는 방법이 있다. 솔직히 두 가지 방법이 뭐가 다른지 모르겠다.
맨 마지막에 다음 둘중 하나를 집어넣으면 된다. # 표시는 주석으로 인식한다.
----------------------------------------------
#php설정 CGI 방식
ScriptAlias /php/ "C:/tools/apm/php/"
AddType application/x-httpd-php .phtml .html .htm .inc
Action application/x-httpd-php "C:/php/php-cgi.exe"
----------------------------------------------
#php설정 모듈방식
LoadModule php5_module "C:/tools/apm/php/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "C:/tools/apm/php"
----------------------------------------------
ScriptAlias /php/ "C:/tools/apm/php/" 를 자신과 맞게 고쳐적는다. 당연히 나하고는 많이 다를 것이다. php 가 있는 폴더를 설정해 준다. 그 외 것의 path 도 눈치껏 변경한다. 끝에 공통으로 들어가는 PHPIniDir 이라는 것은 php.ini 가 있는 디렉토리를 지정해 주는 것이다. 두 가지 방법이 있긴 하지만 모듈방식으로 사용해야 나중에 form 에서 method 방식을 post 로 남겨줄 때 받을 수 있다. 내 생각에는 Form 에서 method 를 CGI 방식으로 할려면 GGI 방식으로 설정하는 걸로 보인다. (실험은 안 해봤다. )
폼(Form)에서 두 메소드의 차이점은 Post 방식은 내부적으로 변수가 넘어 가는데 CGI 방식은 주소표시창에 주소를 보면 끝에 php? 하면서 뒤어 붙는 변수와 값들을 볼 수 있다. (둘 다 설정 가능한지는 아직 모르겠다. 실험해 보시길. )
(여기서 말하는 폼이란 HTML 을 사용할 때 아이디, 패스워드, submit 이런 거 만들때 처음에 쓰는 이런 것을 말한다. )
이제 아파치를 재 시작시킨다.
그리고 아파치가 설치된 폴더 \htdocs 폴더 안에 phpinfo.php 파일을 만들어 주고 그 파일 안의 내용을
phpinfo();
라고 친다. 웹 브라우저에 http://localhost/phpinfo.php 라고 주소를 준다.(안되면 http://localhost:8080/phpinfo.php) 소스 그대로 나오면 설정이 실패한 것이고, 테이블이 보이면서 php 정보가 나오면 성공한 것이다.
php 를 설정하고 나면 나의 경우 인코딩의 문제가 생긴다. 한국어를 직접 설정해 줄 수 있지만 조금 불편하게 느껴진다.
AddDefaultCharset ISO-8859-1
라고 되어 있는 찾아
AddDefaultCharset euc-kr
라고 고친다. 다시 아파치 재시작.. 이제 잘 된다..
이 정도 까지만 가지고도, html 로 이루워진 웹페이지를 만들 수 있다. 다만 게시판을 만들 수 없다. 게시판을 만들기 위해, 그 데이터가 저장될 공간이 필요하다. 그게 mysql 의 역할이다. 그리고 그 게시판의 틀을 만들어 주고, mysql 의 데이터를 html 로 보일 수 있게 하는 역할은 php 가 한다.
컴퓨터가 부팅을 시작하면 자동으로 apache 와 mysql 이 실행한다. 이 것 수동으로 할려면 제어판->관리도구 안에서 서비스를 찾아 클릭한다. 혹시 그 전에 이걸 실행한 적 있는데라고 생각할 지도 모르겠다. 메신저 스팸을 막기 위해 Messenger 라는 항목을 사용안 함 이라고 해 본사람도 있을 것이다. 여기서는 apache 2 , mysql 을 찾아 수동 설정한다. 그러면 컴퓨터가 부팅 될 때 마다 시작하는 일은 없다. 부팅 될 때 마다 시작시킬려면 자동으로 해 두어야한다.
=== PHP 와 MySQL 의 결합 ===
이번에 느낀것은 확실히 PHP 가 MySQL 과 멀어지고 있다는 것이다. 웬지 SQLite 에 중점을 두는 것 같다. 어차피 난 SQLite 를 더 좋아하니 잘 될 것 같기도 하다. 어째든 설정해 보자. php.ini 파일로 설정해야 한다. 앞 글에서 이 파일에 대해 설명했을 것이다. 설치했으면 이 파일이 이미 존재할 것이고 zip 파일만 푸는 방식으로 했다면 없을 것이다. 이럴 때는 php.ini-dist 나 php.ini-recommended 를 복사해소 php.ini 파일로 만든다. (원칙적으로는 php.ini-recommended 로 해야 보안에 강하다. 그러나 작동이 잘 안해서 가끔 짜증이 난다. 어차피 난 공부용이니까 php.ini-dist 를 사용했다. ) mysql 이 사용할 수 있도록 설정해야 한다. extension_dir 를 찾아 php 폴더및 ext 디렉토리 표시를 해준다.
extension_dir = "C:/tools/apm/php/ext"
그리고 ;extension=php_mysql.dll 라는 곳을 찾아 주석 표시를 제거한다. (주석은 세미콜론 ; 이다. ) 앞으로 다른 확장을 사용하려면 여기서 주석만 제거하면 된다. 그 다음 php\libmysql.dll 과 php\ext\php_mysql 을 접근할 수 있게 해야 한다. 보통 path 를 설정해 주면 된다. 단 path 설정시 사용자에 대한 path 가 아닌 전체 path(환경설정 대화창에서 아래부분에 위치한 곳)을 설정하고, 설정후 재부팅해야 적용된다. 그 전에는 절대 안된다. 아무래도 서비스를 이용한 방식이라는 그런것 같다. 재부팅 할 수 없는 상황이라면 이미 path 가 설정된곳(c:\windows\system32 같은 곳)에 두 파일을 복사해 넣는 것도 방법이다.
설정후 설정이 되었는지 확인하려면 위의 http://localhost:8080/phpinfo.php 에서 mysql 항목이 있는지 확인한다. mysql 이라는 글씨조차 없다면 설정이 잘못된 것이다.
최종 수정일 2006. 12. 3