본문으로 바로가기

CentOS 5.0 - APM 한방에 설치 하기.

category 시스템/Linux 2009. 7. 2. 15:52
반응형


예전에 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

------------------------------------------------------------------------------

반응형