환경 : CENTOS 5.X (64BIT)
설치 내용
설치 내용
APACHE 2.2 ( mod_url + mod_security )
PHP 5.2.5
MYSQL 4.0.20 (euckr)
MYSQL은 상황에 따라 5.X로 설치해도 무관하다
이 APM을 설치하기 앞서 CENTOS5 버전은 SELINUX를 기본 사용한다
꼭 이것을 disable 한 후 리부팅 한 후에 APM 설치한다
PHP 5.2.5
MYSQL 4.0.20 (euckr)
MYSQL은 상황에 따라 5.X로 설치해도 무관하다
이 APM을 설치하기 앞서 CENTOS5 버전은 SELINUX를 기본 사용한다
꼭 이것을 disable 한 후 리부팅 한 후에 APM 설치한다
[root@localhost ~]# vi /etc/selinux/config
SELINUX=enforcing —> SELINUX=disabled
[root@localhost ~]# init 6 (리부팅)
SELINUX=enforcing —> SELINUX=disabled
[root@localhost ~]# init 6 (리부팅)
1. 라이브러리 설치하기 (기존에는 라이브러리를 일일이 컴파일 하였지만 기본적으로 제공되는 yum
패키지를 이용하여 라이브러리를 설치 하면 된다
[root@idccc ~]# yum -y install gcc gcc-c++ termcap libtermcap libtermcap-devel gdbm-devel zlib* libxml* freetype* libpng* libjpeg* gd gd-devel libmcrypt libmcrypt-devel mhash mhash-devel apr apr-* libc-client-devel openssl-devel krb5-devel
php설치시에 iconv에러가 발생되기 때문에 iconv만 따로 컴파일 작업을 진행한다
[root@loca ~]# wget mirror.koreaidc.com/library/libiconv-1.13.tar.gz
[root@loca ~]# tar xvfz libiconv-1.13.tar.gz
[root@loca ~]# cd libiconv-1.13
[root@loca libiconv-1.13]# ./configure && make && make install
심벌릭 링크
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so.2
php설치시에 iconv에러가 발생되기 때문에 iconv만 따로 컴파일 작업을 진행한다
[root@loca ~]# wget mirror.koreaidc.com/library/libiconv-1.13.tar.gz
[root@loca ~]# tar xvfz libiconv-1.13.tar.gz
[root@loca ~]# cd libiconv-1.13
[root@loca libiconv-1.13]# ./configure && make && make install
심벌릭 링크
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
[root@loca libiconv-1.13]# ln -s /usr/local/lib/libiconv.so.2 /usr/lib64/libiconv.so.2
3. dovecot 설치 ( pop3기능을 하면서 PHP 설치시에 IMAP 기능을 활성하 하기 위해서 설치한다)
하지만 dovecot 을 설치하면 의존성 관계로 mysql이 같이 설치되는데 이것은 추후 삭제하면 된다
[root@idccc ~]# yum -y install dovecot
강제로 mysql을 삭제
[root@idccc ~]# rpm -e mysql –nodeps
강제로 mysql을 삭제
[root@idccc ~]# rpm -e mysql –nodeps
4. MYSQL 설치
mysql 4.x 설치시 에러가 발생되는 경우가 있는데 이는 쓰레드 옵션때문이다
쓰레드를 사용하기 위해서 아래와 같이 옵션을 추가해준다
[root@idccc ~]# echo “/* Linuxthreads */” >> /usr/include/pthread.h
버전에 따라 mysql을 다운로드 하면 된다
[root@idccc ~]# wget mirror.koreaidc.com/mysql/mysql-4.0.20.tar.gz
[root@idccc ~]# tar xvfz mysql-4.0.20.tar.gz
[root@idccc ~]# cd mysql-4.0.20
[root@idccc mysql-4.0.20]# ./configure –prefix=/usr/local/mysql \
–with-unix-soket-path=/usr/local/mysql/tmp –enable-thread-safe-client \
–with-charset=latin1 –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static \
–without-debug –with-innodb –with-readline –with-berkeley-db –without-bench \
–with-extra-charsets=complex –with-charset=euc_kr –localstatedir=/free/mysql_data
[root@idccc mysql-4.0.20]# make
[root@idccc mysql-4.0.20]# make install
데이터베이스 인스톨
[root@idccc mysql-4.0.20]# cd /usr/local/mysql/bin
[root@idccc bin]# ./mysql_install_db
환경설정 파일 복사 및 퍼미션 변경
[root@idccc bin]# cd /usr/local/mysql/share/mysql
[root@idccc mysql]# cp -p ./mysql.server /usr/bin
[root@idccc mysql]# cp -a /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
[root@idccc mysql]# ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S97mysql
[root@idccc mysql]# chown -R root /usr/local/mysql
[root@idccc mysql]# chown -R mysql /free/mysql_data
[root@idccc mysql]# chgrp -R mysql /usr/local/mysql
[root@idccc mysql]# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf
[root@idccc ~]# tar xvfz mysql-4.0.20.tar.gz
[root@idccc ~]# cd mysql-4.0.20
[root@idccc mysql-4.0.20]# ./configure –prefix=/usr/local/mysql \
–with-unix-soket-path=/usr/local/mysql/tmp –enable-thread-safe-client \
–with-charset=latin1 –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static \
–without-debug –with-innodb –with-readline –with-berkeley-db –without-bench \
–with-extra-charsets=complex –with-charset=euc_kr –localstatedir=/free/mysql_data
[root@idccc mysql-4.0.20]# make
[root@idccc mysql-4.0.20]# make install
데이터베이스 인스톨
[root@idccc mysql-4.0.20]# cd /usr/local/mysql/bin
[root@idccc bin]# ./mysql_install_db
환경설정 파일 복사 및 퍼미션 변경
[root@idccc bin]# cd /usr/local/mysql/share/mysql
[root@idccc mysql]# cp -p ./mysql.server /usr/bin
[root@idccc mysql]# cp -a /usr/local/mysql/share/mysql/mysql.server /etc/rc.d/init.d/mysql
[root@idccc mysql]# ln -s /etc/rc.d/init.d/mysql /etc/rc.d/rc3.d/S97mysql
[root@idccc mysql]# chown -R root /usr/local/mysql
[root@idccc mysql]# chown -R mysql /free/mysql_data
[root@idccc mysql]# chgrp -R mysql /usr/local/mysql
[root@idccc mysql]# cp /usr/local/mysql/share/mysql/my-huge.cnf /etc/my.cnf
5. APACHE 설치
[root@idccc mysql]# cd /root
[root@idccc ~]# wget http://mirror.koreaidc.com/apache/httpd-2.2.14.tar.gz
[root@idccc ~]# tar xvfz httpd-2.2.14.tar.gz
[root@idccc ~]# cd httpd-2.2.14
기본값으로 설치시에는 최대 접속자수가 256이다 이것을 2048까지 늘려주기 위해 파일을 수정한다
여기서는 vi를 이용하지 않고 perl을 이용해 바로 수정하였다
[root@idccc httpd-2.2.14]# perl -pi -e “s/LIMIT 256/LIMIT 2048/g” server/mpm/prefork/prefork.c
[root@idccc httpd-2.2.14]# perl -pi -e “s/LIMIT 16/LIMIT 128/g” server/mpm/worker/worker.c
컴파일 작업 (옵션 내용중에서 prefork 방식과 worker 방식이 있는데 쓰레드 방식을 이용한다면
worker 선택하면 된다 즉 자식 프로세서를 이용한다는 것이다)
[root@idccc httpd-2.2.14]# ./configure –prefix=/usr/local/apache –enable-mods-shared=all –enable-module=shared –enable-rewrite –enable-ssl –with-ssl –with-mpm=worker
[root@idccc httpd-2.2.14]# make
[root@idccc httpd-2.2.14]# make install
mod_url 설치 (한글로 된 파일 오류 표시 수정)
[root@idccc ~]# wget mirror.koreaidc.com/apache/mod_url-apache2-1[1].15.tar.bz2
[root@idccc ~]# tar xvfj mod_url-apache2-1\[1\].15.tar.bz2
[root@idccc ~]# cd mod_url-apache2
[root@idccc mod_url-apache2]# /usr/local/apache/bin/apxs -iac mod_url.c
이제 APACHE는 설치가 완료되었으므로 상황에 맞게 APACHE를 튜닝하면 된다
[root@idccc ~]# wget http://mirror.koreaidc.com/apache/httpd-2.2.14.tar.gz
[root@idccc ~]# tar xvfz httpd-2.2.14.tar.gz
[root@idccc ~]# cd httpd-2.2.14
기본값으로 설치시에는 최대 접속자수가 256이다 이것을 2048까지 늘려주기 위해 파일을 수정한다
여기서는 vi를 이용하지 않고 perl을 이용해 바로 수정하였다
[root@idccc httpd-2.2.14]# perl -pi -e “s/LIMIT 256/LIMIT 2048/g” server/mpm/prefork/prefork.c
[root@idccc httpd-2.2.14]# perl -pi -e “s/LIMIT 16/LIMIT 128/g” server/mpm/worker/worker.c
컴파일 작업 (옵션 내용중에서 prefork 방식과 worker 방식이 있는데 쓰레드 방식을 이용한다면
worker 선택하면 된다 즉 자식 프로세서를 이용한다는 것이다)
[root@idccc httpd-2.2.14]# ./configure –prefix=/usr/local/apache –enable-mods-shared=all –enable-module=shared –enable-rewrite –enable-ssl –with-ssl –with-mpm=worker
[root@idccc httpd-2.2.14]# make
[root@idccc httpd-2.2.14]# make install
mod_url 설치 (한글로 된 파일 오류 표시 수정)
[root@idccc ~]# wget mirror.koreaidc.com/apache/mod_url-apache2-1[1].15.tar.bz2
[root@idccc ~]# tar xvfj mod_url-apache2-1\[1\].15.tar.bz2
[root@idccc ~]# cd mod_url-apache2
[root@idccc mod_url-apache2]# /usr/local/apache/bin/apxs -iac mod_url.c
이제 APACHE는 설치가 완료되었으므로 상황에 맞게 APACHE를 튜닝하면 된다
6.PHP 설치
PHP설치에 앞서 라이브러리를 인식시키는 작업을 한다
[root@loca ~]# echo “/lib” >> /etc/ld.so.conf
[root@loca ~]# echo “/lib64” >> /etc/ld.so.conf
[root@loca ~]# echo “/lib” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/apache/modules” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/lib64” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/lib64” >> /etc/ld.so.conf
[root@loca ~]# ldconfig
PHP 다운로드 및 설치
[root@idccc ~]# wget http://mirror.koreaidc.com/php/php-5.2.5.tar.gz
[root@idccc ~]# tar xvfz php-5.2.5.tar.gz
[root@idccc ~]# cd php-5.2.5
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/apache/conf –with-png-dir=/usr/lib64 –with-zlib-dir=/usr/lib64 –with-gdbm=/usr/lib64 –with-gif-dir=/usr/lib64 –with-iconv=/usr/local –with-libidn=/usr/lib64 –with-freetype-dir=/usr –with-jpeg-dir=/usr –enable-mod-charset –with-language=korean –with-charset=euc_kr –with-gettext –with-ldap-dir=/usr/lib –with-imap –with-imap-ssl –with-ttf –with-kerberos –with-curl –with-db –with-png –with-zlib –with-xml –with-idn –with-gd –enable-exif –enable-trans-sid –enable-wddx –enable-magic-quotes –enable-calendar –enable-sockets –enable-ftp –enable-gd-imgstrttf –enable-bcmath –enable-force-cgi-redirect –enable-track-vars=yes –enable-mbstring –enable-mbregex –enable-mbstr-enc-trans –enable-sigchild –enable-idn –enable-sockets –enable-dbx –enable-dbase
[root@idccc php-5.2.5]# make
[root@idccc php-5.2.5]# make install
php.ini 파일 복사 및 환경설정 내용 변경 (vi로 변경해도 되지만 쉽게 perl로 변경)
[root@idccc php-5.2.5]# cp -a php.ini-dist /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/register_globals = Off/register_globals = On/g” /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/upload_max_filesize = 2M/upload_max_filesize = 12M/g” /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/allow_url_fopen = On/allow_url_fopen = Off/g” /usr/local/apache/conf/php.ini
일반 사용자도 php를 사용할수 있게 심벌릭 링크
[root@idccc php-5.2.5]# ln -s /usr/local/php/bin/php /usr/bin/php
아파치에 모듈 추가
[root@idccc php-5.2.5]# vi /usr/local/apache/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
[root@loca ~]# echo “/lib” >> /etc/ld.so.conf
[root@loca ~]# echo “/lib64” >> /etc/ld.so.conf
[root@loca ~]# echo “/lib” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/mysql/lib/mysql” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/apache/modules” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/lib64” >> /etc/ld.so.conf
[root@loca ~]# echo “/usr/local/lib64” >> /etc/ld.so.conf
[root@loca ~]# ldconfig
PHP 다운로드 및 설치
[root@idccc ~]# wget http://mirror.koreaidc.com/php/php-5.2.5.tar.gz
[root@idccc ~]# tar xvfz php-5.2.5.tar.gz
[root@idccc ~]# cd php-5.2.5
./configure –prefix=/usr/local/php –with-mysql=/usr/local/mysql –with-apxs2=/usr/local/apache/bin/apxs –with-config-file-path=/usr/local/apache/conf –with-png-dir=/usr/lib64 –with-zlib-dir=/usr/lib64 –with-gdbm=/usr/lib64 –with-gif-dir=/usr/lib64 –with-iconv=/usr/local –with-libidn=/usr/lib64 –with-freetype-dir=/usr –with-jpeg-dir=/usr –enable-mod-charset –with-language=korean –with-charset=euc_kr –with-gettext –with-ldap-dir=/usr/lib –with-imap –with-imap-ssl –with-ttf –with-kerberos –with-curl –with-db –with-png –with-zlib –with-xml –with-idn –with-gd –enable-exif –enable-trans-sid –enable-wddx –enable-magic-quotes –enable-calendar –enable-sockets –enable-ftp –enable-gd-imgstrttf –enable-bcmath –enable-force-cgi-redirect –enable-track-vars=yes –enable-mbstring –enable-mbregex –enable-mbstr-enc-trans –enable-sigchild –enable-idn –enable-sockets –enable-dbx –enable-dbase
[root@idccc php-5.2.5]# make
[root@idccc php-5.2.5]# make install
php.ini 파일 복사 및 환경설정 내용 변경 (vi로 변경해도 되지만 쉽게 perl로 변경)
[root@idccc php-5.2.5]# cp -a php.ini-dist /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/register_globals = Off/register_globals = On/g” /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/upload_max_filesize = 2M/upload_max_filesize = 12M/g” /usr/local/apache/conf/php.ini
[root@idccc php-5.2.5]# perl -pi -e “s/allow_url_fopen = On/allow_url_fopen = Off/g” /usr/local/apache/conf/php.ini
일반 사용자도 php를 사용할수 있게 심벌릭 링크
[root@idccc php-5.2.5]# ln -s /usr/local/php/bin/php /usr/bin/php
아파치에 모듈 추가
[root@idccc php-5.2.5]# vi /usr/local/apache/conf/httpd.conf
LoadModule php5_module modules/libphp5.so
7. ZendOptimizer 설치 (php 가속도를 위해서 설치)
[root@idccc ~]# wget http://mirror.koreaidc.com/Zend/ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
[root@idccc ~]# tar xvfz ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
[root@idccc ~]# cd ZendOptimizer-3.3.3-linux-glibc23-x86_64
[root@idccc ZendOptimizer-3.3.3-linux-glibc23-x86_64]# ./install
php.ini 위치 입력시 다음과 같이 입력 : /usr/local/apache/conf
[root@idccc ~]# tar xvfz ZendOptimizer-3.3.3-linux-glibc23-x86_64.tar.gz
[root@idccc ~]# cd ZendOptimizer-3.3.3-linux-glibc23-x86_64
[root@idccc ZendOptimizer-3.3.3-linux-glibc23-x86_64]# ./install
php.ini 위치 입력시 다음과 같이 입력 : /usr/local/apache/conf
8. 이제 최종 모두 설치가 완료 되었다
각 데모은 실행시켜보면 동작이 되는지를 확인하며 된다