赞
踩
详情地址: Shell 自动安装Apache | 小步教程
我们先回顾手动安装Apache(通过源码安装包)的步骤,然后分析、将手动执行代码转化为shell脚本。
参考 第9章 软件安装—Apache源码安装 。
我们先下载好安装文件并上传到指定目录/software/httpd-2.4.57.tar.bz2,不用在Shell里下载。
步骤1:解压
tar -xvf /software/httpd-2.4.57.tar.bz2 -C /usr/local/src/
步骤2:安装依赖
yum -y install gcc apr-devel apr-util-devel pcre-devel
步骤3:编绎
- cd /usr/local/src/httpd-2.4.57
- ./configure --prefix=/usr/local/httpd
步骤4:编绎与安装
make && make install
步骤5:配置后台服务
1)复制程序到后台服务目录
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
【重点】2)编辑文件httpd
vim /etc/init.d/httpd
#!/bin/sh下添加如下两行
- #chkconfig: 345 85 15
- #description:apache start and stop
步骤6:添加服务,设置为自动启动
- chkconfig --add httpd
- chkconfig httpd on
步骤7:启动服务
systemctl start httpd
步骤8:测试
curl localhost
目标
通过执行一个脚本文件,自动完成上述所有动作。
分析
第5步:2)编辑文件httpd
vim /etc/init.d/httpd
#!/bin/sh下添加行
#chkconfig: 345 85 15
这里需要修改文件,找到相应内容,追加1行,可以通过 sed命令完成。
- sed -i \
- '/#!\/bin\/sh/a#chkconfig: 345 85 15' \
- /etc/init.d/httpd
-i表示修改会保存到文件;
前两行结尾的\用于将一条命令分多行;
'/字符串1/a字符串2'表示搜索字符串1,在下一行添加字符串2;
字符串#!/bin/s含有特殊字符/,/前加\进行转义。
sed命令更多用法见下节。
完整代码
01apache-install.sh
- tar -xvf /software/httpd-2.4.57.tar.bz2 -C /usr/local/src/
- echo '解压完成'
-
- yum -y install gcc apr-devel apr-util-devel pcre-devel
- echo '依赖包安装完成'
-
- cd /usr/local/src/httpd-2.4.57
- ./configure --prefix=/usr/local/httpd
- make && make install
- echo '编绎安装完成'
-
- cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
-
- sed -i \
- '/#!\/bin\/sh/a#chkconfig: 345 85 15' \
- /etc/init.d/httpd
-
- chkconfig --add httpd
- chkconfig httpd on
- echo '服务配置完成'
-
- systemctl start httpd
- echo '服务启动完成'
-
- curl localhost
- echo '测试完成'
执行
sh 01apache-install.sh
运行效果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。