欢迎光临散文网 会员登陆 & 注册

Shell 自动安装Apache

2023-08-13 11:11 作者:小步2023  | 我要投稿

详情地址:  https://www.xiaobuteach.com/shell/auto/install-apache.html?from=bili

Shell 自动安装Apache

我们先回顾手动安装Apache(通过源码安装包)的步骤,然后分析、将手动执行代码转化为shell脚本。

手工安装Apache

参考 第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

自动安装Apache

目标

通过执行一个脚本文件,自动完成上述所有动作。


分析

第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

运行效果


Shell 自动安装Apache的评论 (共 条)

分享到微博请遵守国家法律