최근에 [JOINC_검색엔진]프로젝트를 시작하게 되었는데, 프로젝트 진행및 결과 테스트를 위해서 개인 PC서버에 별도의 APM(:12)환경을 만들어야될 필요성을 느꼈다. joinc서버에서 직접 테스트를 하기에는 아무래도 부담이 되기 때문이다. 이 문서는 APM환경을 만들기 까지의 과정을 담고 있다.
APM 설치 (Apache 1.3.x)
필자는 예전부터 서버프로그램의 경우 rpm보다는 직접 컴파일하는 걸 선호 했었다. APM역시 모든 프로그램들을 컴파일해서 설치하도록 할것이다.
Mysql->PHP->Apache 순서로 설치한다.
Mysql 설치
현재 joinc의 서버환경에 맞추어서 다음과 같은 mysql-3.23.57버젼을 설치하기로 했다. mysql(:12)소스는 g에서 다운로드 받을 수 있다.
일단 다운로드 받은 파일을 /usr/src로 옮긴다음에 압축을 풀고 ./configure, make, make install의 방법으로 설치를 했다.
$ ./configure --with-charset=euc_kr
$ make
$ make install
문자셋을 ecu_kr로 설정한것을 빼놓고는 별다른 설정을 하지 않았다. 이경우 다음과 같은 경로로 서버 환경이 설정된다.
실행파일 경로 : /usr/local/bin
DB파일 경로 : /usr/local/var
make install까지 해서 설치를 마쳤다면 mysql계정을 만들어 줘야 한다. mysql서버는 보안상의 이유로 반드시 mysql계정을 필요로 한다. 유저를 생성시켰다면 mysql_install_db를 이용해서 db파일 시스템을 만들도록 한다.
$ adduser mysql
$ mysql_install_db
이제 mysql서버를 가동하고 mysql root패스워드를 생성하도록 하자. 서버를 가동하게 되면 자동적으로 mysql유저로 스위치 유저하게 되는데 이런 이유로 DB파일들이 위치하는 /usr/local/var에 대해서 mysql유저가 액세스할 수 있도록 권한을 만들어 줘야 한다.
Apache 1.3.29와 PHP(:12) 4.3.4를 설치하기로 했다. 각각 http://www.php.net에서 다운로드 받도록 하자.
Apache는 DSO를 지원하도록 아래와 같이 컴파일 후 설치했다.
$ ./configure --prefix=/usr/local/apache --enable-shared=max --enable-rule=SHARED_CORE --enable-module=most
$ make
$ make install
다음 php를 설치하도록 한다. 여기에서는 mysql만 지원하도록 설정하고 있는데, 필요에 따라서 gd, oracle, pgsql등의 지원확장이 가능하다. 자세한 내용은 ./configure --help를 이용하기 바란다.
$ ./configure --prefix=/usr/local/php --with-mysql \
--with-config-file-path=/usr/local/apache/conf \
--with-apxs=/usr/local/apache/bin/apxs \
--with-charset=euc_kr --with-language=korean
$ make
$ make install
SQLite 지원
개인적으로 SQLite(:12)에 대한 관심을 가지고 있었던 관계로 만약을 대비해서 SQLite(:12)도 지원하도록 php를 빌드하기로 했다. php 4.x 버젼의 경우 아직 sqlite를 정식으로 지원하지 않는 이유로 다른 여러가지 부가작업을 필요로 했다.
위의 부가 작업들이 귀찮아서 sqlite를 직접 지원하는 php5.x를 설치하기로 했다. 다음은 sqlite를 지원하기 위해서 약간 변경된 빌드 과정이다. 4.x에 비해서 빌드하는데 꽤 많은 시간이 걸렸다.
$ ./configure --prefix=/usr/local/php --with-mysql \
--with-config-file-path=/usr/local/apache/conf \
--with-apxs=/usr/local/apache/bin/apxs \
--with-charset=euc_kr --with-language=korean \
--with-sqlite
$ make
$ make install
php5.x의 경우 libxml2-2.5.10 이상의 버젼을 필요로 했다. 현재 RedHat9 배포판의 경우 libxml2 버젼이 이에 미치지 못한 관계로 최신 버젼으로 업데이트 시켰다. libxml2와 관련된 소스와 rpm은 xmlsoft에서 다운로드 받을 수 있다.
Apache 서버의 가동 및 테스트
Apache 서버를 가동시키기 위해서 설정파일(httpd.conf)에 아래의 내용을 추가하도록 한다.
Unix환경에서의 시스템관리자나 프로그래머의 경우 새로운 툴을 이용하는데 있어서 약간 보수적인 경향이 있다. 그런 이유로 최신의 툴이 나온다고 하더라도 어느정도 검증이 되었다고 판단 되는 시점에서 해당 툴을 테스트하고 이용하는 경우가 일반적이다. (물론 귀차니즘도 한몫하지만)
필자 역시 여러가지 이유로 Apache(:12) 1.x, Mysql(:12) 3.x, PHP(:12) 4.x의 구버전을 사용해왔었는데, 노트북에 리눅스를 설치한 기념으로 최신의 APM 환경을 구축하고 테스트 해보기로 했다. 노트북에 설치할 APM 환경은 다음과 같다.
httpd-2.0.54
php 5.5
sqlite 3.2.7
Mysql 4.1.14
gd-2.0.28
mysql 설치
mysql 서버데몬의 실행을 위한 프로그램의 이름이 safe_mysqld 에서 mysqld_safe로 변경되었다는 점을 제외하고는 동일한 방법으로 설치 가능하다.
sqlite 설치
아주 간단하다. 굳이 구구절절이 설명하지 않겠다.
# ./configure
...
# make
# make install
apache 설치
DSO를 지원하도록 했다. 아래와 같은 옵션을 주고 configure를 실행시켰다. 결론적으로 apache 1.x와 동일한 옵션을 사용하고 있다.
$ ./configure --prefix=/usr/local/apache --enable-shared=max --enable-rule=SHARED_CORE --enable-module=most
$ make
$ make install
Error Documnet 설정
404 에러에 대해서 사용자 설정페이지가 뜨도록 했다. 사용자 설정페이지가 뜨게하는 것은 간단하다.
Contents
소개
APM 설치 (Apache 1.3.x)
Mysql 설치
Apache + PHP 설치
SQLite 지원
Apache 서버의 가동 및 테스트
APM 설치 (Apache 2.x)
mysql 설치
sqlite 설치
apache 설치
Error Documnet 설정
php 설치
tattertools를 위한 mod_rewrite
apache2.2.9로 업그레이드
앞으로의 계획
참고문헌
Recent Posts
Archive Posts
Tags