Centos + Apache + Php + Mysql InstallCentos + Apache + Php + Mysql Install
Posted at 2010. 10. 5. 13:13 | Posted in Server설치 순서
MySQL >>> Apache >>> PHP
wget http://mirror.khlug.org/apache/httpd/httpd-2.2.11.tar.gz
wget http://www.php.net/get/php-5.2.9.tar.gz/from/kr2.php.net/mirror
wget http://dev.mysql.com/get/Downloads/MySQL-6.0/mysql-6.0.9-alpha-linux-i686-glibc23.tar.gz/from/ftp://mirror.khlug.org/mysql/
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 DB를 만들고,
MySQL을 구동 후 Root 비번을 바꾸어 주고 접속을 시도해 본다.
[MySQL 환경 설정]
my-huge.cnf 1G 이상 (시스템 메모리)
my-large.cnf 512M ~ 1G
my-medium.cnf 128M ~ 256M
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설치는 끝.
2. Apache아파치를 다운 받고 압축을 풀고 설치 준비를 한다.
# wget http://www.apache.org/dist/httpd/httpd-2.2.14.tar.gz
# 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
# ./configure \
--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
라이브러리가 모두 설치 되었으면 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
*
php-5.2.6.tar.bz2와 같이 tar로 묶어 bzip으로 압축한 파일들은 아래와 같은 방법으로 한 줄로도 압축 해제가 가능하다.
# 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
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
설치 중 나오는 메뉴는 기본으로 모두 다음 > 다음 눌러 설치하면 된다.
이제 부터는 /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
# 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
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
PHP설치하고 Apache연동을 하려는데 쌩뚱맞은 에러가 나타났다.
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
restorecon -R -v /usr/local/apache/modules/libphp5.so
세그먼트 쪽이라서 해당 파일을 기본 설정으로 돌려보았지만 같은 에러가 나타난다.
흠... 뭐가 문제일까...
구글을 검색하여 보니 나와 같은 사람들이 많았다.
파일 설정이 아닌 문맥 오류라고 봐야 될듯 하다.
chcon -t texrel_shlib_t /usr/local/apache/modules/libphp5.so
'Server' 카테고리의 다른 글
F.T.P 사용자 격리 설정 (0) | 2010.10.05 |
---|---|
리눅스 백업 스크립트 (0) | 2010.10.05 |
FileZilla Server (파일질라 서버)을 이용하여 FTP 서버 구축 (0) | 2010.10.05 |
리눅스 에서 MySQL 자동 백업하고 FTP서버로 자동전송 (0) | 2010.10.05 |
서버 시간 맞추기 (0) | 2010.10.05 |