Linux运维_Bash脚本_快速配置Apache(httpd-2.4.54)

Linux运维_Bash脚本_快速配置Apache(httpd-2.4.54)

Bash (Bourne Again Shell) 是一个解释器,负责处理 Unix 系统命令行上的命令。它是由 Brian Fox 编写的免费软件,并于 1989 年发布的免费软件,作为 Sh (Bourne Shell) 的替代品。

您可以在 Linux 和 MacOS 机器上使用 Bash,甚至可以通过适用于 Linux 的 Windows 子系统在 Windows 10 机器上使用。

使用方法

  • 编译安装程序:

Apache (httpd-2.4.54)

  • 执行 Bash Shell 脚本:

输入 /[路径名]/[脚本名].sh 即可进行自动快速配置,过程中提示输入 (y/n) 输入 y 则进行下一步,这样分阶段确认的原因是为了确保能够看到上一个快速配置结果中可能的错误和提示。

完整脚本

#! /bin/bash
# Create By GF 2023-03-20 10:31# ----------- Configure - httpd - 2.4.54 -----------
# Need Program: /opt/httpd-2.4.54# #################################### Configure - httpd - 2.4.54 ##################################### Function: 快速配置(Quick Configure) httpd-2.4.54
# ##################################################
function Quick_Configure_httpd_2_4_54() {if [[ -d "/opt/httpd-2.4.54" ]]; thenlocal USER_NAME=$(cat /etc/passwd | grep -o "^apache")local ITEM_NAME="None"# ------------------------------------------read -p "[Confirm] Quick Configure ( httpd-2.4.54 )? (y/n)>" VERIFYif [[ "$VERIFY" != "y" ]]; then exit 1; fi# ------------------------------------------# 命令 adduser 一般是在 Unix 系统下创建用户所用到的 Perl 脚本命令。# 使用 adduser 时, 创建用户的过程更像是一种人机对话, 系统会提示你输入各种信息, 然后会根据这些信息帮你创建新用户。# adduser 选项释义:#     -c, --comment "COMMENT"                  设置用户的备注信息。#     -d, --home HOME_DIR                      指定用户的主目录路径。#     -s, --shell SHELL                        指定用户的默认 Shell。#     -g, --gid GROUP                          将用户添加到指定的用户组。#     -G, --groups GROUP1[,GROUP2,…[,GROUPN]]] 将用户同时添加到多个用户组。#     -p, --password PASSWORD                  设置用户的密码 (加密)。#     -e, --expiredate EXPIRE_DATE             设置用户的过期日期。#     -r, --system                             创建一个系统用户 (不可登录)。if [[ -z "$USER_NAME" && -f "/usr/bin/adduser" ]]; then adduser apache --system --home /var/www; fi# ..........................................# 命令 useradd 一般是在 Linux 系统下创建用户所用到的 ELF 可执行程序命令。# 使用 useradd 时, 如果后面不添加任何参数选项, 创建出来的用户将是默认 "三无" 用户: 无 Home Directory, 无密码, 无系统 Shell。# useradd 选项释义:#     -M, --no-create-home                     不创建用户的主目录。#     -s, --shell SHELL                        指定用户的默认 Shell。if [[ -z "$USER_NAME" && -f "/usr/bin/useradd" ]]; then useradd apache -s /sbin/nologin -M; fi# ..........................................USER_NAME=$(cat /etc/passwd | grep -o "^apache")echo "Create User: $USER_NAME"# ------------------------------------------if [[ ! -d "/var/www" ]]; then mkdir /var/www; fi# ------------------------------------------# 编辑 Apache (httpd) 配置文件 httpd.conf, 将 User daemon 改为 User apachesed -r -i "s/^User [a-zA-Z]*/User apache/" /opt/httpd-2.4.54/conf/httpd.conf# ..........................................ITEM_NAME=$(cat /opt/httpd-2.4.54/conf/httpd.conf | grep --regexp="^User [a-zA-Z]*")echo "Edit Item: User ......                 -> $ITEM_NAME"# ------------------------------------------# 编辑 Apache (httpd) 配置文件 httpd.conf, 将 Group daemon 改为 Group apachesed -r -i "s/^Group [a-zA-Z]*/Group apache/" /opt/httpd-2.4.54/conf/httpd.conf# ..........................................ITEM_NAME=$(cat /opt/httpd-2.4.54/conf/httpd.conf | grep --regexp="^Group [a-zA-Z]*")echo "Edit Item: Group ......                -> $ITEM_NAME"# ------------------------------------------# 编辑 Apache (httpd) 配置文件 httpd.conf, 将 DocumentRoot "/opt/httpd-2.4.54/htdocs" 改为 DocumentRoot "/var/www"sed -r -i "s%^DocumentRoot \".*\"%DocumentRoot \"/var/www\"%" /opt/httpd-2.4.54/conf/httpd.conf# ..........................................ITEM_NAME=$(cat /opt/httpd-2.4.54/conf/httpd.conf | grep --regexp="^DocumentRoot \".*\"")echo "Edit Item: DocumentRoot \"......\"       -> $ITEM_NAME"# ------------------------------------------# 编辑 Apache (httpd) 配置文件 httpd.conf, 将 <Directory "/opt/httpd-2.4.54/htdocs"> 改为 <Directory "/var/www">sed -r -i "s%^<Directory \".*htdocs\">%<Directory \"/var/www\">%" /opt/httpd-2.4.54/conf/httpd.conf# ..........................................ITEM_NAME=$(cat /opt/httpd-2.4.54/conf/httpd.conf | grep --regexp="^<Directory \".*www\">")echo "Edit Item: <Directory \"......htdocs\">  -> $ITEM_NAME"elseecho "[Caution] Program: ( /opt/httpd-2.4.54 ) Does Not Exists."# ------------------------------------------return 0fi
}function main() {# --------- Configure - httpd - 2.4.54 ---------Quick_Configure_httpd_2_4_54
}main

总结

以上就是关于 Linux运维 Bash脚本 快速配置Apache(httpd-2.4.54) 的全部内容。

更多内容可以访问我的代码仓库:

https://gitee.com/goufeng928/public

https://github.com/goufeng928/public

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/759271.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Mysql——基础命令集合

目录 前期准备 先登录数据库 一、管理数据库 1.数据表结构解析 2.常用数据类型 3.适用所有类型的修饰符 4.使用数值型的修饰符 二、SQL语句 1.SQL语言分类 三、Mysql——Create,Show,Describe,Drop 1.创建数据库 2.查看数据库 3.切换数据库 4.创建数据表 5.查看…

模型部署 - onnx的导出和分析 - onnx 的架构和 onnx helper 的使用 - 学习记录

onnx 的架构和 onnx helper 的使用 简介一、onnx 的架构二、onnx 实践2.1、 create - linear.onnx2.1.1、要点一&#xff1a;创建节点2.1.2、要点二&#xff1a;创建张量2.1.3、要点三&#xff1a;创建图 2.2、 create - onnx.convnet2.3、使用 onnx helper 导出的基本流程总结…

理解数据库习题

1.选择 &#xff08;1&#xff09;现实世界中客观存在并能相互区别的事物称为&#xff08; &#xff09;。 A.实体 B.实体集 C字段 D 记录 &#xff08;2&#xff09;下列实体类型的联系中&#xff0c;属于一对一联系的是&#xff08; &#xff09;A.教研室对教师的所属联系 …

[BT]BUUCTF刷题第2天(3.20)

第2天&#xff08;共5题&#xff09; Web [ACTF2020 新生赛]Exec Payload&#xff1a;target127.0.0.1;cat /flag 分号;在许多shell中用作命令分隔符&#xff0c;意味着在执行完前一个命令&#xff08;这里是设置target变量&#xff09;后&#xff0c;接着执行cat /flag命令…

企业工商年报注册注销商标注册异常处理小程序开源版开发

企业工商年报注册注销商标注册异常处理小程序开源版开发 1、独立业务模型包括&#xff1a;企业工商年报、企业工商登记注册、企业注销登记、企业异常处理。 2、通用业务模型适合各种业务&#xff0c;比如&#xff1a;商标注册代理、财务会计服务、企业版权登记登。 当然&…

ChatGPT都能做什么,有哪些场景?

ChatGPT都能做什么&#xff0c;有哪些场景&#xff1f; 类别 描述 学术论文 它可以写各种类型的学术论文&#xff0c;包括科技论文、文学论文、社科论文等。它可以帮助你进行研究、分析、组织思路并编写出符合学术标准的论文。 创意写作 它可以写小说、故事、剧本、诗歌等…

软件测试:LLVM中的Fuzz模糊测试框架——libFuzzer

目录 libFuzzer 简介用例测试 跟前一篇软件测试&#xff1a;C Google Test单元测试框架GTest测试技术一样&#xff0c;模糊测试也是经常用于软件测试中&#xff0c;甚至有时候模糊测试还和GTest内嵌使用&#xff0c;但是不同于GTest测试框架&#xff0c;模糊测试是一种方法&…

从深度伪造到恶意软件:网络安全迎来AI新挑战

如今&#xff0c;有越来越多的恶意行为者开始利用AI大语言模型开发能够绕过 YARA 规则的自我增强型恶意软件。 根据近日Recorded Future 发布的一份新报告&#xff1a;AI可以通过增强小型恶意软件变种的源代码来规避基于字符串的 YARA 规则&#xff0c;从而有效降低检测率。 …

这里是一本关于 DevOps 企业级 CI/CD 实战的书籍...

