使用shell脚本安装Discuz!论坛

Posted by 肥仔 on June 16, 2020

使用shell脚本安装Discuz!论坛

使用鲲鹏云服务器部署Discuz!论坛

部署环境

华为云CentOS 7.5 64bit with ARM ,规格2vCPUs 4GB ,

完成部署

安装大佬的博客,复制黏贴后,既可以完成一个Discuz!论坛的部署。

完成后结果如下:

自己写脚本安装

感觉一直复制黏贴效率太低,就自己写了个bash脚本。完成相应的安装!

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
# !/bin/bash
start_message(){
cat << ENTER
     ============= 脚本安装工具 =============
     Version: 0.1
     Date: 20200616
     Author:小刘同学
     Usage: 安装Discuz!论坛
     e.g.: chmod 777 ./*.sh && ./install.sh
     ============= 脚本安装工具 =============
ENTER
}
finish_message(){
cat << FINISH
     ============= 脚本安装工具 =============
        脚本已经安装完成
        默认数据库名称:kunpeng
        数据库用户名:root
        数据库密码:123456
       将服务器ip地址,复制到网站即可进行下一步安装
     ============= 脚本安装工具 =============
FINISH
}
do_install(){
# 安装apache
yum install httpd -y
# 安装php编译器
yum install php -y
# 安装php-mysql插件
yum install php-mysql -y
# 安装mariadb数据库
yum install mariadb-server mariadb -y
# 安装 wget
yum install wget -y
# 安装Discuz!
# 下载
wget https://sandbox-experiment-resource-north-4.obs.cn-north-4.myhuaweicloud.com/kunpeng/Discuz_SC_UTF8.zip
# 解压
unzip -d ./Discuz ./Discuz_SC_UTF8.zip
#移动
mv ./Discuz/Discuz_SC_UTF8/upload/* /var/www/html/
#加权限
chmod -R 777 /var/www/html/*
}
start_server(){
# 启动httpd服务
service httpd start
# 启动数据库
systemctl start mariadb

}

start_forever(){
# 重启生效数据库
systemctl enable mariadb
# 重启生效http服务
chkconfig httpd on
}
my_sql(){
#read -p "输入密码" input
#mysql -u root -p$input
mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost'IDENTIFIED BY '123456' WITH GRANT OPTION;
CREATE DATABASE kunpeng;flush privileges

}

fileName=$1
read -p "Discuz!论坛 $1? yes|no: " input

if [ $input == "yes" ] || [ $input == "y" ]
then
    echo "2秒开始安装"
    start_message
    sleep 2
    do_install
    echo "安装完成,进行服务启动设置"
    start_server
    start_forever
    echo "设置完成,进入数据库设置"
    my_sql
    # 所有设置好的环境变量都生效
    service httpd restart
     finish_message

elif [ $input == "no" ] || [ $input == "n" ]
then
    exit 0
else
    echo "输入错误,请重试"
    exit
fi

对脚本的编写,还不是非常的熟悉。可能会出现未知的bug,但大体流程就是这样的。