使用linux脚本部署discuz博客(详细注释版)

使用脚本部署一个discuzz项目

1.显示当前环境状态

防火墙状态

selinux状态

httpd状态

由上可知,虚拟机已处于最初始状态

2.脚本编写

#!/bin/bash
#这是一个通过脚本来部署discuzz博客
firewalld关闭
systemctl stop firewalld
if [ $? -eq 0 ];then echo "firewalld 已关闭"
fi
#selinux设置
fire=`getenforce`
if [ $fire=="Disabled" ];then echo "SELINUX is disabled"
elsesed -i '/^SELINUX=/s#enforcing#disabled#g' /etc/selinux/configseteforce 0 #设置兼容模式
fi#配置yum镜像源
ali_c=`cat /etc/yum.repos.d/CentOS-Base.repo | grep "aliyun"`
if [ $ali_c -ne 0 ];thencurl -o /etc/yum.repos.d/CentOS-Base.repo wget https://mirrors.aliyun.com/repo/Centos-7.repoecho -e " yum镜像源已经配置 "
fi
ali_e=`cat /etc/yum.repos.d//epel.repo | grep "aliyun"`
if [ $ali_e -ne 0 ];thencurl -o  /etc/yum.repos.d/epel.repo wget https://mirrors.aliyun.com/repo/epel-7.repoecho "epel镜像源已经配置"
fi
yum clean all
yum makecache fast
yum repolist
#查看当前是否安装httpd
rpm -qa | grep httpd
if [ $? -eq 0 ];thenecho  "httpd服务已安装"
elseyum -y install httpd
fi
#启动httpd服务
echo "正在启动httpd服务。。。。。。"
systemctl start httpd
if [ $? -eq 0 ];thenecho "httpd启动成功!!"
else echo "httpd启动失败!!"exit
fi
systemctl enable httpd
stytemctl status httpd
#测试apache网站
echo "hello world" > /var/www/html/index.html
ip_=`ip a| grep "ens33"|awk 'NR==2{print $2}'|cut -d "/" -f 1`
curl $ip_
if [ $? -eq 0 ];thenecho "apache测试成功!!!"
elseecho "apache测试失败!!!"exit
fi#卸载干扰包
mariadb_=`rpm -qa | grep mariadb`
if [ $? -eq 0 ];then echo "开始卸载mariadb干扰包"rpm -e $mariadb_ --nodeps 
fi
rpm -qa | grep mariadb
if [ $? -eq 1 ];then echo "mariadb卸载完成"
elseecho "mariadb卸载失败"
fi
echo "开始安装mysql数据库"
#安装net-tools
yum -y install net-tools
#mysql数据库安装
echo "开始下载mysql数据库rpm安装包"
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-common-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-client-5.7.44-1.el7.x86_64.rpm
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-community-server-5.7.44-1.el7.x86_64.rpm
echo "mysql rpm包下载完成"
#开始安装mysql
#通过awk过滤上面的网址,依次安装
cat discuzz.sh |grep "^wget"|awk -F '/' '{print "rpm -ivh",$9}'
rpm -ivh mysql-community-common-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.44-1.el7.x86_64.rpm
rpm -ivh mysql-community-server-5.7.44-1.el7.x86_64.rpm
echo "mysql安装成功"#设置mysql状态
echo "设置mysql状态"
systemctl start mysqld
if [ $? -eq 0 ];thenecho "mysqld启动成功!!"
else echo "mysqld启动失败!!"exit
fisystemctl enable mysqld
systemctl status mysqld获取mysql临时密码
em_passwd=`grep "password" /var/log/mysqld.log | awk '{print $11}'`
#登录数据库
echo -e '请复制如下命令修改密码:\nALTER USER "root"@"localhost" identified by "1234Qwert.";\n密码需要包含大小写、数字、字符'
mysql -uroot -p"$tem_passwd"#安装php
#1.配置php的yum源
echo "配置php的yum源"
wget https://mirrors.aliyun.com/remi/enterprise/remi-release-7.rpm
#2.安装php
echo "安装php"
yum -y install epel-release
rpm -ivh remi-release-7.rpm
#查看yum仓库
ls /etc/yum.repos.d/
#启用php80的yum源
yum -y install yum-utils
yum-config-manager --enable remi-php80
#安装php80
yum -y install  php80 php80-php php80-php-xml php80-php-xmlrpc php80-php-pecl-mcrypt php80-php-fpm php80-php-pecl-apcu php80-php-mbstring php80-php-gd php80-php-json php80-php-pecl-json-post php80-php-pdo php80-php-mysqlnd php80-php-pecl-mysql php80-php-opcache php80-php-pear php80-php-soap php80-php-intl php80-php-pear php-pear-MDB2-Driver-mysqli.noarch#3.启动php
echo "启动php"
systemctl  start php80-php-fpmsystemctl status php80-php-fpmsystemctl enable php80-php-fpm
#4.测试php是否安装完成
echo "测试php是否安装完成"
echo "<?php phpinfo(); ?>" > /var/www/html/info.php
ls -l /var/www/html/5.重启apache
echo "重启httpd中。。。。。。"
systemctl restart httpd
echo "httpd重启完成!!!!!"curl $ip_
if [ $? -eq 0 ];thenecho "apache测试成功!!!"
elseecho "apache测试失败!!!"exit
fi
#部署discuz论坛
#1.下载安装包
echo "正在下载discuz。。。。"
wget https://gitee.com/Discuz/DiscuzX/attach_files/2044572/download -O ./cuz.zip
mkdir cuz
#2.解压安装包
yum -y install unzip
unzip cuz.zip -d cuz/
echo "discuz下载完成"
#3.拷贝discuz相关的文件到/var/www/html/
echo "正在拷贝discuz。。。。。。"
rm -rf /var/www/html/*
cp -r cuz/upload/* /var/www/html/
echo "discuz已拷贝到/var/www/html/"
#4.修改文件权限
chmod -R 777 /var/www/html/
echo "查看/var/www/html中的文件"
ls /var/www/html
#5.重启apache 
echo "重启httpd中。。。。。。"
systemctl restart httpd
echo "httpd重启完成!!!!!"
#6.打开网页安装论坛
echo "请访问网址$ip_/install/ 中"

3.结果

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

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

相关文章

Windows 快速搭建C++开发环境,安装C++、CMake、QT、Visual Studio、Setup Factory

安装C 简介 Windows 版的 GCC 有三个选择&#xff1a; CygwinMinGWmingw-w64 Cygwin、MinGW 和 mingw-w64 都是在 Windows 操作系统上运行的工具集&#xff0c;用于在 Windows 环境下进行开发和编译。 Cygwin 是一个在 Windows 上运行的开源项目&#xff0c;旨在提供类Uni…

React创建项目实用教程

✍请将整篇文章阅读完再开始使用create-react-app react-project创建项目 检查node版本 node -v // node版本&#xff1a;v22.10.0使用nvm降版本修改到了node V20.11.1之后再进行一系列操作的 react脚手架安装&#xff1a; npm install -g create-react-app// node版本&…

RK3588配置成为路由器

文章目录 前言一、配置netplan二、安装hostapd1.创建hostapd.conf文件2.安装软件3.修改启动文件4.修改/etc/default/hostapd 文件 三、安装dnsmasq服务四、配置NET及重启验证五、常见问题总结 前言 RK3588开发板有两个网口&#xff0c;一个无线网卡。我需要配置为家用路由器模…

游戏引擎学习第114天

打开内容并回顾 目前正在讨论一个非常重要的话题——优化。当代码运行太慢&#xff0c;无法达到所需性能时&#xff0c;我们该怎么办。昨天&#xff0c;我们通过在代码中添加性能计数器&#xff0c;验证了一些性能分析的数据&#xff0c;这些计数器帮助我们了解每个操作需要的…

如何修改Windows系统Ollama模型存储位置

默认情况下&#xff0c;Ollama 模型会存储在 C 盘用户目录下的 .ollama/models 文件夹中&#xff0c;这会占用大量 C 盘空间&#xff0c;增加C盘“爆红”的几率。所以&#xff0c;我们就需要修改Ollama的模型存储位置 Ollama提供了一个环境变量参数可以修改Ollama的默认存在位…

第1章大型互联网公司的基础架构——1.2 客户端连接机房的技术1:DNS

客户端启动时要做的第一件事情就是通过互联网与机房建立连接&#xff0c;然后用户才可以在客户端与后台服务器进行网络通信。目前在计算机网络中应用较为广泛的网络通信协议是TCP/IP&#xff0c;它的通信基础是IP地址&#xff0c;因为IP地址有如下两个主要功能。 标识设备&…

第四届图像、信号处理与模式识别国际学术会议(ISPP 2025)

重要信息 大会官网&#xff1a;www.icispp.com 大会时间&#xff1a;2025年3月28日-30日 大会地点&#xff1a;南京 简介 由河海大学和江苏大学联合主办的第四届图像、信号处理与模式识别&#xff08;ISPP 2025) 将于2025年3月28日-30日在中国南京举行。主要围绕图像信号处…

STM32F1学习——BKP备份寄存器和RTC实时时钟

一、RTC实时时钟 在使用RTC实时时钟时&#xff0c;我们需要理解一下Unix时间戳相关的内容。Unix定义为从UTC/GMT的1970年1月1日的0时0分0秒开始所经过的秒数&#xff0c;不考虑润秒。 时间戳存储在一个秒计数器中&#xff0c;秒计数器为32位/64位的整型变量&#xff0c;世界上所…

【Python爬虫(26)】Python爬虫进阶:数据清洗与预处理的魔法秘籍

【Python爬虫】专栏简介&#xff1a;本专栏是 Python 爬虫领域的集大成之作&#xff0c;共 100 章节。从 Python 基础语法、爬虫入门知识讲起&#xff0c;深入探讨反爬虫、多线程、分布式等进阶技术。以大量实例为支撑&#xff0c;覆盖网页、图片、音频等各类数据爬取&#xff…

Java集合框架之List接口详解

目录 一、List接口概述 二、List接口常见实现类 三、List接口特有方法: 1.元素操作 2. 查找元素位置 3. 子列表与不可变列表 四、List特有迭代器:ListIterator 1.特有的迭代方式 2.ListIterator接口中的常用方法: ⑴.void add(E e):在光标位置插入元素。(会移动…

嵌入式八股文(四)计算机网络篇

第一章 基础概念 1. 服务 指网络中各层为紧邻的上层提供的功能调用,是垂直的。包括面向连接服务、无连接服务、可靠服务、不可靠服务。 2. 协议 是计算机⽹络相互通信的对等层实体之间交换信息时必须遵守的规则或约定的集合。⽹络协议的三个基本要素:语法、…

SpringBoot+Vue+Mysql苍穹外卖

一.项目介绍 1.项目内容 苍穹外卖是一款为大学学子设计的校园外卖服务软件&#xff0c;旨在提供便捷的食堂外卖送至宿舍的服务。该软件包含系统管理后台和用户端&#xff08;微信小程序&#xff09;两部分&#xff0c;支持在线浏览菜品、添加购物车、下单等功能&#xff0c;并…

【设计模式精讲】创建型模式之工厂方法模式(简单工厂、工厂方法)

文章目录 第四章 创建型模式4.2 工厂方法模式4.2.1 需求: 模拟发放奖品业务4.2.2 原始开发方式4.2.3 简单工厂模式4.2.3.1 简单工厂模式介绍4.2.3.2 简单工厂原理4.2.3.3 简单工厂模式重构代码4.2.3.4 简单工厂模式总结 4.2.4 工厂方法模式4.2.4.1 工厂方法模式介绍4.2.4.2 工厂…

【C语言】指针(5)

前言&#xff1a;上篇文章的末尾我们使用了转移表来解决代码冗余的问题&#xff0c;那我们还有没有什么办法解决代码冗余呢&#xff1f;有的这就是接下来要说的回调函数。 往期文章: 指针1 指针2 指针3 指针4 文章目录 一&#xff0c;回调函数二&#xff0c;qsort实现快速排序1…

SpringBoot:SSL证书部署+SpringBoot实现HTTPS安全访问

一、前言 SSL协议介于TCP/IP协议栈的第四层&#xff08;传输层&#xff09;和第七层&#xff08;应用层&#xff09;之间&#xff0c;为基于TCP的应用层协议&#xff08;如HTTP&#xff09;提供安全连接。它通过在客户端和服务器之间建立一个加密的通道&#xff0c;确保数据在传…

嵌入式 lwip http server makefsdata

背景&#xff1a; 基于君正X2000 MCU Freertoslwip架构 实现HTTP server服务&#xff0c;MCU作为HTTP服务器通过网口进行数据包的传输&#xff0c;提供网页服务。其中设计到LWIP提供的工具makefsdata&#xff0c;常用于将文件或目录结构转换为适合嵌入到固件中的二进制格式。 …

论文笔记-WSDM2025-ColdLLM

论文笔记-WSDM2025-Large Language Model Simulator for Cold-Start Recommendation ColdLLM&#xff1a;用于冷启动推荐的大语言模型模拟器摘要1.引言2.前言3.方法3.1整体框架3.1.1行为模拟3.1.2嵌入优化 3.2耦合漏斗ColdLLM3.2.1过滤模拟3.2.2精炼模拟 3.3模拟器训练3.3.1LLM…

《DeepSeek-V3:人工智能大语言模型》

《DeepSeek-V3:人工智能大语言模型》 1. 引言 我们介绍了 DeepSeek-V3,这是一个强大的专家混合 (MoE) 语言模型,总共有 671B 个参数,每个令牌激活了 37B。 为了实现高效的推理和具有成本效益的训练,DeepSeek-V3 采用了多头潜在注意力 (MLA) 和 DeepSeekMoE 架构,这些…

手机控制电脑远程关机

远程看看软件兼容iOS和Android设备&#xff0c;该软件除了能通过电脑远程关闭另一台电脑外&#xff0c;您还可以通过它在手机上远程关闭公司的电脑。您可以按照以下步骤进行操作以实现电脑远程关机&#xff1a; 步骤1.在手机应用商店搜索“远程看看”进行软件安装&#xff0c;…

Aseprite绘画流程案例(1)——画相机图标

原图&#xff1a; 步骤一&#xff1a;打开需要参照的图标 步骤二&#xff1a;将参照的图片拖放到右边&#xff0c;作为参考 步骤三&#xff1a;新建24x24的画布&#xff0c;背景为白色的画布 步骤四&#xff1a;点击菜单栏——视图——显示——像素网格&#xff08;如果画布已经…