设为首页 收藏本站
查看: 1554|回复: 5

CentOS6.x下通过shell脚本交互安装Web服务

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2013-11-7 08:55:26 | 显示全部楼层 |阅读模式
PS:写脚本的初衷,是为了方便自己更有效率的去工作,同时锻炼自己写脚本的能力,当然还希望能够给大家带来一些小的帮助,希望大家多多支持,评论评论,指出不足的地方。

一、测试环境


[iyunv@hello ~]# uname -r
2.6.32-279.el6.x86_64
[iyunv@hello ~]# cat /etc/issue
CentOS release 6.3 (Final)
Kernel \r on an \m
[iyunv@hello ~]# dmidecode -s system-product-name
VMware Virtual Platform

二、交互式安装Web服务脚本
注:在编译安装apche之前,必须确保你当前的系统中安装了Additional Development、Development tools、Base软件包组,其中包含了apache所需的库文件与编译工具,zlib,gcc,automake,pcre等,不然安装可能无法完成。


[iyunv@hello scripts]# cat auto_install_web.sh
#!/bin/bash
#blog http://cfwlxf.blog.
#create date of 2013-10-30
#Load user environment variable
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin
export PATH
#source system functions library.
. /etc/init.d/functions
#definition software download and install directoy
SOURCE_DIR=/download/source/
INSTALL_DIR=/application/
#Judge SOURCE_DIR INSTALL_DIR directoy if exits.
[ ! -d ${SOURCE_DIR} ] && mkdir ${SOURCE_DIR} -p
[ ! -d ${INSTALL_DIR} ] && mkdir ${INSTALL_DIR} -p && sleep 1 && printf "\033[32mDirectory $SOURCE_DIR $INSTALL_DIR by create.\033[0m"
#Download httpd software
printf "\033[33m
        ----------------------------------------------------------------------------
        |               Welcome to use apache auto install scripts                 |
        ----------------------------------------------------------------------------\033[0m\n"
printf "\033[36mDownload Web Server of sourece package,please input staring \'y/n\': \033[0m" STR
read STR
#Judge User input of string if by 'y'
if [ $STR = "y" ]
then
        printf "\033[32m
        ----------------------------------------------------------------------------
        |                          Apache Software List                            |
        ----------------------------------------------------------------------------
        |1.Download web server software of httpd.2.4.4 versions.                   |
        |2.Download web server software of httpd.2.2.25 versions.                  |
        |3.Download web server software of httpd.2.4.6 versions.                   |
        ----------------------------------------------------------------------------
        \033[0m\n\n"
        read -p "Please you input number'1-4', select httpd install of httpd versions: " VERSIONS
        case "$VERSIONS" in
                1)
                        cd ${SOURCE_DIR}
                        wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.4.tar.gz
                        ;;
                2)
                        cd ${SOURCE_DIR}
                        wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.2.25.tar.gz
                        ;;
                3)
                        cd ${SOURCE_DIR}
                        wget http://mirrors.hust.edu.cn/apache/httpd/httpd-2.4.6.tar.gz
                        ;;
                *)
                        sleep 1
                        printf "\033[31mError: Please input number \'1-4\',select httpd versions.\033[0m\n"
                        exit 0
        esac
else
        sleep 2
        printf "\033[31mError: You enter the error string,Please anew input.\033[0m\n"
        exit 0
fi
#Uncompress httpd software package
cd ${SOURCE_DIR}
HTTPD_SOFTWARE=$(find /download/source/ -type f | grep httpd |awk 'BEGIN{FS="/"}END{print $4}')
tar -xf ${HTTPD_SOFTWARE} && sleep 2 && printf "\033[35mUncompress software by successfully.\033[0m\n"
#Judge current directoy yes or on uncompress later of directory
HTTPD_UNCOMPRESS=$(find ./ -maxdepth 1 -type d | grep httpd)
cd ${HTTPD_UNCOMPRESS}
RETURN_PWD=$(pwd | cut -d '/' -f4)
ECHO_HTTPD=$(echo ${HTTPD_UNCOMPRESS}|awk 'BEGIN{FS="/"}END{print $2}')
#Judge whether the current directory if uncompress after of directory
if [ ${RETURN_PWD} = ${ECHO_HTTPD} ]
then
        sleep 1
        printf "\033[33mIf you need support \'--with-included-arp\',please download software after install,\'yes/no\': \033[0m" DOWNLOAD
        read DOWNLOAD
        if [ "$DOWNLOAD" = "yes" ]
        then
                wget http://mirrors.hust.edu.cn/apache/apr/apr-1.4.6.tar.gz
                wget http://mirrors.hust.edu.cn/apache/apr/apr-util-1.4.1.tar.gz
                #Judge download apr apr-util file of exits.
                APR_FILE=$(find ./ -maxdepth 1 -type f |  sed -n '/apr-1/p' | grep -Po '(?<=./).*')
                APR_UTIL_FILE=$(find ./ -maxdepth 1 -type f |  sed -n '/apr-util/p' | grep -Po '(?<=./).*')
                [ -e $APR_FIEL $APR_UTIL_FILE ] && sleep 2 && printf "\033[35mDownload File $APR_FILE,$APR_UTIL_FILE already successfully.\033[0m\n"
                #Uncompress apr apr-util software package.
                APACHE_UNCOMPRESS_FILE=$(find /download/source/ -maxdepth 1 -type d| grep httpd)
                APACHE_UNCOMPRESS_SRCLIB_DIR=${APACHE_UNCOMPRESS_FILE}/srclib/
                tar -xf $APR_FILE -C $APACHE_UNCOMPRESS_SRCLIB_DIR && tar -xf $APR_UTIL_FILE -C $APACHE_UNCOMPRESS_SRCLIB_DIR && cd $APACHE_UNCOMPRESS_SRCLIB_DIR
                APR_UNCOMPRESS_FILE=$(find ./  -maxdepth 1 -type d | grep 'apr-1' | grep -Po '(?<=./).*')
                APR_UTIL_UNCOMPRESS_FILE=$(find ./  -maxdepth 1 -type d | grep 'apr-util' | grep -Po '(?<=./).*')
                mv -f $APR_UNCOMPRESS_FILE apr && mv -f $APR_UTIL_UNCOMPRESS_FILE apr-util && sleep 2 && action "Uncompress file apr aprutil is successfully." true
                #configure apache
                APACHE_UNCOMPRESS_FILE=$(find /download/source/ -maxdepth 1 -type d| grep httpd)
                cd $APACHE_UNCOMPRESS_FILE
                ./configure --prefix=/application/${ECHO_HTTPD} --enable-substitute --enable-deflate --enable-expires --enable-ssl --enable-http --enable-rewrite --enable-so --with-mpm=worker --enable-mods-shared=mos --with-z --with-included-apr
        else
                #configure apache
                APACHE_UNCOMPRESS_FILE=$(find /download/source/ -maxdepth 1 -type d| grep httpd)
                cd $APACHE_UNCOMPRESS_FILE
                ./configure --prefix=/application/${ECHO_HTTPD} --enable-substitute --enable-deflate --enable-expires --enable-ssl --enable-http --enable-rewrite --enable-so --with-mpm=worker --enable-mods-shared=mos --with-z
        fi
else
        printf "\033[31mError: Your current of directory fault $ECHO_HTTPD.\033[0m\n"
                exit 0
fi
#Compile apache software package
RETVAL=0
make && [ $? = $RETVAL ] && make install
sleep 2 && printf  "\033[35mApache compile is successfully,please start apache server of 'yes/no\': \033[0m" START
read START
APACHE_BIN=$(find /application/ -maxdepth 1 -type d | grep httpd)
[ "$START" = "yes" ] && ${APACHE_BIN}/bin/apachectl start > /dev/null 2>&1
#Judge elinsk sottware of already install.
SERVER_IP=$(ifconfig eth0  | grep 'inet addr:'| sed 's/.*r:\(.*\) B.*$/\1/g')
ELINKS_RPM=$(rpm -qa elinks| wc -l)
[ $ELINKS_RPM = 1 ] && elinks --dump http://$SERVER_IP/index.html
[ $ELINKS_RPM != 1 ] && yum install elinks && elinks --dump http://$SERVER_IP/index.html

#提示:
脚本执行过程中,会提示用户选择apache的版本,若脚本中所提供的版本都不能满足公司需求的话,那么你可以把需要的版本链接添加至脚本,略做修改即可。如果对APR不了解的朋友,可以点击网址:http://baike.baidu.com/link?url= ... aWpTVgglBnAfrRqDAdK 详细了解,脚本可能还有很多不足的地方,欢迎大家评论。
三、实例演示
175640101.jpg

175643486.jpg

175645914.jpg
#提示:
脚本中所提供的apache版本,都已测试通过,有需求的运维朋友们可以按照自己的思维,略作修改后使用。我觉得大家刚好可以借照此脚本,去编写一个LAMP,LNMP环境交互式安装的脚本,或者自动安装的脚本,动动手提升你写脚本的能力,避免繁琐的操作,有效率,也能突出你自己的实力。



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-10318-1-1.html 上篇帖子: puppe根据节点机器名推送并自动执行SHELL脚本 下篇帖子: 使用Powershell来修改Hyper-v Server本地管理员密码为永不过期

尚未签到

发表于 2013-11-26 08:45:38 | 显示全部楼层
脱了衣服我是禽兽,穿上衣服我是衣冠禽兽!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-5 01:13:25 | 显示全部楼层
如果我的真诚对你来说是种谎言的话,那我宁愿选择沉默

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-16 00:27:45 | 显示全部楼层
如果我的真诚对你来说是种谎言的话,那我宁愿选择沉默

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-22 16:47:50 | 显示全部楼层
乀她骗她說 自己狠满足

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

尚未签到

发表于 2013-12-29 07:18:24 | 显示全部楼层
听说后来你嫁给了习惯,其实你并不是真的那么喜欢。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表