1. Apache 2.0, PHP, MySQL 설치하기
(1) 설명 : Apache 2.0.x 버전, PHP, MySQL의 설치순서는 크게 신경쓰지 않아도 되지만 보통 데이터
베이스가 기본이 되므로 MySQL를 설치하고, Apache를 설치한 뒤에 마지막으로 PHP를 설치
하면 된다.
(2) 설치하기
1) Apache ,PHP, MySQL 소스파일(source파일: tar.gz로 된 파일)을 다운받아 /usr/local/srt에
위치시킨다.
예) Apache => www.apache.org
MySQL => www.mysql.com
PHP => www.php.net
2) 다운받은 파일들의 압축을 푼다.
예) tar zxvf mysql-3.23.57.tar.gz
tar zxvf httpd-2.0.47.tar.gz
tar zxvf php-4.3.2.tar.gz
3) 기존의 인스톨된 apache제거하기 : rpm패키지로 설치되어 있는 아파치 웹서버 프로그램을 삭
제한다. 꼭 삭제할 필요는 없지만, 공간도 차지하고 새롭게
설치할 아파치와 충돌될 수도 있다.
ㄱ. 아파치 데몬을 정지시킴 : /etc/rc.d/init.d/httpd stop
=> 아파치 데몬이 작동하지 않을 수도 있다.
ㄴ. 인스톨된 아파치를 찾는다. : rpm -qi apache 또는 rpm -qi httpd
=> 아파치 1.3 버전은 apache라는 이름으로 설치되지만, 2.0버전은 httpd라는 이름으로
설치되므로 두 가지 모두 검색해서 나오는 것을 삭제한다.
ㄷ. 찾아진 아파치를 제거한다.
예) rpm -e httpd --nodeps
4) PHP 및 MySQL도 찾아서 존재하면 삭제한다.
ㄱ. 검색
rpm -qi php
rpm -qi mysql
ㄴ. 삭제
rpm -e php --nodeps
rpm -e mysql --nodeps
5) MySQL 설치하기
ㄱ. mysql 소스파일의 압축을 푼 디렉토리로 이동한다.
예) cd /usr/local/srt/mysql-3.23.57
ㄴ. ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
=> --prefix는 인스톨한 기본 디렉토리를 지정하는 옵션이다. --with-charset=euc_kr은
한글을 지원한다는 뜻이다. 이 옵션을 지정하지 않아도 큰 상관은 없지만 정확한 한글
정렬을 위해 필요하다.
(참고) 기타 많이 쓰는 옵션으로 locatstatedir= 있는데 이것은 DB데이터를 저장할
디렉토리를 지정하는 옵션이다.
예) localstatedir=/usr/local/mysql/data
ㄷ. make
=> 소스이기 때문에 컴파일과정이 필요하다.
ㄹ. make install
=> 컴파일한 것을 실행시켜 설치한다.
ㅁ. 참고: MySQL의 테스트
1. MySQL의 기본 데이터베이스생성하기 : 처음 설치시 한번 꼭 실행한다. 이 작업은 MySQL
기본 데이터베이스인 mysql과 testdb를 설치해준다.
예) /usr/local/mysql/bin/mysql_install_db
2. MySQL데몬을 띄운다. : 설치된 디렉토리로 이동하여 데몬을 띄운다.
예) /usr/local/mysql/bin/safe_mysqld --user=root &
3. 실행
예) /usr/locasl/mysql/bin/mysql -uroot mysql
4. 성공으로 실행됐을 경우 : 다음과 같이 mysql> 이라는 프롬프트가 나타나면 정상적으로
설치된 것이다. quit명령을 내려 데이터베이스에서 빠져나온다.
예) mysql> quit
bye
6) apache 설치하기
ㄱ. apache압축을 푼 디렉토리로 이동한다.
예) cd /usr/local/srt/httpd-2.0.47
ㄴ. ./configure --prefix=/usr/local/apache --enable-mods-shared=most --enable-module=so
=> --prefix는 아파치가 설치될 디렉토리를 지정하는 것이고, --enable-mods-shared=most
와 --enable-module=so는 DSO방식으로 PHP 모듈이 사용될 수 있도록 지정하는 옵션이다.
ㄷ. make
ㄹ. make install
7) php설치
ㄱ. php압축을 푼 디렉토리로 이동한다.
예) /usr/local/srt/php-4.3.2
ㄴ. ./configure --with-apxs2=/usr/local/apache/bin/apxs --with-mysql=/usr/local/mysql
--with-config-file-path=/usr/local/apache/conf --with-exec-dir=/usr/local/apache/bin
--enable-track-vars --enable-trans-sid
=> (설명)
--with-apxs2 는 PHP가 아파치데몬에 DSO 모듈로 로딩되도록 하기 위해서 apxs파일의
위치를 지정하는 것이고 --with-mysql은 MySQL과 연동하기 위해 MySQL이 설치되어 있는
디렉토리를 가리키는 것이다. --with-config-file-path는 php.ini파일의 경로를 지정하는
옵션이고, --with-exec-dir은 아파치데몬의 실행경로는 지정한다. --enable-track-vars는
HTTP_GET_VARS, HTTP_POST_VARS, HTTP_COOKIE_VARS 배열에 있는 GET/POST/COOKIE변수들이
어디서 왔는지 기억하고 있게 만들고 --enable-trans-sid는 보안과 관련된 옵션이다.
ㄷ. make
ㄹ. make install
ㅁ. cp php.ini-dist /usr/local/apache/conf/php.ini
=> 소스디렉토리에 있는 php.ini를 /usr/local/apache/conf디렉토리에 php.ini로 복사한다.
8) httpd.conf설정(/usr/local/apache/conf/httpd.conf의 환경파일을 설정)
ㄱ. ServerName의 항목을 찾아 입력: 도메인이름 또는 IP주소를 입력한다.
ㄴ. DSO support항목에서 아래 모듈부분이 활성화되어있는지 확인한다.
LoadModule php4_module modules/libphp4.so
ㄷ. php관련환경설정 : AddType이라는 항목이 모여있는 곳으로 이동한 뒤 아래와 같이 추가한다.
예)
AddType application/x-httpd-php .php .htm .html .inc .php4 .php3
AddType application/x-httpd-php-source .phps
9) 아파치 데몬을 재가동한다.
예) /usr/local/apache/bin/apachectl restart
2. Apache 2.0, PHP, MySQL 연동 확인
(1) 아파치 테스트하기
1) 설명: 위와 같이 소스로 컴파일하면 아파치 설치디렉토리가 /usr/local/apache가 된다. 웹문서
를 올려서 아파치 웹서버가 동작하는지 확인한다. 웹문서디렉토리는 /usr/local/apache/
htdocs 이다.
2) 방법
ㄱ. /usr/local/apache/htdocs 디렉토리에 작성한 웹문서(index.html)를 올린다.
ㄴ. 아파치데몬의 작동유무를 확인한다. 아래와 같이 재가동해도 된다.
예) /usr/local/apache/bin/apachectl restart
ㄷ. 웹브라우저를 띄우고 확인한다.
예) http://localhost (리눅스의 X-window에서 로컬로 확인할 경우)
http://192.168.0.1 (IP주소로 세팅한 경우)
http://linux.co.kr (도메인으로 세팅한 경우)
(2)아파치와 PHP가 제대로 연동되는지 테스트해보기
1) 설명: test.php라는 간단한 php문서를 phpinfo()라는 PHP정보를 보여주는 함수를 이용해서
작성한 뒤에 웹상에서 불어오도록 한다.
2) 방법
ㄱ. 아래와 같이 test.php 를 만든다.
<?
phpinfo();
?>
ㄴ. 위 파일을 /usr/local/apache/htdocs 디렉토리에 위치시킨다.
ㄷ. 웹상에서 불러본다.
예) http://localhost/test.php
http://192.168.0.1/test.php
http://linux.co.kr/test.php
3) 결과
ㄱ. 설명: php관련정보가 뜬다면 제대로 세팅된 것이다. 만약 정보가 제대로 보이지 않고 소스
즉 위의 내용이 그대로 웹페이지에 보인다면 다음과 같이 해본다.
ㄴ. 오류해결
a. 재부팅하거나 'depmod -a' 명령을 내린다.
=> 관련 새로 설치된 PHP관련 모듈이 라이브러리로 올라가지 않아서 그럴수도 있으니 재부
팅하면 리눅스서버에서 관련 모듈들을 다시 읽어들이므로 PHP가 정상적으로 작동한다.
b. 재부팅해서 안되면 아파치와 PHP 설치시 환경설정 오류일 수 있으니 아파치와 PHP를 다시
컴파일한다. 기존의 압축파일을 지우고 tar파일을 다시 풀고 설치해도 되고, 아니면
make clean명령으로 지정한 설정을 초기화한뒤 다시 configure 부터 해도 된다.
(3) PHP 설치후에 Form태그와의 연동에 대하여
1) 설명: PHP 4.2.x 버전부터 php.ini의 항목중에 register_globals라는 값이 Off되어 있다. 보안
상 이 값이 Off가 되어 있다. (설치시에 컴파일을 다 끝내면 화면에 메시지로 찍힌다.)
만약 이 값을 On하지 않고 Form태그를 이용해서 MySQL에 데이터를 입력하면 값이 무조건
공백으로 들어간다. 이 값을 On 해야 된다.
2) 방법
1) vi /usr/local/apache/conf/php.ini 로 파일은 연다.
2) register_globals=On 으로 바꾼다.
3) 아파치를 재시작한다. ( PHP는 환경설정이 바뀌면 아파치에 모듈화에서 설치되어 있으므로
아파치만 재시작하면 자동으로 관련설정이 바뀐다.)
예) /usr/local/apache/bin/apachectl restart
--------------empas 에서 퍼옴 -----------------
Apache, MySQL, PHP 설치 가이드 (Linux)
2008. 8. 6. 12:02