前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小白如何从零开始安装Discuz! Q内测版

小白如何从零开始安装Discuz! Q内测版

作者头像
腾讯云DNSPod团队
发布2020-06-22 15:41:19
1.4K0
发布2020-06-22 15:41:19
举报

首先强调一点:当前Discuz! Q还是很早期的版本,主要是面向开发者,让开发者提前介入模板和插件的开发。或者有经验的站长,作为早期体验和选型。

但如果是不很懂技术的小白,也想体验的话,可以按照下面的方法来安装。并且保证是全新的服务器。如果这些条件都不具备,或者用了宝塔面板之类的第三方工具,不建议安装使用。

因为,当前官方开发人员的主要精力,集中在开发迭代新功能上,并没有太多精力来帮助没经验的用户安装使用。

安装Discuz! Q内测版,首先你要具备以下条件

  • 一个腾讯云实名认证过的账号,并且使用了DNSPod,在DNSPod至少有一个域名。(并不是为了强绑腾讯云,而是为了保证初期内测使用的用户都是强需求的)
  • 一台船新的腾讯云的CVM,操作系统可以是CentOS或者Ubuntu或者Debian,最新版本即可。当然阿里云或者华为云或者本地虚拟机也可以。但一定要干净,没装过任何东西。
  • 在腾讯云账号中心的API密钥管理,获取到SecretId和SecretKey。注意:请千万不要泄露这两个东西给到任何你不信赖的人,避免你的腾讯云账号被控制,受到损失。
  • 如果(建议,强烈建议)要使用HTTPS,可以到腾讯云申请免费的SSL证书。
  • 申请Discuz! Q内测资格: https://www.dnspod.cn/promo/discuzq。

以上,准备好了以后,并且确认你有足够的耐心,就可以开始安装了。

安装服务器环境

作为小白使用,我的建议一向是用LNMP一键安装包,因为可以自动帮你配好服务器环境,减少不必要的麻烦,一路按回车就好。

注意:

如果你登陆服务器后,看到命令提示符不是#而是$(也就是你没用root账号登陆),请输入sudo su,以获得root权限

如果你的服务器上连wget都没,那就装一下。CentOS运行

代码语言:javascript
复制
# yum install -y wget

Ubuntu或者Debian运行

代码语言:javascript
复制
# apt-get install wget

下面,直接在服务器上输入指令。如果没linux基础的,直接拷贝#后面的命令就行。

代码语言:javascript
复制
# wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz# tar zxvf lnmp1.6.tar.gz# cd lnmp1.6# ./install.sh

安装选项如下:

  • MariaDB 10.3.15
  • PHP 7.3.6
  • Jemalloc

记录好安装过程中输入的MySQL密码,别忘了。

然后就是慢慢等,等装完。

装完后,可以选择性装一些插件,比如redis之类的

代码语言:javascript
复制
./addons.sh

可以装上

  • 3: Memcached(选择后,二级选项要选php-memcached,千万别选错!不要选带有Discuz的那个)
  • 5: Redis
  • 7: imageMagick

最后,把php.ini里面的禁用函数干掉

代码语言:javascript
复制
# sed -i 's/^disable_functions.*/disable_functions = /' /usr/local/php/etc/php.ini

下载Discuz! Q内测版源代码

我们先创建个目录,用来存放代码。比如/var/hosts/com/naizhao。然后我们把Discuz! Q安装到/var/hosts/com/naizhao/q下。

代码语言:javascript
复制
# mkdir -p /var/hosts/com/naizhao# cd /var/hosts/com/naizhao

然后我们修改下composer的源为腾讯云(composer的官方源在国外,很慢)

代码语言:javascript
复制
# composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/

开始克隆代码到目录q中

代码语言:javascript
复制
# composer create-project --prefer-dist qcloud/discuz --repository=https://cloud.discuz.chat q

克隆代码过程中,会让你输入腾讯云的API密钥。获取方式参见上面。

如果一切顺利,代码已经完整的克隆到了q目录里面。我们可以进去看看

代码语言:javascript
复制
# cd q# ls -lha

你应该会看到下面的内容

代码语言:javascript
复制
total 388Kdrwxr-xr-x 11 root root 4.0K Mar 16 18:23 .drwxr-xr-x  3 root root 4.0K Mar 16 18:21 ..drwxr-xr-x 28 root root 4.0K Mar 16 18:21 app-rw-rw-rw-  1 root root  917 Mar 15 19:57 composer.json-rw-r--r--  1 root root 319K Mar 16 18:23 composer.lockdrwxr-xr-x  2 root root 4.0K Mar 16 18:21 configdrwxr-xr-x  4 root root 4.0K Mar 16 18:21 database-rw-rw-rw-  1 root root  362 Mar 15 19:57 disco-rw-rw-rw-  1 root root  213 Mar 15 19:57 .editorconfigdrwxr-xr-x  4 root root 4.0K Mar 16 18:21 .github-rw-rw-rw-  1 root root  108 Mar 15 19:57 .gitignore-rw-rw-rw-  1 root root 1.4K Mar 15 19:57 .php_csdrwxr-xr-x  5 root root 4.0K Mar 16 18:21 public-rw-rw-rw-  1 root root 2.3K Mar 15 19:57 readme.mddrwxr-xr-x  7 root root 4.0K Mar 16 18:21 resourcesdrwxr-xr-x  2 root root 4.0K Mar 16 18:21 routesdrwxr-xr-x 11 root root 4.0K Mar 16 18:21 storagedrwxr-xr-x 56 root root 4.0K Mar 16 18:23 vendor

