【一键编译安装httpd脚本】

一键编译安装httpd脚本

相关思路

执行脚本时可以跟上$1的位置变量来决定下载版本,不加$1脚本会无法执行,也可更改脚本变量version为固定数
编译安装会需要cpu,可写成变量

  1. 写成函数,以便后续管理及更改
  2. 关闭SELinux,关闭防火墙
  3. 下载相关依赖包(因已经手动编译过,因此知道所需包)
  4. wget下载及解压
  5. 编译安装:./configure > make > make install
  6. 建立软链接
  7. 创建账号及组
  8. 启动httpd服务
  9. 通过浏览器验证
[root@rocky8  ~]#vim a.sh
#!/bin/bash
version=$1
cpu=`lscpu | sed -rn '/^CPU\(s\)/s/.* ([0-9]+)/\1/p'`

#某些未知原因,导致本人配置的yum源无法下载gcc,所以在此先用原有源下载,望见谅
cd /etc/yum.repos.d
mv base.repo base.repo.bak
mv /etc/yum.repos.d/backup/*.repo .
yum -y install gcc
mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/backup/
mv base.repo.bak base.repo

#关闭SELinux
disable_selinux () {
    sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
}

#关闭防火墙
disable_firewall () {
    systemctl disable --now firewalld
}

#下载相关依赖包
yum_install() {
	yum -y install apr-devel apr-util-devel pcre-devel openssl-devel redhat-rpm-config-125-1.el8.noarch
}

#下载及解压包
wget_tar() {
	wget https://dlcdn.apache.org/httpd/httpd-$version.tar.bz2  || { echo download faild ; exit; }
	tar xvf httpd-$version.tar.bz2
	cd httpd-$version/
}

#编译安装
make_install() {
	./configure --prefix=/apps/httpd --sysconfdir=/etc/httpd --enable-ssl
	make -j $cpu && make install
}

#建立软链接
ln_httpd() {
	echo 'PATH=/apps/httpd/bin/:$PATH' > /etc/profile.d/httpd.sh
	. /etc/profile.d/httpd.sh
}

#创建账号及组
user_group() {
	groupadd -r -g 88 apache
	useradd -r -u 88 -g apache -s /sbin/nologin -d /var/www/ apache
	sed -i -e '/^User/c User apache' -e '/^Group/c Group apache' /etc/httpd/httpd.conf
}

#启动httpd服务
systemctl_httpd() {
	apachectl start
}


disable_selinux
disable_firewall
yum_install
wget_tar
make_install
ln_httpd
user_group
systemctl_httpd

echo "编译安装httpd已完成"

#加权限并执行
chmod +x a.sh
bash a.sh 2.4.57           指定版本号

浏览器输入ip地址进行验证

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值