前几天看到群里有网友提到Discuz! Q即将发布,老蒋大概看了一下,也没有搞清楚Discuz! Q和之前的Discuz有什么关系,反正也看到DNSPOD也有发布他们的信息,应该和官方也有关系的。在论坛社区网站项目中,Discuz! 是有相当大的用户的,但是基于政策和运营的考量很多网站都陆续放弃论坛的运营。而Discuz! Q老蒋简单打开官方的演示页面,无论是PC还是移动端,都是移动展示的,应该后续基于小程序、微信公众号,乃至移动端的对接网站程序使用的。
3月15日Discuz! Q官方有推送发布内测版本,可以申请内测,在这里老蒋也有申请内测,于是准备在服务器中配置看看,因为看到官方介绍的安装文档比较复杂,并不是直接的下载安装包后直接可视化安装的,这个应该是出于内测的考虑才这么复杂的。后续公开程序之后,应该类似我们传统安装程序一行简单的可视化步骤向导安装Discuz! Q。
第一、Discuz! Q 安装软件环境
这里,根据官方文档,我们可以看到如果需要安装Q版本,则需要服务器支持下列环境。
MySQL >= 5.7、PHP >= 7.2.0、BCMath PHP 拓展、Ctype PHP 拓展、JSON PHP 拓展、Mbstring PHP 拓展、OpenSSL PHP 拓展、PDO PHP 拓展、Tokenizer PHP 拓展、XML PHP 拓展。如果我们对应组件没有安装的话则需要自行安装。
Discuz! Q 使用 Composer 来管理项目依赖。因此,在使用 Discuz! Q 之前,请确保你的机器已经安装了 Composer。
第二、下载内测Discuz!Q
composer create-project --prefer-dist qcloud/discuz --repository=https://cloud.discuz.chat
在我们准备好的网站目录中,执行命令准备下载程序,这个是不是有点特别?composer会提示输入用户名和密码,请在用户名处输入通过API密钥管理 创建的 SecretId,在密码处输入 SecretKey。当composer询问是否将密码保存时,可选择Yes。只要你已经登记过内测资格,就可以开始下载了。
我们在执行下载过程中看到速度是比较慢的,因为composer会自动下载Discuz! Q和依赖的所有第三方库。由于composer自身的原因,在下载第三方库时可能会比较慢。如果在安装过程中有错误提示,查看是不是我们第一步提到的组件没有支持,我们需要都安装。
比如上面看到有报错缺少组件支持,然后我们再去安装。安装过程中需要清理目录,重新执行上面的下载Composer。
第三、WEB服务器配置
根据官方建议,我们需要将安装DISCUZ Q版本的域名启用HTTPS,而且是支持APACHE和NGINX的,但是配置方法不同。
1、Nginx
如果你使用 Nginx ,除了PHP的相关配置之外,还要在你的站点配置中加入以下配置,建议(非强制)开启 https 和 http2 ,将root目录指向 discuz/public 目录,同时一定要配置 location /、location /install 和 location /api ,将所有的请求将引导至 index.html 前端控制器和后端 index.php API控制器。
listen 443 ssl http2;
listen 80;
server_name www.xxx.com; //比如 www.itbulu.com
root /home/www/discuz/public;ssl_certificate /xxx/server.crt;
ssl_certificate_key /xxx/server.key;ssl_session_cache shared:SSL:10m;
ssl_session_timeout 24h;ssl_prefer_server_ciphers on;
ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;
ssl_protocols TLSv1.2 TLSv1.3;
ssl_ecdh_curve secp521r1:secp384r1;
ssl_session_tickets off;
ssl_stapling on;
ssl_stapling_verify on;
ssl_buffer_size 4k;add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
add_header X-Frame-Options "SAMEORIGIN";
add_header X-XSS-Protection "1; mode=block";
add_header X-Content-Type-Options "nosniff";index index.html;
location /install {
try_files $uri $uri/ /index.php?$query_string;
}location /api {
try_files $uri $uri/ /index.php?$query_string;
}location / {
try_files $uri $uri/ /index.html;
}location = /favicon.ico { access_log off; log_not_found off; }
location = /robots.txt { access_log off; log_not_found off; }error_page 404 /index.php;
2、Apache
Apache要在配置中,将 DocumentRoot 指向 discuz/public 目录,同时通过重写规则,将 /install 和 /api 请求转发给 index.php,其它请求由 index.html 处理。
DocumentRoot /app/public
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteRule ^/install.* /index.php?%{QUERY_STRING} [L,QSA,PT] RewriteRule ^/api.* /index.php?%{QUERY_STRING} [L,QSA,PT,E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-f
RewriteCond %{DOCUMENT_ROOT}/%{REQUEST_FILENAME} !-d
RewriteRule (.*) /index.html [L] </IfModule>
这里老蒋测试是用的Nginx,所以选择第一种。我们需要注意,需要将默认目录设置在discuz/public,如果玩过ThinkPHP的应该知道如何设置。
第四、安装入口和后台登录
1、部署好服务器环境后,打开 http://{您的域名}/install 进入安装界面,按照页面提示进行安装。
2、安装完成后,请访问 http://{您的域名}/admin 进入后台,输入在安装的时候设置的管理员账号和密码,进行管理与配置。
参考网站:https://discuz.chat/docs/
本文出处:老蒋部落 » 新版本Discuz! Q内测体验 记录Composer安装过程 | 欢迎分享( 公众号:老蒋朋友圈 )