最后,我们还要改一下storage和config目录为可写

代码语言:javascript
复制
# chmod -R 777 storage config

至此,Discuz! Q的代码就算部署好了。

配置服务器

LNMP一键安装包配置服务器很简单,傻瓜化,输入命令就可以。

代码语言:javascript
复制
# lnmp vhost add

输入内容,可以参考下面

代码语言:javascript
复制
Please enter domain(example: www.lnmp.org): q.naizhao.com Your domain: q.naizhao.com #输入网站的域名Enter more domain name(example: lnmp.org *.lnmp.org): Please enter the directory for the domain: q.naizhao.comDefault directory: /home/wwwroot/q.naizhao.com: /var/hosts/com/naizhao/q/public #输入网站的根目录,记得后面要加上publicVirtual Host Directory: /var/hosts/com/naizhao/q/publicAllow Rewrite rule? (y/n) yPlease enter the rewrite of programme, wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2 rewrite was exist.(Default rewrite: other): laravel #rewrite规则选择laravelYou choose rewrite: laravelEnable PHP Pathinfo? (y/n) yEnable pathinfo.Allow access log? (y/n) yEnter access log filename(Default:q.naizhao.com.log): You access log filename: q.naizhao.com.logCreate database and MySQL user with same name (y/n) y #创建MySQL数据库Enter current root password of Database (Password will not shown): #输入MySQL的root密码OK, MySQL root password correct.Enter database name: dzq #输入要创建的数据库名字Your will create a database and MySQL user with same name: dzqPlease enter password for mysql user dzq: dzq #输入数据库密码Your password: dzq Add SSL Certificate (y/n) y #是否打开SSL支持1: Use your own SSL Certificate and Key2: Use Let's Encrypt to create SSL Certificate and KeyEnter 1 or 2: 2 #SSL证书安装方式,如果前面在腾讯云申请了,选1。或者选2用Let's Encrypt提供的免费3个月证书。但一定要提前把域名指向你的服务器,否则申请不成功!!!It will be processed automatically.

然后就是等待半分钟,网站和数据库都创建好了。

接着删掉open_basedir的限制,不然会导致500错误。运行lnmp1.6/tools/remove_open_basedir_restriction.sh,输入网站根目录/var/hosts/com/naizhao/q/public,按回车就行。

编辑下nginx的配置文件,在目录/usr/local/nginx/conf/vhost/下,找到对应的文件,比如q.naizhao.com.conf,整个文件替换成下面的内容(不要直接粘贴,注意修改对应的一些参数)

代码语言:javascript
复制
server {    listen 80;    server_name q.naizhao.com; #网站域名    return 301 https://$host$request_uri; # 强制把HTTP跳转到HTTPS}

server {    listen 443 ssl http2;    server_name q.naizhao.com; #网站域名    root /var/hosts/com/naizhao/q/public; #网站目录,切记指到public

    ssl_certificate /usr/local/nginx/conf/ssl/q.naizhao.com/fullchain.cer; #ssl证书的证书链    ssl_certificate_key /usr/local/nginx/conf/ssl/q.naizhao.com/q.naizhao.com.key; #ssl证书的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_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;    ssl_buffer_size 4k;

    add_header X-Content-Type-Options nosniff;    add_header X-Frame-Options "SAMEORIGIN";    add_header X-XSS-Protection "1; mode=block";    add_header X-Robots-Tag none;    add_header X-Download-Options noopen;    add_header X-Permitted-Cross-Domain-Policies none;    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;

    index index.html;

    include enable-php-pathinfo.conf;

    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;}

以上全部搞定后,重启lnmp

代码语言:javascript
复制
# lnmp restart

安装Discuz! Q

打开浏览器,访问: https://q.naizhao.com/install,按照上面的提示,输入MySQL的信息、管理员信息,点击安装

安装完成后,进入: https://q.naizhao.com/admin ,就可以管理站点了。

注意:如果安装完后,一直出现loading的图标,请打开浏览器的开发者模式-Application-Storage-Local Storage,右击Clear,然后刷新浏览器即可。

最后,给一个测试站链接: https://q.bra.cm/

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-03-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DNSPod 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
Discuz!
Discuz! 是全球领先的论坛社区应用系统,自2001年6月面世以来,服务超过300多万网站用户案例。现在,借助 Discuz! ,您不仅可以使用搭建传统的社区论坛,更可轻易的构建面向移动互联网时代的私域流量和社交圈子类的应用,并快速启动业务。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档