설치 내용
설치 내용
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. 이제 최종 모두 설치가 완료 되었다
각 데모은 실행시켜보면 동작이 되는지를 확인하며 된다