文章目录 &#x1f4cb; 前言&#x1f3af; 什么是 DevOps&#x1f3af; 什么是 CI/CD&#x1f3af;什么是 Jenkins&#x1f9e9; Jenkins 简单案例 &#x1f3af; DevOps 企业级实战书籍推荐&#x1f525; 参与方式 &#x1f4cb; 前言 企业级 CI/CD 实战是一个涉及到软件开发…

Linux CentOS 7.6安装Redis 6.2.6 详细保姆级教程

1、安装依赖 //检查是否有依赖 gcc -v //没有则安装 yum install -y gcc2、下载redis安装包 //进入home目录 cd /home //通过wget下载redis安装包 wget https://download.redis.io/releases/redis-6.2.6.tar.gz //解压安装包 tar -zxvf redis-6.2.6.tar.gz3、编译 //进入解压…

idea中常见快捷键及插件操作

1、双击shift【万能】 &#xff08;1&#xff09;输入pull&#xff0c;回车可以更新代码 &#xff08;2&#xff09;输入commit&#xff0c;回车可以提交代码 &#xff08;3&#xff09;输入history,可以查看提交记录 &#xff08;4&#xff09;输入break&#xff0c;回车可以查…

【Linux】如何使用git命令行与远程仓库建立连接(以Gitee为例)

目录 01.创建仓库 开源 初始化​编辑 设置模版 ​编辑 02.下载仓库到本地 03.提交贡献到远程仓库 01.创建仓库 首先在Gitee网站上登录你的账户&#xff0c;并创建一个新的仓库&#xff0c;输入仓库名称后就会自动生成仓库路径 开源 可以选择你的仓库是否开源。 开源仓…

企业如何选择一个开源「好」项目?

开源 三句半 oss-roast 需求明确是关键 风险考量要周全 开源虽好不白捡 别忘合规&#xff01; 显然&#xff0c;开源已成为一股不可阻挡的洪流&#xff0c;企业拥抱开源&#xff0c;积极参与开源项目不仅是响应技术潮流的必然选择&#xff0c;更是实现自身技术创新、市场拓展等…

rk3588 安卓13 需要暴露导航栏,状态栏的隐藏与显示接口

rk3588 安卓13 需要暴露导航栏&#xff0c;状态栏的隐藏与显示接口&#xff0c;因为源码使用了taskbar&#xff0c;是launcher3里面的导航栏&#xff0c;需要改成NavigationBar系统原本的导航栏&#xff0c;所以先改回&#xff0c;代码如下&#xff1a; LQXszcomplier171:~/te…

AI开源概览及工具使用

一、前言 随着ChatGPT热度的攀升&#xff0c;越来越多的公司也相继推出了自己的AI大模型&#xff0c;如文心一言、通义千问等。各大应用也开始内置AI玩法&#xff0c;如抖音的AI特效&#xff1b; 关联资源&#xff1a;代码 GitHub、相关论文、项目Demo、产品文档、Grok Ai、gr…

【算法】雪花算法生成分布式 ID

SueWakeup 个人中心&#xff1a;SueWakeup 系列专栏&#xff1a;学习Java框架 个性签名&#xff1a;人生乏味啊&#xff0c;我欲令之光怪陆离 本文封面由 凯楠&#x1f4f7; 友情赞助播出! 目录 1. 什么是分布式 ID 2. 分布式 ID 基本要求 3. 数据库主键自增 4. UUID 5. S…

【高频SQL (进阶版)】1398.购买了产品A和产品B却没有购买产品C的顾客Plus

思路&#xff1a; 思路1&#xff1a;买了A&#xff0c;买了B&#xff0c;没有买C。 按人分组统计&#xff0c;A的数>0, B的数>0 ,C的数 0。 思路2&#xff1a;反过来查&#xff0c;用户id。在产品表里,产品名为A&#xff0c;为B的用户列表里&#xff0c;但是不在产品…

ab (Apache benchmark) - 压力/性能测试工具

Apache benchmark&#xff08;ab&#xff09; 安装window安装使用方法 - bin目录运行使用方法 - 任意目录运行 linux安装 基本命令介绍常用参数:输出结果分析&#xff1a; ab的man手册 安装 window安装 官网下载链接&#xff1a;https://www.apachehaus.com/cgi-bin/download…

c++ 指针大小

C的一个指针占内存几个字节&#xff1f; 结论&#xff1a; 取决于是64位编译模式还是32位编译模式&#xff08;注意&#xff0c;和机器位数没有直接关系&#xff09; 在64位编译模式下&#xff0c;指针的占用内存大小是8字节在32位编译模式下&#xff0c;指针占用内存大小是4字…

分布式之SleuthZipkin

Sleuth&Zipkin 学习当前课程&#xff0c;比必须要先掌握SpringCloud的基本应用&#xff08;Nacos&#xff0c;Feign调用&#xff09; 对Docker有一定的了解&#xff0c;知道docker-compose.yml如何启动一个容器 RabbitMQ&#xff0c;Elasticsearch有一定了解。 而且学习…