최신버전의 APM 설치 방법을 담고 있다. 데비안과 우분투 같은 패키지 기반의 배포판에서는 몇 개의 명령어만으로 손쉽게 설치 가능하지만, 여기서는 소스 컴파일 설치를 통해 APM 환경을 구축할 것이다.
참고로 설치환경은 Debian 6.0.6 이며 최신버전이다(2012년 11월 현재).

준비운동 하기

APM 각각 홈페이지에 최신 버전을 다운 받는다. 여기서는 사용할 버전은 다음과 같다.

  1. mysql-5.5.28.tar.gz
  2. httpd-2.2.23.tar.gz
  3. php-5.2.9.tar.gz
  4. apr-1.4.6.tar.gz
  5. apr-util-1.5.1.tar.gz
  6. pcre-8.31.tar.gz

mysql → apache → php 의 순으로 설치한다.

mysql 설치

설치 경로는 다음과 같다.

실행 파일 /usr/local/program/mysql
데이터 파일 /usr/local/program/mysql/data

설치 전에 mysql 에 대한 그룹과 개인 계정을 만든다.

#groupadd mysql
#useradd -M -s /bin/false -g mysql mysql

압축을 풀고 아래와 같이 컴파일 및 설치를 한다.

#cd mysql-5.5.28
#cmake -DCMAKE_INSTALL_PREFIX=/usr/local/program/mysql -DMYSQL_DATADIR=/usr/local/program/mysql/data -DDEFAULT_CHARSET=euckr \
-DDEFAULT_COLLATION=euckr_korean_ci -DWITH_EXTRA_CHARSETS=all
#make
#make install

설치가 완료되었으면, db 초기화 및 계정 암호를 지정해야 한다.

#cd /usr/local/program/mysql
#./scripts/mysql_install_db --user=mysql --datadir=/usr/local/program/mysql/data
#./bin/mysqld_safe &                // 암호를 지정하기 위해서는 mysql 데몬을 실행해야 한다
#./bin/mysqladmin -u root password abcd           // 암호가 abcd 일 때
#./bin/mysqladmin -u root -h fat81 password abcd     // 암호가 abcd 일 때

이제 자동 시작을 위한 스크립트와 설정 파일을 만들 차례다.

#cd /usr/local/program/mysql/support-files
#cp my-medium.cnf /etc/my.cnf

my.cnf 파일은 db 가 실행될 때의 환경 옵션들을 지정하고 있다. 시스템 메모리 크기에 따라서 여러가지 환경 파일들을 제공하고 있다.

64MB 이하 my-small.cnf
65MB ~ 256MB my-medium.cnf
512MB my-large.cnf
1GB ~ 2GB my-huge.cnf

스크립트 파일(/usr/local/program/mysql/support-files/mysql.server)을 열어 아래와 같이 수정한다.

...
basedir=/usr/local/program/mysql            # 추가
datadir=/usr/local/program/mysql/data     # 추가
...

rc 스크립트에 복사하고, 시작할 때 자동으로 실행되도록 설정한다.

#cp mysql.server /etc/init.d/mysqld
#chkconfig --add mysqld
#chkconfig --list |grep mysql
mysqld                    0:off  1:off  2:on   3:on   4:on   5:on   6:off

httpd 설치

httpd 를 설치하기 위해서는 apr, apr-util, pcre 라고 하는 다소 낯선 프로그램을 설치해야 한다. 참고로 이들은 apache 홈페이지에서 다운 받을 수 있다.
설치방법은 다음과 같다.

#cd apr-1.4.6
#./configure --prefix=/usr/local/program/apr
#make ; make install
#cd apr-util-1.5.1
#./configure --prefix=/usr/local/program/apr-util --with-apr=/usr/local/program/apr
#make ; make install
#cd pcre-8.31
#./configure --prefix=/usr/local/program/pcre
#make ; make install

사전 준비가 끝났다. 이제 httpd 를 컴파일 및 설치하자.

#cd httpd-2.2.23
#./configure --prefix=/usr/local/program/httpd --enable-shared=max --enable-module=so
#make
#make install

부팅 시에 자동으로 실행하기 위해 /etc/rc.local 파일에 다음을 추가한다.

/usr/local/program/httpd/bin/apachectl start

php 설치

php 를 설치를 하기전에 필요한 라이브러리를 설치해야 한다.

#apt-get install libxml2-dev libz-dev jpeglib-dev libjpeg-dev libpng-dev

이제 컴파일 및 설치하자.

#cd php-5.2.9
#./configure --prefix=/usr/local/program/php --with-apxs2=/usr/local/program/httpd/bin/apxs --with-mysql=/usr/local/program/mysql \
--with-config-file-path=/usr/local/program/httpd/conf --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib=/usr --enable-mbstring --enable-exif
#make ; make install

php 설정을 위해 php.ini 파일을 /usr/local/program/httpd/conf 아래에 만든다.

#cp php.ini-dist /usr/local/program/httpd/conf/php.ini

웹서버 설정 파일(httpd.conf)에 다음을 추가 한다.

...
<IfModule dir_module>
     DirectoryIndex index.html index.php
</IfModule>
...
AddType application/x-httpd-php .php
AddType application/x-httpd-php-source .phps
...
DocumentRoot "/usr/local/program/httpd/htdocs/www"          // 위키 동기화를 위해 수정
...

추가사항

원격 웹서버(likewind.org)에 수정된 내용을 로컬 웹서버에 동기화 시키면, 인터넷에 굳이 연결되어있지 않아도, 위키를 사용할 수 있다.
동기화를 위해서는 rsync 와 expect 라는 프로그램이 필요하다.

#apt-get install rsync expect rcs

스크립트 파일(web_sync)을 만들고, 이를 시간에 따라 자동으로 실행되도록 cron 에 등록할 것이다.

#!/usr/bin/expect
set timeout  -1  
log_user 0
spawn rsync -avPz --delete --stats -l -t -e ssh fat81@likewind.org:/home/hosting_users/fat81/ /usr/local/program/httpd/htdocs
expect "password: "
send "1234\n"
log_user 1
expect eof 

만들었으면, cron 에 등록한다.

#chmod +x web_sync
#mv web_sync /usr/local/bin
#crontab -e

다음과 같이 작성한다.

*/5 * * * * /usr/local/bin/web_sync 
*/1 * * * * /bin/chown -R daemon.daemon /usr/local/program/httpd/htdocs/

참고로 위의 설정은 매 5분마다 web_sync 스크립트를 실행하는 것이다.

  • computer/networking/apm_구축하기_-_제2판.txt
  • Last modified: 3 years ago
  • by likewind