前几天看到群里有网友提到Discuz! Q即将发布,老蒋大概看了一下,也没有搞清楚Discuz! Q和之前的Discuz有什么关系,反正也看到DNSPOD也有发布他们的信息,应该和官方也有关系的。在论坛社区网站项目中,Discuz! 是有相当大的用户的,但是基于政策和运营的考量很多网站都陆续放弃论坛的运营。而Discuz! Q老蒋简单打开官方的演示页面,无论是PC还是移动端,都是移动展示的,应该后续基于小程序、微信公众号,乃至移动端的对接网站程序使用的。
3月15日Discuz! Q官方有推送发布内测版本,可以申请内测,在这里老蒋也有申请内测,于是准备在服务器中配置看看,因为看到官方介绍的安装文档比较复杂,并不是直接的下载安装包后直接可视化安装的,这个应该是出于内测的考虑才这么复杂的。后续公开程序之后,应该类似我们传统安装程序一行简单的可视化步骤向导安装Discuz! Q。
文章目录 隐藏
第一、Discuz! Q 安装软件环境
第二、下载内测Discuz!Q
第三、WEB服务器配置
第四、安装入口和后台登录
第一、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? location /api { try_files uri uri/ /index.php? 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安装过程 | 欢迎分享