예전에 CentOS 5.0 에 APM 설치 하면서 귀찮아 만들어 본 스크립트 파일입니다.
몇번의 테스트는 해봤음. 이하. 사용은 자유지만 책임은 저한테 묻지 마시길.....
- centos 리눅스 구축 관리 실무 및 naver 검색.
- 직접 다운로드가 안되는건 www.lug.or.kr 에서 제공하는 다운로드 서비스 이용 (파일 확인 후 실행 필요)
- 소스 다운로드 주소는 최신 버젼 및 받을 수 있는곳 확인 후 실행 필요.
일단 폴더 경로
-- 각각의 다운로드 위치
/home/down/lib/ -- 설치 라이브러리 다운로드 위치
/home/down/apm/ -- apm 다운로드.
/home/down/tools/ -- 필요 툴들 다운로드.
/home/down/qmail/ -- qmail 관련 다운로드 위치.
-- 설치 위치.
a.p.m --> /usr/local/ 하위 각 폴더로 설치.
setup.sh 소스. (package 에 따라 업그레이 되면 소스 수정해 테스트 해보시길)
------------------------------------------------------------------------------
#!/bin/bash
if [ "$1" == "" ] ; then
echo ""
echo "
$0 --yum : 필요한 package update
$0 --down : 파일들 다운로드
$0 --lib : library 다운로드 설치
$0 --mysql : mysql 설치
$0 --httpd : apache 설치
$0 --php : php 설치
"
exit 1
fi
if [ "$1" == "--yum" ]; then
echo "yum update & yum install"
echo -n "Are you install ok ? [y/n] "
read enter
if [ "$enter" == "y" ] ; then
echo "now install update"
yum -y install gcc cpp gcc-c++ compat-gcc-32-g77 flex
yum -y install termcap libtermcap libtermcap-devel gdbm-devel
yum -y install zlib* libxml* freetype* libpng* libjpeg* gd-*
yum -y install libc-client libc-client-devel net-snmp-devel bzip
yum -y install bzip2-devel curl-devel ncurses-devel
else
echo "update cancel"
exit 1
fi
elif [ "$1" == "--down" ]; then
echo " pakage download "
echo -n "Are you download ok ? [y/n] "
read enter
if [ "$enter" == "y" ] ; then
echo "now downloading"
cd /home/down/lib
pwd
sleep 3
wget http://prdownloads.sourceforge.net/libpng/libpng-1.2.25.tar.gz?download
wget ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
wget http://download.savannah.gnu.org/releases/freetype/freetype-2.3.5.tar.gz
wget http://www.libgd.org/releases/gd-2.0.35.tar.gz
echo "lib download ok"
sleep 2
echo "extrace files"
tar zxvf ./libpng-1.2.25.tar.gz
tar zxvf ./jpegsrc.v6b.tar.gz
tar zxvf ./freetype-2.3.5.tar.gz
tar zxvf ./gd-2.0.35.tar.gz
echo "extrace ok"
sleep 3
cd /home/down/apm
pwd
sleep 2
wget http://ftp.kaist.ac.kr/pub/Apache/httpd/httpd-2.2.8.tar.gz
wget http://kr2.php.net/get/php-5.2.5.tar.gz/from/this/mirror
wget http://www.lug.or.kr/files/centos_book/download/apache_php_mysql/mysql-5.0.45.tar.gz
echo "apm download ok"
echo "extrace files"
tar zxvf ./httpd-2.2.8.tar.gz
tar zxvf ./php-5.2.5.tar.gz
tar zxvf ./mysql-5.0.45.tar.gz
echo "extrace ok"
sleep 3
cd /home/down/tools/
pwd
sleep 2
wget http://prdownloads.sourceforge.net/phpmyadmin/phpMyAdmin-2.11.5-all-languages-utf-8-only.tar.gz?download
wget http://www.tsnit.com/temp/ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
wget http://www.lug.or.kr/files/centos_book/download/apache_php_mysql/mod-cband-0.9.7.5.tgz
wget http://www.lug.or.kr/files/centos_book/download/apache_php_mysql/mod_evasive_1.10.1.tar.gz
wget ftp://ftp.mrunix.net/pub/webalizer/webalizer-2.01-10-src.tgz
echo "tools download ok"
sleep 2
echo "extrace files"
tar zxvf ./phpMyAdmin-2.11.5-all-languages-utf-8-only.tar.gz
tar zxvf ./ZendOptimizer-3.3.3-linux-glibc23-i386.tar.gz
tar zxvf ./mod-cband-0.9.7.5.tgz
tar zxvf ./mod_evasive_1.10.1.tar.gz
tar zxvf ./webalizer-2.01-10-src.tgz
echo "extrace ok"
sleep 2
cd /home/down/qmail/
pwd
sleep 2
lftpget http://www.qmail.org/netqmail-1.05.tar.gz
lftpget http://cr.yp.to/ucspi-tcp/ucspi-tcp-0.88.tar.gz
lftpget http://cr.yp.to/daemontools/daemontools-0.76.tar.gz
lftpget http://www.alib.jp/files/qmail-data-localtime.patch
lftpget http://shupp.org/patches/netqmail-1.05-tls-smtpauth-20070417.patch
echo "qmail download ok"
sleep 2
echo "extrace files"
tar zxvf ./netqmail-1.05.tar.gz
tar zxvf ./ucspi-tcp-0.88.tar.gz
tar zxvf ./daemontools-0.76.tar.gz
tar zxvf ./qmail-data-localtime.patch
tar zxvf ./netqmail-1.05-tls-smtpauth-20070417.patch
echo "extrace ok"
else
echo "download cancel"
exit 1
fi
elif [ "$1" == "--lib" ]; then
echo "lib setup"
echo -n "Are you install ok ? [y/n] "
read enter
if [ "$enter" == "y" ] ; then
echo "now install update"
## libpng
echo "install libpng"
cd /home/down/lib/libpng-1.2.25
pwd
sleep 2
echo "start libpng configure"
sleep 2
./configure
echo -n " libpng make ok? [y/n]"
read enter2
if [ "$enter2" == "y" ]; then
make && make install
else
echo "libpng make cancel"
exit 1
fi
echo "libpng install ok"
sleep 3
## libjpeg
cd /home/down/lib/jpeg-6b
pwd
sleep 2
echo "start libjpeg configure"
mkdir /usr/local/man
mkdir /usr/local/man/man1
./configure --enable-shared --enable-static
echo -n " libjpeg make ok? [y/n]"
read enter2
if [ "$enter2" == "y" ]; then
make && make install
else
echo "libjpeg make cancel"
exit 1
fi
echo "libjpeg install ok"
sleep 3
## freetype
cd /home/down/lib/freetype-2.3.5
pwd
sleep 2
echo "start freetype configure"
./configure
echo -n " freetype make ok? [y/n]"
read enter2
if [ "$enter2" == "y" ]; then
make && make install
else
echo "freetype make cancel"
exit 1
fi
echo "freetype install ok"
sleep 3
## gd
cd /home/down/lib/gd-2.0.35
pwd
sleep 2
echo "start gd configure"
./configure
echo -n " gd make ok? [y/n]"
read enter2
if [ "$enter2" == "y" ]; then
make && make install
else
echo "gd make cancel"
exit 1
fi
echo "gd install ok"
sleep 3
else
echo "install cancel"
exit 1
fi
elif [ "$1" == "--mysql" ]; then
echo "mysql setup"
echo -n "Are you install ok ? [y/n] "
read enter
if [ "$enter" == "y" ] ; then
echo "now install"
cd /home/down/apm/mysql-5.0.45
useradd -M -s /bin/false mysql
./configure --prefix=/usr/local/server/mysql \
--with-charset=utf8 \
--with-extra-charsets=all
echo -n " mysql make ? [y/n]"
read enter2
if [ "$enter2" == "y" ]; then
make && make install
else
echo "mysql make cancel"
exit 1
fi
echo "mysql install ok"
sleep 3
cp support-files/my-huge.cnf /etc/my.cnf
cd /usr/local/server/mysql
./bin/mysql_install_db --user=mysql
chown -R root .
chown -R mysql var
chgrp -R mysql .
vi ~/.bash_profile
source ~/.bash_profile
cp share/mysql/mysql.server /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --list | grep mysqld
/etc/init.d/mysqld start
else
echo "install cancel"
exit 1
fi
elif [ "$1" == "--httpd" ]; then
echo "httpd setup"
cd /home/down/apm/httpd-2.2.8
yum install openssl*
./configure \
--prefix=/usr/local/server/apache \
--enable-so \
--enable-mods-shared=all \
--enable-ssl \
--with-ssl \
--enable-rewrite
make && make install
cd /home/down/apm/php-5.2.5
yum install libc-client libc-client-devel net-snmp-devel bzip
yum install bzip2-devel curl-devel ncurses-devel
./configure \
--prefix=/usr/local/server/php \
--with-apxs2=/usr/local/server/apache/bin/apxs \
--with-mysql=/usr/local/server/mysql \
--with-mysqli=/usr/local/server/mysql/bin/mysql_config \
--with-pdo-mysql=/usr/local/server/mysql \
--with-config-file-path=/usr/local/server/apache/conf \
--disable-debug \
--enable-safe-mode \
--enable-track-vars \
--enable-sockets \
--with-mod_charset \
--with-charset=utf8 \
--with-xml \
--with-language=korean \
--enable-mailparse \
--enable-calender \
--enable-sysvmsg=yes \
--enable-sysvsem=yes \
--enable-sysvshm=yes \
--enable-ftp \
--enable-magic-quotes \
--enable-gd-native-ttf \
--enable-url-includes \
--enable-trans-id \
--enable-inline-optimization \
--enable-bcmath \
--with-snmp \
--with-zlib \
--with-jpeg \
--with-png \
--with-zlib-dir=/usr \
--with-jpeg-dir=/usr \
--with-png-dir=/usr/lib \
--with-freetype=dir=/usr \
--with-libxml-dir=/usr \
--with-pcre-dir=/usr \
--enable-exif \
--with-gd \
--with-ttf \
--with-gettext \
--with-imap \
--with-imap-ssl \
--with-kerberos \
--with-curl \
--with-ncurses \
--enable-sqlite-utf8 \
--with-regex=php \
--with-bz2 \
--enable-sigchild \
--enable-mbstring \
--with-openssl=/usr
make && make install
cp php.ini-dist /usr/local/server/apache/conf/php.ini
else
$0
exit 1
fi
exit 0
------------------------------------------------------------------------------