Linux Shell十二 一键安装Discuz_v2

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介:
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
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
#!/bin/bash
#
#Target: Auto install Discuz!
#Date: 2015-05-07
#Author: Jacken
#QQ:654001593
#QQ Group:170544180
#Version: 2.0
#Note 
#Define Function ,Add Select View,Auto Install ALL,More Stronger
#
#
###########################################################################################
#Httpd define path variable
H_FILES=httpd-2.2.29. tar .gz
H_FILES_DIR=httpd-2.2.29
H_URL= 'http://mirror.bit.edu.cn/apache/httpd/'
H_PREFIX= '/usr/local/apache'
###########################################################################################
#Mysql define path variable
M_FILES= 'mysql-5.1.63.tar.gz'
M_FILES_DIR= 'mysql-5.1.63'
M_URL= 'http://downloads.mysql.com/archives/mysql-5.1/'
M_PREFIX= '/usr/local/mysql'
###########################################################################################
#Php define path variable
P_FILES= 'php-5.3.28.tar.bz2'
P_FILES_DIR= 'php-5.3.28'
P_URL= 'http://mirrors.sohu.com/php/'
P_PREFIX= '/usr/local/php5'
###########################################################################################
#Discuz define path variable
D_FILES= 'Discuz_X3.2_SC_UTF8.zip'
D_URL= 'http://download.comsenz.com/DiscuzX/3.2/'
D_DIR= '/var/www/html'
MYSQL_PASSWD=mysqlpassword
###########################################################################################
#Only for super user to execute!
if  [ $UID - ne  0 ]; then
echo  'Error,Just for Super user.'
exit  2
fi
###########################################################################################
###########################################################################################
#Install Environment
function  ENVIRONMENT (){
yum -y  install  apr-devel apr-util-devel gcc ncurses-devel gcc-c++ libxml2 libxml2-devel
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mThe Environment Install Successful!\e[0m'
else
echo  -e  '\e[31mThe Environment Install Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
#Install Apache
function  INSTALL_APACHE(){
   wget -c $H_URL$H_FILES &&  tar  -zxf $H_FILES &&  cd  $H_FILES_DIR && . /configure  --prefix=$H_PREFIX &&  make  &&  make  install 
if  "$?"  - eq  "0"  ]; then
echo  -e  '\e[32mApache Server Install Success!\e[0m'
else
echo  -e  '\e[31mApache Server Install Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
#Install Mysql DB
function  INSTALL_MYSQL (){
   wget -c $M_URL$M_FILES &&  tar  -zxf $M_FILES &&  cd  $M_FILES_DIR && . /configure  --prefix=$M_PREFIX -- enable -assembler &&  make  &&  make  install
if  "$?"  - eq  "0"  ]; then
echo  -e   '\e[32mMysql Server Install Success!\e[0m'
else
echo  -e  '\e[31mMysql Server Install Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
#Configure Mysql
function  CONFIGURE_MYSQL(){
\ cp  ${M_PREFIX} /share/mysql/my-medium .cnf   /etc/my .cnf && \ cp  ${M_PREFIX} /share/mysql/mysql .server  /etc/init .d /mysqld  &&  chkconfig --add mysqld && chkconfig --level 345 mysqld on ||  echo  -e  '\e[31mMysql Server Configuue Failure!\e[0m'  exit  2
#Useradd mysql user
id  mysql> /dev/null  2>&1 ||  useradd  mysql
cd  $M_PREFIX 
chown  -R mysql.mysql $M_PREFIX && ${M_PREFIX} /bin/mysql_install_db  --user=mysql >  /dev/null  2>&1 &&
chown  -R mysql var &&  /usr/local/mysql/bin/mysqld_safe  --user=mysql& >  /dev/null  2>&1 &&
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mMysql Server Configure Success!\e[0m'
else
echo  -e  '\e[31mMysql Server Configuue Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
#Install Php
function  INSTALL_PHP(){
wget -c $P_URL$P_FILES &&  tar  -jxf $P_FILES &&  cd  $P_FILES_DIR && . /configure   --prefix=$P_PREFIX  --with-config- file -path=${P_PREFIX} /etc   --with-apxs2=${H_PREFIX} /bin/apxs  --with-mysql=$M_PREFIX &&  make  &&  make  install 
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mPhp Install Success!\e[0m'
else
echo  -e  '\e[31mPhp Install Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
# Integrate Php and Mysql
function  INTEGRATE_PHP_MYSQL(){
sed  -i  '311a AddType     application/x-httpd-php .php'  $H_PREFIX /conf/httpd .conf &&
sed  -i  's/index.html/index.php index.html/'  $H_PREFIX /conf/httpd .conf
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mIntegrate is Success!\e[0m'
$H_PREFIX /bin/apachectl  start > /dev/null  2>&1
else
echo  -e  '\e[31mIntegrate is Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
#Configure Discuz
function  CONFIGURE_DISCUZ() {
wget -c $D_URL$D_FILES && unzip $D_FILES -d $H_PREFIX /htdocs/  &&  cd  $H_PREFIX /htdocs/  && \ mv  upload/* . &&  chmod  -R o+w data/ config/ uc_server/ uc_client/
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mConfigure Discuz Success!\e[0m'  &&
#Create discuz database
$M_PREFIX /bin/mysql  -uroot -p$MYSQL_PASSWD -e  'create database discuz'  &&
#Grant user password
$M_PREFIX /bin/mysql  -uroot -p$MYSQL_PASSWD -e  "grant all on *.* to discuz@'localhost' identified by 'discuz'"  &&
#Flush privileges
$M_PREFIX /bin/mysql  -uroot -e  'flush privileges' 
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mDiscuz Mysql Configure Success!\e[0m'
#Start Apache Server
$H_PREFIX /bin/apachectl  start> /dev/null  2>&1 && 
#Start Mysql Server
$M_PREFIX /bin/mysqld_safe  --user=mysql&> /dev/null  2>&1
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mApache and Mysql Start Success!\e[0m'
else
echo  -e  '\e[31mApache and Mysql Start Failure!\e[0m'
exit  2
fi
else
echo  -e  '\e[31mDiscuz Mysql configure Failure!\e[0m'
exit  2
fi
else
echo  -e  '\e[31mConfigure Discuz Failure!\e[0m'
exit  2
fi
}
###########################################################################################
###########################################################################################
###########################################################################################
#Define PS3
PS3= "Please Enter Your choose: "
select  in 'Yum install Environment'  'Install Apache'  'Install Mysql'  'Configure Mysql'  'Install Php'  'Integrate Php and Mysql'  'Automatic Install LAMP'  'Configure Discuz'  'Automatic Install ALL'  'Exit'
do
CHOOSE=$REPLY
case  $CHOOSE  in
1)
ENVIRONMENT
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mYum Install Environment Successful!\e[0m'  
else
echo  -e  '\e[31mYum Install Environment Failure!\e[0m'  
exit  2
fi
;;
###########################################################################################
2)
INSTALL_APACHE 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mApache Install Successful!\e[0m'
else
echo  -e  '\e[31mApache Install Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
3)
INSTALL_MYSQL 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mMysql Install Successful!\e[0m'
else
echo  -e  '\e[31mMysql Install Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
4)
CONFIGURE_MYSQL 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mConfigure Mysql  Successful!\e[0m'
else
echo  -e  '\e[31mConfigure Mysql Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
5)
INSTALL_PHP 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mPhp Install Successful!\e[0m'
else
echo  -e  '\e[31mPhp Install Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
6)
INTEGRATE_PHP_MYSQL 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mIntegrate php and mysql Successful!\e[0m'
else
echo  -e  '\e[31mIntegrate Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
7)
ENVIRONMENT &&
INSTALL_APACHE && 
INSTALL_MYSQL  &&
CONFIGURE_MYSQL &&
INSTALL_PHP &&
INTEGRATE_PHP_MYSQL
if  [ $? - eq  0 ]; then
  echo  -e  '\e[32mLamp is ok!\e[0m'
  exit  0
else
  echo  -e  '\e[31mLamp Error,Please Check. exit....\e[0m'
  exit  2
fi
;;
###########################################################################################
8)
CONFIGURE_DISCUZ 
if  [ $? - eq  0 ]; then
echo  -e   '\e[32mConfigure Discuz Successful!\e[0m'
else
echo  -e  '\e[31mConfigure Discuz Failure!\e[0m'
exit  2
fi
;;
###########################################################################################
9)
ENVIRONMENT &&
INSTALL_APACHE && 
INSTALL_MYSQL  &&
CONFIGURE_MYSQL &&
INSTALL_PHP &&
INTEGRATE_PHP_MYSQL &&
CONFIGURE_DISCUZ 
if  [ $? - eq  0 ]; then
echo  -e  '\e[32mEverything is ok!\e[0m'
exit  0
else
echo  -e  '\e[31mWrong,Please Check. exit....\e[0m'
exit  2
fi
;;
###########################################################################################
10)
echo  -e  '\e[32mExit....\e[0m'
exit  0
;;
###########################################################################################
*)
echo  -e  '\e[31mIncorect Number,Please Enter Again!\e[0m' ;;
esac
done

脚本执行成功后,即可通过本地访问服务器IP创建Discuz论坛。(脚本文件在附近当中,经测试全自动安装Discuz共花费25分钟,不同的网络环境,花费的时间也不一样哦,如果在线下载软件包实在太慢,就下载后上传上去,注意下版本号和脚本里的对应即可)!

脚本执行界面:

wKiom1VSyZTic_yiAAGGwzAwhcM953.jpg


wKiom1VLd5KA3ecTAASC8kvzKUs616.jpg

wKioL1VLeQ3gMO06AANHbDQEPWI955.jpg

wKiom1VLd57QKTAvAAHXOmxNjYI390.jpg

wKioL1VLeRnBTGfPAAMFzjjWAwE928.jpg

wKiom1VLd6_TSeOCAAOe_lPl8oI603.jpg

wKioL1VLeSrjtyL_AAOMFKqDEIM709.jpg


本文转自Jacken_yang 51CTO博客,原文链接:http://blog.51cto.com/linuxnote/1644005,如需转载请自行联系原作者

相关实践学习
如何快速连接云数据库RDS MySQL
本场景介绍如何通过阿里云数据管理服务DMS快速连接云数据库RDS MySQL,然后进行数据表的CRUD操作。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
相关文章
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
本文详细介绍了在VMware虚拟机中安装CentOS 6.8的全过程。首先,需确保已安装VMware并开启V-CPU虚拟化功能,可通过BIOS设置或使用LeoMoon CPU-V工具检测。接着,下载CentOS镜像文件,并在VMware中新建虚拟机,配置CPU、内存、硬盘等参数。最后,加载ISO镜像启动虚拟机,按照提示完成CentOS的安装,包括语言、键盘、存储方式、地区、密码设置及硬盘分区等步骤。安装完成后,以root用户登录即可进入系统桌面,开始学习Linux命令和操作。
129 12
零基础保姆级教程!手把手教你免费玩转Linux CentOS安装+学习环境搭建(附避坑指南)
在Rocky Linux 9上安装JDK并配置环境变量!
本教程介绍在Rocky Linux 9上安装JDK并配置环境变量的完整步骤。首先更新系统,清理旧版本JDK相关包及残留文件,确保环境干净。接着搜索并安装所需版本的JDK(如OpenJDK 17),验证安装是否成功。然后查找JDK安装路径,配置全局环境变量`JAVA_HOME`和`PATH`,最后验证环境变量设置。按照此流程操作,可顺利完成Java开发环境搭建,支持多版本切换(如JDK 8/11/17)。生产环境请谨慎操作,避免影响现有服务。
96 21
YashanDB Linux客户端安装
本文详细介绍了YashanDB客户端在Linux系统中的安装、使用与卸载步骤。安装方法包括适用于所有Linux平台的脚本安装和专用于CentOS的rpm安装。脚本安装需解压软件包并配置环境变量,而rpm安装则需以root用户执行相关命令。此外,文章还说明了如何通过yasql连接YashanDB并进行数据库操作,以及两种安装方式对应的卸载方法,帮助用户顺利完成客户端的管理与维护。
Linux 手动安装快速部署 LNMP 环境实战
本文详细记录了在阿里云ECS上手动搭建LNMP环境的过程,系统选用Ubuntu 24.04。主要内容包括:1) 使用`apt`安装Nginx和MySQL,并更新软件源;2) 编译安装PHP 8.4.5,配置PHP-FPM及环境路径;3) 配置MySQL root用户密码;4) 调整Nginx支持PHP解析并测试整体环境。通过此过程,重现手动配置服务器的细节,帮助熟悉各组件的安装与协同工作。
Android调试终极指南:ADB安装+多设备连接+ANR日志抓取全流程解析,覆盖环境变量配置/多设备调试/ANR日志分析全流程,附Win/Mac/Linux三平台解决方案
ADB(Android Debug Bridge)是安卓开发中的重要工具,用于连接电脑与安卓设备,实现文件传输、应用管理、日志抓取等功能。本文介绍了 ADB 的基本概念、安装配置及常用命令。包括:1) 基本命令如 `adb version` 和 `adb devices`;2) 权限操作如 `adb root` 和 `adb shell`;3) APK 操作如安装、卸载应用;4) 文件传输如 `adb push` 和 `adb pull`;5) 日志记录如 `adb logcat`;6) 系统信息获取如屏幕截图和录屏。通过这些功能,用户可高效调试和管理安卓设备。
Linux中yum、rpm、apt-get、wget的区别,yum、rpm、apt-get常用命令,CentOS、Ubuntu中安装wget
通过本文,我们详细了解了 `yum`、`rpm`、`apt-get`和 `wget`的区别、常用命令以及在CentOS和Ubuntu中安装 `wget`的方法。`yum`和 `apt-get`是高层次的包管理器,分别用于RPM系和Debian系发行版,能够自动解决依赖问题;而 `rpm`是低层次的包管理工具,适合处理单个包;`wget`则是一个功能强大的下载工具,适用于各种下载任务。在实际使用中,根据系统类型和任务需求选择合适的工具,可以大大提高工作效率和系统管理的便利性。
195 25
|
2月前
|
【linux】Shell脚本中basename和dirname的详细用法教程
本文详细介绍了Linux Shell脚本中 `basename`和 `dirname`命令的用法,包括去除路径信息、去除后缀、批量处理文件名和路径等。同时,通过文件备份和日志文件分离的实践应用,展示了这两个命令在实际脚本中的应用场景。希望本文能帮助您更好地理解和应用 `basename`和 `dirname`命令,提高Shell脚本编写的效率和灵活性。
125 32
|
20天前
|
微服务2——MongoDB单机部署4——Linux系统中的安装启动和连接
本节主要介绍了在Linux系统中安装、启动和连接MongoDB的详细步骤。首先从官网下载MongoDB压缩包并解压至指定目录,接着创建数据和日志存储目录,并配置`mongod.conf`文件以设定日志路径、数据存储路径及绑定IP等参数。之后通过配置文件启动MongoDB服务,并使用`mongo`命令或Compass工具进行连接测试。此外,还提供了防火墙配置建议以及服务停止的两种方法:快速关闭(直接杀死进程)和标准关闭(通过客户端命令安全关闭)。最后补充了数据损坏时的修复操作,确保数据库的稳定运行。
55 0
|
2月前
|
Linux 安装 Qualcomm ® SnapdragonTM Profiler
通过本文的详细介绍,您应该已经成功在 Linux 系统上安装并配置了 Qualcomm® Snapdragon™ Profiler,并能够连接 Android 设备进行性能分析。Snapdragon Profiler 提供了丰富的工具和功能,可以帮助开发者深入了解应用程序的性能瓶颈,从而进行优化。希望本文能对您有所帮助,让您在开发过程中更高效地使用 Snapdragon Profiler 进行性能分析和优化。
105 10
|
2月前
|
Linux安装svn并启动
Linux安装svn并启动
75 10

热门文章

最新文章