##############################################################
## 주제 : CentOS 5.8에서 최신 APM 자동화 설치 스크립트 짜기 ##
## ##
## Written by K.S.W V 0.1 ##
## boaniyagi@naver.com ##
## date : 2014.4.14 ##
##############################################################
# 1. 리눅스 설치
# Package install 부분에서 아래 2개의 패키지를 체크하고 설치한다.
# Development Tools
# Development Libraries
# 2. APM 설치 체크 (있으면 삭제)
# rpm -qa | grep mysql
# rpm -qa | grep php
# rpm -qa | grep http
# rpm -qa | grep apache
# 3. APM 설치할때 필요한 라이브러리 파일 체크 (없으면 설치)
# rpm -q ncurses-devel
# rpm -q zlib-devel
# 4. 설치에 관한 스크립트를 짜기위한 준비과정
# - !!! 한치의 오차도 있으면 안된다!!!
# cd APM2
# unalias ls
# ls
# apr-1.5.0.tar.gz httpd-2.4.9.tar.gz pcre-8.35.tar.bz2
# apr-util-1.5.3.tar.gz mysql-5.6.17.tar.gz php-5.5.11.tar.gz
# cmake-2.8.12.1.tar.gz openssl-1.0.1g.tar.gz
# 5. 설치 스크립트 작성
# -- 순서 --
# 1. cmake 설치하기
# 2. mysql 설치하기
# 3. apr 설치
# 4. apr-util 설치
# 5. openssl 설치
# 6. pcre 설치
# 7. 공유라이브러리 설정
# 8. 아파치 설치
# 9. php 설치
# -- 순서 --
# cat > ~/.vimrc
# set nu
# set ai
# set bg=dark
# set ci
Ctrl + D
# alias vi=vim
# echo 'alias vi=vim' >> ~/.bashrc
# LANG=C
# install /dev/null autoapmsetup.sh
# vi autoapmsetup.sh
-- autoapmsetup.sh -- 아래 부터 복사 붙여 넣기
#!/bin/sh
#######################
## 1. cmake 설치하기 ##
#######################
tar xzf cmake-2.8.12.1.tar.gz
cd cmake-2.8.12.1
./configure
make
make install
cd ..
#######################
## 2. mysql 설치하기 ##
#######################
tar xzf mysql-5.6.17.tar.gz
cd mysql-5.6.17
cmake \
-DCMAKE_INSTALL=/usr/local/mysql \
-DWITH_EXTRA_CHARSETS=all \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DSYSCONFDIR=/etc \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DMYSQL_TCP_PORT=3306
make
make install
cd support-files
cp my-default.cnf /etc/my.cnf
ln -s /etc/my.cnf /etc/mysql.conf
install -m 700 mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
useradd -M -u 27 -d /usr/local/mysql/data -s /bin/false mysql
ln -sf /usr/local/mysql/bin/* /usr/bin
/usr/local/mysql/scripts/mysql_install_db \
--user=mysql \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data
chown -R mysql.mysql /usr/local/mysql/data
/etc/init.d/mysqld start
cd ..
cd ..
#################
## 3. apr 설치 ##
#################
tar xzf apr-1.5.0.tar.gz
cd apr-1.5.0
./configure && make && make install
cd ..
######################
## 4. apr-util 설치 ##
######################
tar xzf apr-util-1.5.3.tar.gz
cd apr-util-1.5.3
./configure --with-apr=/usr/local/apr && make && make install
cd ..
#####################
## 5. openssl 설치 ##
#####################
tar xzf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
./config \
--prefix=/usr/local/openssl \
--openssldir=/usr/local/openssl \
threads zlib shared
make && make test && make install
cd ..
##################
## 6. pcre 설치 ##
##################
### pcre와 pcre-devel 을 rpm 패키지로 설치했더니 에러가 발생해서 소스로 설치함.
tar xjf pcre-8.35.tar.bz2
cd pcre-8.35
./configure && make && make install
cd ..
############################
## 7. 공유라이브러리 설정 ##
############################
echo /usr/local/lib >> /etc/ld.so.conf
echo /usr/local/apr/lib >> /etc/ld.so.conf
echo /usr/local/openssl/lib >> /etc/ld.so.conf
ldconfig
####################
## 8. 아파치 설치 ##
####################
tar xzf httpd-2.4.9.tar.gz
cd httpd-2.4.9
./configure \
--prefix=/usr/local/apache \
--enable-mods-shared=all \
--enable-module=ssl \
--enable-module=so \
--with-mpm=prefork \
--with-apr=/usr/local/apr \
--with-apr-util=/usr/local/apr
make && make install
cd ..
ln -s /usr/local/apache/conf/httpd.conf /etc
ln -s /usr/local/apache/bin/* /usr/bin
#################
## 9. php 설치 ##
#################
tar xzf php-5.5.11.tar.gz
cd php-5.5.11
./configure \
--prefix=/usr/local/php \
--with-mysql=/usr/local/mysql \
--with-apxs2=/usr/local/apache/bin/apxs
make
# make test는 생략이 가능하다.
# make test
make install
# php 설정파일을 복사한다.
cp php.ini-production /usr/local/php/lib/php.ini
ln -s /usr/local/php/lib/php.ini /etc/php.conf
cat << APACHE_CONFIG
-- edit /usr/local/apache/conf/httpd.conf --
# vi /usr/local/apache/conf/httpd.conf
<IfModule dir_module>
DirectoryIndex index.html index.php index.php3 index.htm
</IfModule>
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .php3 .html .htm
AddType application/x-httpd-php-source .phps
# /usr/local/apache/bin/apachectl start
APACHE_CONFIG
-- autoapmsetup.sh -- 여기까지 복사
# setup <-- 방화벽/SELINUX 중지 (향후 실무에서는 방화벽은 실제 적용되어야 하지만 여기서는 내리는걸로 한다. )
# ./autoapmsetup.sh <-- 실행하면 최신 APM이 자동으로 설치한다.
# - 여기부터 수동으로 처리한다.
# - 자동으로 처리해도 되지만 수동으로 처리하는걸로 한다.
# vi /usr/local/apache/conf/httpd.conf
-- /usr/local/apache/conf/httpd.conf --
:
:
<IfModule dir_module>
DirectoryIndex index.html index.php index.php3 index.htm <-- index.php index.php3 index.htm 추가
</IfModule>
:
:
AddType application/x-gzip .gz .tgz
AddType application/x-httpd-php .php .php3 .html .htm <-- 추가
AddType application/x-httpd-php-source .phps <-- 추가 (향후에는 보안상 주석처리 해준다.)
-- /usr/local/apache/conf/httpd.conf --
# /usr/local/apache/bin/apachectl start
# echo '<?php phpinfo(); ?>' > /usr/local/apache/htdocs/abcd.html
http://자신의IP/abcd.html <-- 접근시 PHP 화면이 나오면 최신 APM 설치 성공!!!
-- 끝 --