接上篇,apache自动化安装,使用方法同install_mysql.sh脚本。

 

#!/bin/bash

#Filename:install_apache.sh

#Desc : install apache tarball

#Created By : fedoracle

#Date : 2011/10/13-->2011/10/14-->2012/03/02

 

TAR_HOME=/usr/local/src

APACHE_HOME=/usr/local/apache

TAR_NAME=$1

VERSION=`echo ${TAR_NAME%%.tar*}`

 

#check usage of this script

if [ $# -ne 1 ];then

   echo -e "\033[31m Usage:./$0 httpd-x.x.xx.tar.gz\033[0m"

   exit 1

fi

 

#Downloading apache

if [ $UID -ne 0 ];then

   echo -e "\033[31m This script must be execute by root!!!!\033[0m"

   exit 1

else

   echo -e "\033[32m User root \033[0m"

fi

 

#check if apache was installed,if exists,remove it.

/bin/rpm -qa|grep httpd

if [ $? -eq 0 ];then

  /usr/bin/yum -y remove httpd

   echo -e "\033[32m Aapache already removed \033[0m"

else

   echo -e "\033[32m Aapache does not exists \033[0m"

fi

 

#install development tools requried by apache

for package in autoconf automake gcc gcc-c++ libtool libtool-ltdl libtool-ltdl-devel openssl openssl-devel 

do 

   /usr/bin/yum -y install $package 

done

 

cd $TAR_HOME

if [ -s $1 ];then

   echo -e "\033[32m $1 Found \033[0m"

else

   echo -e "\033[32m $1 Not Found!!!\033[0m" 

   echo -e "\033[33m Now Starting download \033[0m"

   /usr/bin/wget -c "http://labs.renren.com/apache-mirror/httpd/$1"

   if [ $? -ne 0 ];then

      echo -e "\033[33m Cannot download files!!!Please use other mirrors or url avaliable!!!"

      echo -e "\033[31m Install Ended Unexpected\033[0m"

      exit 111

   else

      echo -e "\033[33m Download Ended \033[0m"

   fi

fi

 

echo -e "\033[33m Uncompress httpd \033[0m"

/bin/tar -xvf $1

echo -e "\033[33m Uncompress Ended \033[0m"

 

/bin/sleep 5

 

#VERSION=`/bin/ls -l | grep httpd | grep -v "tar.gz" | awk -F ':' '{print $2}' | awk '{print $2}'`

cd $VERSION

echo -e "\033[33m Starting configuration \033[0m"

./configure --prefix=$APACHE_HOME --enable-so --enable-rewrite --enable-mods-shared=most

echo -e "\033[33m Configurate Ended \033[0m"

echo ""

echo ""

 

/bin/sleep 10

 

echo -e "\033[33m Starting  complie and install\033[0m"

/usr/bin/make && /usr/bin/make install

echo -e "\033[33m Ended complie and install \033[0m"

echo ""

echo ""

 

/bin/sleep 10

 

echo -e "\033[33m Copy apachectl as httpd and add apache as a system service\033[0m"

/bin/cp /usr/local/apache/bin/apachectl /etc/init.d/httpd

 

echo -e "\033[33m Add comment to httpd \033[0m"

/bin/sed -i '/^#!\/bin/a\#chkconfig: 35 61 61\n#description: Apache' /etc/init.d/httpd

echo ""

echo ""

 

/sbin/chkconfig --add httpd

/sbin/chkconfig httpd on

 

 

echo -e "\033[33m Checking apache working or not"

/sbin/service httpd start

/bin/netstat -tnlp | grep 80

 

if [ $? -eq 0 ];then

   echo -e "\033[031m Apache server started \033[0m"

   echo -e "\033[033m Apche server installed successful!!! \033[0m"

else 

   echo -e "\033[031m Apache does not working \033[0m"

   exit 222

fi