当前位置: 首页 > news >正文

apache安装脚本使用shell建立

注意防火墙,yum,网络连接等

以下是具体的apache安装脚本

#!/bin/bash
# Set Apache version to install
## author: yuan
 
# 检查外网连接
echo "检查外网连接..."
ping www.baidu.com -c 3 > /dev/null 2>&1
if [ $? -eq 0 ]; then
    echo "外网通讯良好!"
else
    echo "网络连接失败,请检查你的网络设置!"
    exit 1
fi
sleep 5
 
# 检查并安装 APR 库
echo "检查并安装 APR 库..."
if [ -f "/usr/include/apr.h" ]; then
    echo "APR 库已安装"
else
    echo "APR 库未安装,开始从网络安装..."
    if [ -f "/etc/debian_version" ]; then
        sudo apt-get update
        sudo apt-get install -y libapr1-dev libaprutil1-dev
    elif [ -f "/etc/redhat-release" ]; then
        sudo yum install -y apr-devel apr-util-devel
    else
        echo "不支持的 Linux 发行版,无法自动安装 APR 库"
        exit 1
    fi
fi
sleep 5
 
# 检查并安装 PCRE 库
echo "检查并安装 PCRE 库..."
if [ -f "/usr/include/pcre.h" ]; then
    echo "PCRE 库已安装"
else
    echo "PCRE 库未安装,开始从网络安装..."
    if [ -f "/etc/debian_version" ]; then
        sudo apt-get update
        sudo apt-get install -y libpcre3-dev
    elif [ -f "/etc/redhat-release" ]; then
        sudo yum install -y pcre-devel
    else
        echo "不支持的 Linux 发行版,无法自动安装 PCRE 库"
        exit 1
    fi
fi
sleep 5
 
# 定义 Apache 版本变量
APACHE_VERSION="2.4.56"  # 示例版本,根据需要修改
APACHE_TARBALL="http://archive.apache.org/dist/httpd/httpd-$APACHE_VERSION.tar.gz"
APACHE_TARBALL_NAME="httpd-$APACHE_VERSION.tar.gz"
echo "定义 Apache 版本为 $APACHE_VERSION"
sleep 5
 
# 下载 Apache 安装包
echo "开始下载 Apache $APACHE_VERSION..."
curl -O $APACHE_TARBALL
if [ $? -ne 0 ]; then
    echo "下载失败,请检查网络连接或 Apache 版本号是否正确!"
    exit 1
fi
echo "下载完成!"
sleep 5
 
# 解压安装包
tar -zxvf $APACHE_TARBALL_NAME
cd httpd-$APACHE_VERSION
 
# 检测 APR 安装路径
APR_CONFIG=$(which apr-1-config)
if [ -z "$APR_CONFIG" ]; then
    echo "未能找到 apr-1-config,请确保 APR 已正确安装并指定正确的路径"
    exit 1
fi
 
# 编译安装 Apache
echo "开始编译安装 Apache..."
./configure --prefix=/usr/local/apache --with-apr=$(dirname $APR_CONFIG) --with-pcre=/usr
if [ $? -ne 0 ]; then
    echo "配置失败,请检查错误信息!"
    exit 1
fi
 
make
if [ $? -ne 0 ]; then
    echo "编译失败,请检查错误信息!"
    exit 1
fi
 
make install
echo "Apache 安装完成!"
sleep 5
 
# 配置防火墙和权限
echo "配置防火墙和权限..."
systemctl stop firewalld
systemctl disable firewalld
echo "防火墙已经关闭"
 
sed -i 's/SELINUX=*/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
echo "SELinux 已禁用"
sleep 5
 
# 启动 Apache 服务
echo "启动 Apache 服务..."
/usr/local/apache/bin/apachectl start
if [ $? -eq 0 ]; then
    echo "Apache 服务启动成功!"
else
    echo "Apache 服务启动失败,请检查错误信息!"
    exit 1
fi
sleep 5
 
echo "Apache 安装和配置完成!"

相关文章:

  • shell脚本运行方式 bash 和./区别
  • Java设计模式之状态模式
  • 一次由特殊字符引发的Minio签名问题排查
  • Docker多阶段构建:告别臃肿镜像的终极方案
  • git上传大文件到远程仓库中
  • 工作杂谈(十七)——研发阶段术语
  • 死亡并不是走出生命 而是走出时间
  • Xyz坐标系任意两个面之间投影转换方法
  • 基于vue.js开发的家庭装修管理系统开发与设计(源码+lw+部署文档+讲解),源码可白嫖!
  • 写作软件新体验:让文字创作更高效
  • Python:进程介绍及语法结构
  • 707.设计链表
  • 硬件基础--03_电流
  • 国央企如何识别并防范虚假贸易?
  • G 2024hubei province 学习到的内容
  • 重温Mqtt
  • Java试题
  • 关于金碟K3,禁用和启用需要流程审批后执行
  • 利用GitHub Pages快速部署前端框架静态网页
  • Chrome(Google) 浏览器安装Vue2、Vue3 Devtools插件方法
  • 网站建设 网址导航/怎么做个网站
  • 抖音网站/什么是网站推广优化
  • 做网站宿迁/app营销推广方案
  • 自建企业邮箱/网站seo的优化怎么做
  • 杭州市住房与城乡建设部网站/种子搜索神器在线搜
  • 南京做网站的公司排名/百度seo服务公司