codecamp

20.3 搭建Discuz论坛

为了检验LNMP动态网站环境是否配置妥当,可以使用在上面部署Discuz!系统,然后查看结果。如果能够在LNMP动态网站环境中成功安装使用Discuz!论坛系统,也就意味着这套架构是可用的。Discuz! X3.2是国内最常见的社区论坛系统,在经过十多年的研发后已经成为了全球成熟度最高、覆盖率最广的论坛网站系统之一。

Discuz! X3.2软件包的后缀是.zip格式,因此应当使用专用的unzip命令来进行解压。解压后会在当前目录中出现一个名为upload的文件目录,这里面保存的就是Discuz!论坛的系统程序。我们把Nginx服务程序网站根目录的内容清空后,就可以把这些这个目录中的文件都复制进去了。记得把Nginx服务程序的网站根目录的所有者和所属组修改为本地的www用户(已在20.2.2小节创建),并为其赋予755权限以便于能够读、写、执行该论坛系统内的文件。

    [root@linuxprobe php-5.5.14 ]# cd /usr/local/src/
    [root@linuxprobe src]# unzip Discuz_X3.2_SC_GBK.zip
    [root@linuxprobe src]# rm -rf /usr/local/nginx/html/{index.html,50x.html}*
    [root@linuxprobe src]# mv upload/* /usr/local/nginx/html/
    [root@linuxprobe src]# chown -Rf www:www /usr/local/nginx/html
    [root@linuxprobe src]# chmod -Rf 755 /usr/local/nginx/html

第1步:接受Discuz!安装向导的许可协议。在把Discuz!论坛系统程序(即刚才upload目录中的内容)复制Nginx服务网站根目录后便可刷新浏览器页面,这将自动跳转到Discuz! X3.2论坛系统的安装界面,此处需单击“我同意”按钮,进入下一步的安装过程中,如图20-4所示。

图20-4 接受Discuz! X3.2论坛系统的安装许可

第2步:检查Discuz! X3.2论坛系统的安装环境及目录权限。我们部署的LNMP动态网站环境版本和软件都与Discuz!论坛的要求相符合,如果图20-5框中的目录状态为不可写,请自行检查目录的所有者和所属组是否为www用户,以及是否对目录设置了755权限,然后单击“下一步”按钮。

图20-5 检查Discuz! X3.2论坛系统的安装环境及目录权限

第3步:选择“全新安装Discuz! X(含UCenter Server)”。UCenter Server是站点的管理平台,能够在多个站点之间同步会员账户及密码信息,单击“下一步”按钮,如图20-6所示。

图20-6 选择全新安装Discuz!论坛及UCenter Server

第4步:填写服务器的数据库信息与论坛系统管理员信息。网站系统使用由服务器本地(localhost)提供的数据库服务,数据名称与数据表前缀可由用户自行填写,其中数据库的用户名和密码则为用于登录MySQL数据库的信息(以初始化MySQL服务程序时填写的信息为准)。论坛系统的管理员账户为今后登录、管理Discuz!论坛时使用的验证信息,其中账户可以设置得简单好记一些,但是要将密码设置得尽可能复杂一下。在信息填写正确后单击“下一步”按钮,如图20-7所示。

图20-7 填写服务器的数据库信息与论坛系统管理员信息

第5步:等待Discuz! X3.2论坛系统安装完毕,如图20-8所示。这个安装过程是非常快速的,大概只需要30秒左右,然后就可看到论坛安装完成的欢迎界面了。由于虚拟机主机可能并没有连接到互联网,因此该界面中可能无法正常显示Discuz!论坛系统的广告信息。在接入了互联网的服务器上成功安装完Discuz! X3.2论坛系统之后,其界面如图20-9所示。随后单击“您的论坛已完成安装,点此访问”按钮,即可访问到论坛首页,如图20-10所示。

图20-8 等待Discuz! X3.2论坛系统安装完毕

图20-9 成功安装Discuz! X3.2论坛系统后的欢迎界面

图20-10 Discuz! X3.2论坛系统的首页界面

20.2.3 配置php服务
20.4 选购服务器主机
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }