Environment
CentOS v5.2 (2.6.18-92.1.18.el5)
Apache v2.2.10 (Source설치)
MySQL v5.0.45 (RPM 설치)
PHP v5.2.6
ZendOptimizer v3.3.3
Apache v2.2.10 (Source설치)
MySQL v5.0.45 (RPM 설치)
PHP v5.2.6
ZendOptimizer v3.3.3
설치 순서
MySQL >>> Apache >>> PHP
MySQL >>> Apache >>> PHP
1. MySQL
MySQL RPM버전이 소스 컴파일 한 버전 보다 조금 더 월등하다는 소문이 있다고 하여 RPM으로 설치
# yum -y install mysql mysql-server mysql-connector-odbc mysql-devel
모든 설치가 끝났으면 다시 한번 확인하여 보자.
# rpm -qa | grep mysql
mysql-connector-odbc-3.51.12-2.2
mysql-5.0.45-7.el5
mysql-server-5.0.45-7.el5
libdbi-dbd-mysql-0.8.1a-1.2.2
mysql-devel-5.0.45-7.el5
mysql-connector-odbc-3.51.12-2.2
mysql-5.0.45-7.el5
mysql-server-5.0.45-7.el5
libdbi-dbd-mysql-0.8.1a-1.2.2
mysql-devel-5.0.45-7.el5
한방에 쭉 내려가 보자!
자신에게 맞는 또는 사용하려는 환경파일을 복사하고 MySQL DB를 만들고,
MySQL을 구동 후 Root 비번을 바꾸어 주고 접속을 시도해 본다.
[MySQL 환경 설정]
my-huge.cnf 1G 이상 (시스템 메모리)
my-large.cnf 512M ~ 1G
my-medium.cnf 128M ~ 256M
my-small.cnf 64M 이하
my-small.cnf 64M 이하
# cp /usr/share/mysql/my-huge.cnf /etc/my.cnf
# mysql_install_db && chown -R mysql:mysql /var/lib/mysql/
# /etc/rc.d/init.d/mysqld start
# mysqladmin -u root password "암호"
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
# mysql_install_db && chown -R mysql:mysql /var/lib/mysql/
# /etc/rc.d/init.d/mysqld start
# mysqladmin -u root password "암호"
# mysql -uroot -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.45 Source distribution
Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
mysql>
이로서 MySQL설치는 끝.
2. Apache
아파치를 다운 받고 압축을 풀고 설치 준비를 한다.
아파치 최적화를 위해 2가지 파일을 수정한다.
설정이 끝나면 컴파일하여 설치한 후 아파치를 가동 시켜 웹페이지에서 확인한다.
3. PHP
예전 버전은 쉽게 설치가 되었는데 v5.2.6을 설치 하면서는 조금 시간이 걸렸다.
우선 사전 준비가 필요하다.
PHP와 함게 설치 할 라이브러리를 모두 설치 한다.
여기서는 일반적으로 많이 사용 되는 라이브러리를 설치했다.
라이브러리가 모두 설치 되었으면 PHP 소스파일을 받은 후 압축 을 해제한다.
4. ZendOptimizer
파일 다운로드 후 바로 설치 하면 된다.
이제 부터는 /etc/php.ini가 아닌 /usr/local/Zend/etc/php.ini 가 PHP 설정 파일이 된다.
5. Apache <=> PHP 연동 및 아파치 자동 시작
6. 설치 중 발생했던 오류들
MySQL, Apache, PHP는 정상 설치 되었지만 Apache-PHP연동 및 PHP-Zend에서 몇몇 오류가 발생되었다.
6-1. libphp5.so
[해결방법]
6-2. Zend Module미설치 (phpinfo에서 확인 가능)
[해결방법]
아파치를 다운 받고 압축을 풀고 설치 준비를 한다.
# wget http://www.apache.org/dist/httpd/httpd-2.2.10.tar.gz
# bunzip2 httpd-2.2.10.tar.gz
# tar xvf bunzip2
# cd httpd-2.2.10
# bunzip2 httpd-2.2.10.tar.gz
# tar xvf bunzip2
# cd httpd-2.2.10
아파치 최적화를 위해 2가지 파일을 수정한다.
vi server/mpm/prefork/prefork.c
#define DEFAULT_SERVER_LIMIT 1280
vi server/mpm/worker/worker.c
#define DEFAULT_SERVER_LIMIT 20
#define DEFAULT_SERVER_LIMIT 1280
vi server/mpm/worker/worker.c
#define DEFAULT_SERVER_LIMIT 20
# ./configure \
--prefix=/usr/local/apache \
--enable-so \
--enable-module=so \
--enable-shared=max \
--enable-module=rewrite \
--enable-shared=rewrite
--prefix=/usr/local/apache \
--enable-so \
--enable-module=so \
--enable-shared=max \
--enable-module=rewrite \
--enable-shared=rewrite
설정이 끝나면 컴파일하여 설치한 후 아파치를 가동 시켜 웹페이지에서 확인한다.
# make && make install && /usr/local/apache/bin/apachectl start
3. PHP
예전 버전은 쉽게 설치가 되었는데 v5.2.6을 설치 하면서는 조금 시간이 걸렸다.
우선 사전 준비가 필요하다.
PHP와 함게 설치 할 라이브러리를 모두 설치 한다.
여기서는 일반적으로 많이 사용 되는 라이브러리를 설치했다.
yum -y install \
libxml2 \
libxml2-devel \
libjpeg \
libjpeg-devel \
libpng \
libpng-devel \
freetype \
freetype-devel \
gmp \
gmp-devel \
libc-client-devel \
openssl \
openssl-devel \
mhash \
mhash-devel \
libmcrypt \
libmcrypt-devel
libxml2 \
libxml2-devel \
libjpeg \
libjpeg-devel \
libpng \
libpng-devel \
freetype \
freetype-devel \
gmp \
gmp-devel \
libc-client-devel \
openssl \
openssl-devel \
mhash \
mhash-devel \
libmcrypt \
libmcrypt-devel
라이브러리가 모두 설치 되었으면 PHP 소스파일을 받은 후 압축 을 해제한다.
# wget http://kr2.php.net/get/php-5.2.6.tar.bz2/from/this/mirror
# bunzip2 php-5.2.6.tar.bz2
# tar xvf php-5.2.6.tar
# cd php-5.2.6
# bunzip2 php-5.2.6.tar.bz2
# tar xvf php-5.2.6.tar
# cd php-5.2.6
* php-5.2.6.tar.bz2와 같이 tar로 묶어 bzip으로 압축한 파일들은 아래와 같은 방법으로 한 줄로도 압축 해제가 가능하다.
# bunzip2 -c php-5.2.6.tar.bz2 | tar xvf -
# bunzip2 -c php-5.2.6.tar.bz2 | tar xvf -
# CFLAGS="-O3 -march=i686 -funroll-loops -fomit-frame-pointer" \
./configure \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql \
--disable-debug \
--disable-posix \
--disable-rpath \
--enable-safe-mode \
--enable-magic-quotes \
--disable-dmalloc \
--enable-bcmath \
--enable-gd-native-ttf \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--enable-inline-optimization \
--enable-mbstring \
--enable-mbregex \
--enable-gd-native-ttf \
--with-config-file-path=/usr/local/lib \
--with-jpeg-dir \
--with-freetype-dir \
--with-imap=shared \
--with-imap-ssl=/usr/lib \
--with-kerberos \
--with-mhash \
--with-mcrypt=/usr/local/lib\
--with-curl=/usr/local/lib \
--with-zlib \
--with-gd \
--with-ttf \
--with-gmp \
--with-mhash \
--with-openssl
# make && make install
# cp php.ini-dist /usr/local/lib/php.ini
./configure \
--with-apxs2=/usr/local/apache/bin/apxs \
--with-mysql \
--disable-debug \
--disable-posix \
--disable-rpath \
--enable-safe-mode \
--enable-magic-quotes \
--disable-dmalloc \
--enable-bcmath \
--enable-gd-native-ttf \
--enable-sysvsem \
--enable-sysvshm \
--enable-wddx \
--enable-inline-optimization \
--enable-mbstring \
--enable-mbregex \
--enable-gd-native-ttf \
--with-config-file-path=/usr/local/lib \
--with-jpeg-dir \
--with-freetype-dir \
--with-imap=shared \
--with-imap-ssl=/usr/lib \
--with-kerberos \
--with-mhash \
--with-mcrypt=/usr/local/lib\
--with-curl=/usr/local/lib \
--with-zlib \
--with-gd \
--with-ttf \
--with-gmp \
--with-mhash \
--with-openssl
# make && make install
# cp php.ini-dist /usr/local/lib/php.ini
4. ZendOptimizer
파일 다운로드 후 바로 설치 하면 된다.
# wget http://downloads.phpchina.com/zend/optimizer/3.3.3/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.3-linux-glibc23-i386
# ./install
설치 중 나오는 메뉴는 기본으로 모두 다음 > 다음 눌러 설치하면 된다.# tar xzvf ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
# cd ZendOptimizer-3.3.3-linux-glibc23-i386
# ./install
이제 부터는 /etc/php.ini가 아닌 /usr/local/Zend/etc/php.ini 가 PHP 설정 파일이 된다.
5. Apache <=> PHP 연동 및 아파치 자동 시작
# vi /usr/local/apache/conf/httpd.conf
// 맨 뒷 줄에 추가
DirectoryIndex index.html index.htm index.php
AddType application/x-httpd-php .php .phtml .php3 .html .htm
AddType application/x-httpd-php-source .phps
// 맨 뒷 줄에 추가
DirectoryIndex index.html index.htm index.php
AddType application/x-httpd-php .php .phtml .php3 .html .htm
AddType application/x-httpd-php-source .phps
# vi /usr/local/apache/conf/mime.types
// 맨 뒷줄에 추가
application/x-httpd-php php ph inc
application/x-httpd-php-source phps
# /usr/local/apache/bin/apachectl restart
# vi /etc/rc.d/rc.local
// 맨 뒷줄에 추가
/usr/local/apache/bin/apachectl start
# ntsysv
[*] mysqld
// 맨 뒷줄에 추가
application/x-httpd-php php ph inc
application/x-httpd-php-source phps
# /usr/local/apache/bin/apachectl restart
# vi /etc/rc.d/rc.local
// 맨 뒷줄에 추가
/usr/local/apache/bin/apachectl start
# ntsysv
[*] mysqld
6. 설치 중 발생했던 오류들
MySQL, Apache, PHP는 정상 설치 되었지만 Apache-PHP연동 및 PHP-Zend에서 몇몇 오류가 발생되었다.
6-1. libphp5.so
# /usr/local/apache/bin/apachectl restart
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
httpd: Syntax error on line 53 of /usr/local/apache/conf/httpd.conf: Cannot load /usr/local/apache/modules/libphp5.so into server: /usr/local/apache/modules/libphp5.so: cannot restore segment prot after reloc: Permission denied
[해결방법]
6-2. Zend Module미설치 (phpinfo에서 확인 가능)
[해결방법]
'Server > Linux' 카테고리의 다른 글
FIND - 파일안에 내용 찾기 (0) | 2008.11.24 |
---|---|
utf8_mime2text() (0) | 2008.11.23 |
ZendOptimizer.so: cannot restore segment prot after reloc: Permission denied (0) | 2008.11.23 |
libphp5.so : cannot restore segment prot after reloc: Permission denied (0) | 2008.11.23 |
Red Hat Enterprise Linux AS release 4 (Nahant Update 4) Daemon List (0) | 2008.11.21 |