电影中心 精品软件 联系我们

 找回密码
 立即注册

QQ登录

只需一步,快速开始

Close
查看: 298|回复: 0

从零开始安装Discuz!Q内测版

[复制链接]
发表于 2020-3-17 13:31:38 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
当前Discuz! Q还是很早期的版本,主要是面向开发者,让开发者提前介入模板和插件的开发,或者有经验的站长,作为早期体验和选型。# {- E" J  ]+ }9 I* q0 g
如果是不很懂技术的小白,也想体验的话,可以按照下面的方法来安装。并且保证是全新的服务器。如果这些条件都不具备,或者用了宝塔面板之类的第三方工具,不建议安装使用。
+ a% P; S+ U3 L2 @当前官方开发人员的主要精力,集中在开发迭代新功能上,并没有太多精力来帮助没经验的用户安装使用。
- J4 z" o  v3 f- @9 s6 r' l安装Discuz! Q内测版,首先你要具备以下条件5 s( u% v( M, L# C/ F
  • 一个腾讯云实名认证过的账号,并且使用了DNSPod,在DNSPod至少有一个域名。(并不是为了强绑腾讯云,而是为了保证初期内测使用的用户都是强需求的)
  • 一台全新的腾讯云的CVM,操作系统可以是CentOS或者Ubuntu或者Debian,最新版本即可。当然阿里云或者华为云或者本地虚拟机也可以,但一定要干净,没装过任何东西。
  • 在腾讯云账号中心的API密钥管理,获取到SecretId和SecretKey。注意:请千万不要泄露这两个东西给到任何你不信赖的人,避免你的腾讯云账号被控制,受到损失。
  • 如果(建议,强烈建议)要使用HTTPS,可以到腾讯云申请免费的SSL证书。
  • 申请Discuz! Q内测资格:
    % I2 p2 V7 H# t% o1 @https://www.dnspod.cn/promo/discuzq- y4 H; K6 F" S- J

- _) i! c6 |# @/ S5 u" J4 ]4 z  |安装服务器环境
6 v+ R/ T- B1 U# a+ J
作为小白使用,我的建议一向是用LNMP一键安装包,因为可以自动帮你配好服务器环境,减少不必要的麻烦,一路按回车就好。" B; V6 q6 t& x' ~6 r
注意:
; `( c1 Q9 O4 m  k如果你登陆服务器后,看到命令提示符不是#而是$(也就是你没用root账号登陆),请输入sudo su,以获得root权限- ^4 @" X. F# |
如果你的服务器上连wget都没,那就装一下。
3 i5 o6 R8 l6 tCentOS运行
! V2 p% y4 E! _3 p% i" N
9 P( j9 f& L) e
  1. # yum install -y wget
复制代码
Ubuntu或者Debian运行
' p% q+ F# H* n* m. }
  1. # apt-get install wget
复制代码
下面,直接在服务器上输入指令。如果没linux基础的,直接拷贝#后面的命令就行。
' ?. ?9 n/ c! {5 T' u3 v
  1. # wget http://soft.vpser.net/lnmp/lnmp1.6.tar.gz
复制代码
安装选项如下:
2 M0 v: `' k5 i: E# C
  • MariaDB 10.3.15
  • PHP 7.3.6
  • Jemalloc+ w0 c3 ]+ o- A
记录好安装过程中输入的MySQL密码,别忘了。1 K* o# p0 x( @" i8 C
然后就是慢慢等,等装完。0 ~0 p* D. q: \
装完后,可以选择性装一些插件,比如redis之类的
9 B% @# `+ Q7 z& {/ b
  1. ./addons.sh
复制代码
可以装上
8 W9 \, U! x# O" Z( }4 T6 L
  • 3: Memcached(选择后,二级选项要选php-memcached,千万别选错!不要选带有Discuz的那个)
  • 5: Redis
  • 7: imageMagick6 J, T8 ~4 W3 m7 A/ e9 D3 r
最后,把php.ini里面的禁用函数干掉
( M& p" H- W( r! @& `
  1. # sed -i 's/^disable_functions.*/disable_functions = /' /usr/local/php/etc/php.ini
复制代码
下载Discuz! Q内测版源代码2 K- E( H* ?) {' _! e; c; F/ F4 T- ?
我们先创建个目录,用来存放代码。比如/var/hosts/com/naizhao。然后我们把Discuz! Q安装到/var/hosts/com/naizhao/q下- `: I% w; o* w; R$ b
  1. # mkdir -p /var/hosts/com/naizhao
复制代码
然后我们修改下composer的源为腾讯云(composer的官方源在国外,很慢)9 ~" X& R4 n( ~, w+ P7 k+ h
  1. # composer config -g repos.packagist composer https://mirrors.cloud.tencent.com/composer/
复制代码
开始克隆代码到目录q中
0 f5 E, |3 H+ V
  1. # composer create-project --prefer-dist qcloud/discuz --repository=https://cloud.discuz.chat q
复制代码
克隆代码过程中,会让你输入腾讯云的API密钥。获取方式参见上面。) Q. ]+ I( h  |. I" K+ b1 ]
如果一切顺利,代码已经完整的克隆到了q目录里面。我们可以进去看看7 W- X# J3 K5 i, }- ?4 C. x
  1. # cd q/ c- t& y3 w. W  k* R+ C2 e. S
  2. # ls -lha
复制代码
你应该会看到下面的内容  l0 E6 P) F8 g5 ^
  1. drwxr-xr-x 11 root root 4.0K Mar 16 18:23 .
    9 E+ O3 b$ M9 U  y" E% ~/ X
  2. ( J' ?# N/ \" X, _, V3 ?+ d
  3. drwxr-xr-x 3 root root 4.0K Mar 16 18:21 ..
    , v7 Q" I6 o4 S
  4. ' K' j  v1 F. f- W3 i5 H9 m$ m; h
  5. drwxr-xr-x 28 root root 4.0K Mar 16 18:21 app
    5 Q1 h) o! m  |2 s* k

  6.   F- u2 F4 _! q3 c
  7. -rw-rw-rw- 1 root root 917 Mar 15 19:57 composer.json1 [# V" ^$ r8 D3 V4 }

  8.   }+ @+ }5 q# l: Q1 N
  9. -rw-r--r-- 1 root root 319K Mar 16 18:23 composer.lock
    2 q- b2 S2 ^6 T2 b7 p& |- u

  10. * F3 t2 }9 q& X6 R
  11. drwxr-xr-x 2 root root 4.0K Mar 16 18:21 config7 w! n( `4 l- g" K& G' N

  12. # o. p; V% e# A% ?
  13. drwxr-xr-x 4 root root 4.0K Mar 16 18:21 database/ ~5 b: ~7 ?! D/ L; n. P" ?

  14.   |$ J2 P5 I/ U' V0 R5 L: l
  15. -rw-rw-rw- 1 root root 362 Mar 15 19:57 disco
    ' i8 o  w& h2 W' ^

  16.   d! i) W# N. P% V3 p$ G
  17. -rw-rw-rw- 1 root root 213 Mar 15 19:57 .editorconfig! A. g* e: p' W  X+ G" v
  18. / S/ e7 j0 ~# [/ V, |9 l. @7 H. t
  19. drwxr-xr-x 4 root root 4.0K Mar 16 18:21 .github
    ( C* u6 K8 R7 r( \* e) P

  20. : f8 M9 k, x7 D6 E4 ?" c6 t# B
  21. -rw-rw-rw- 1 root root 108 Mar 15 19:57 .gitignore
    7 t& d* r$ X  ~* o# ~
  22.   C& y4 W& g+ c
  23. -rw-rw-rw- 1 root root 1.4K Mar 15 19:57 .php_cs3 `/ U: _0 X$ g& u
  24. 2 b7 @: P, B: L
  25. drwxr-xr-x 5 root root 4.0K Mar 16 18:21 public! `: }. [3 t( k$ S4 B6 \$ [" y
  26. 5 |; |" o% U2 y! Y. x
  27. -rw-rw-rw- 1 root root 2.3K Mar 15 19:57 readme.md
    3 q; V& f3 L# b* E$ k( k

  28. ; G9 |" P; S7 T5 X
  29. drwxr-xr-x 7 root root 4.0K Mar 16 18:21 resources
    : w, N" G0 u8 @5 n, h3 g7 m

  30. 7 f/ m7 Z; \; n4 k4 g1 J
  31. drwxr-xr-x 2 root root 4.0K Mar 16 18:21 routes) B2 t8 G& C$ `0 V4 |) Z
  32. 9 b$ Z' T# E$ w  p
  33. drwxr-xr-x 11 root root 4.0K Mar 16 18:21 storage
    & d  A) y, K1 }1 P% m( A3 c; ?9 [
  34. 9 v0 R0 ?$ Z* v% L/ D
  35. drwxr-xr-x 56 root root 4.0K Mar 16 18:23 vendor
复制代码
最后,我们还要改一下storage和config目录为可写, c8 w$ _" {% s5 y
  1. # chmod -R 777 storage config
复制代码
至此,Discuz! Q的代码就算部署好了。: s2 \/ m; S% o; j) V7 T* \
配置服务器- \6 ~7 \& ~; r# v; J- k- @! N
LNMP一键安装包配置服务器很简单,傻瓜化,输入命令就可以。' V# l: f' F6 o
  1. # lnmp vhost add
复制代码
输入内容,可以参考下面
+ M$ N& p0 M2 H+ v  r. F4 ^
  1. Please enter domain(example: www.lnmp.org): q.naizhao.com
    - Z0 c2 j" Q2 q- i+ ^
  2. Your domain: q.naizhao.com #输入网站的域名
    $ @# w% ^1 y1 `2 V5 H& j- j$ h
  3. Enter more domain name(example: lnmp.org *.lnmp.org):$ R$ j* n  J7 g6 X
  4. Please enter the directory for the domain: q.naizhao.com# W9 T7 Z  _3 E
  5. Default directory: /home/wwwroot/q.naizhao.com: /var/hosts/com/naizhao/q/public #输入网站的根目录,记得后面要加上public
    ) O$ p6 z- F9 t8 x5 b
  6. Virtual Host Directory: /var/hosts/com/naizhao/q/public
      n$ j1 A* k/ O4 v  z9 |8 ]
  7. Allow Rewrite rule? (y/n) y4 O1 e8 H$ s' N/ q) y3 k0 N* \
  8. Please enter the rewrite of programme,& w/ p) B  H! E
  9. wordpress,discuzx,typecho,thinkphp,laravel,codeigniter,yii2 rewrite was exist.
    9 X; g) K) S. y2 U6 i) ~" S0 D
  10. (Default rewrite: other): laravel #rewrite规则选择laravel
    " |  |% ^4 Q8 I8 s
  11. You choose rewrite: laravel& t$ ]: @) W$ ^
  12. Enable PHP Pathinfo? (y/n) y
    / N# k$ K4 t4 h" s, ?8 k
  13. Enable pathinfo.) f- }) S1 f1 \) A, {2 B
  14. Allow access log? (y/n) y; e, ^5 w! D2 i" l+ d6 S
  15. Enter access log filename(Default:q.naizhao.com.log):
      |. T) n. ~5 D2 }' A- D1 [
  16. You access log filename: q.naizhao.com.log% T% y" S9 U0 V, Y  t- F8 |
  17. Create database and MySQL user with same name (y/n) y #创建MySQL数据库$ i  {) ~; Q; @) e* k8 o: d% h: L
  18. Enter current root password of Database (Password will not shown): #输入MySQL的root密码
    + e- m+ S/ T+ G5 t5 Z
  19. OK, MySQL root password correct.
    : s/ n. s2 N& u$ u+ w
  20. Enter database name: dzq #输入要创建的数据库名字
    0 c- k. N/ |) t; t
  21. Your will create a database and MySQL user with same name: dzq
    - d' t/ ]4 u3 _- D1 |+ N% v: M
  22. Please enter password for mysql user dzq: dzq #输入数据库密码
    4 E( ]1 ]  S$ c$ }3 R; I
  23. Your password: dzq
    & K" B( Y5 O8 `8 Z+ Y
  24. Add SSL Certificate (y/n) y #是否打开SSL支持( B5 L0 m2 F& h. T& n  n  l1 d
  25. 1: Use your own SSL Certificate and Key# c, Z, `( V' ^5 h
  26. 2: Use Let's Encrypt to create SSL Certificate and Key
    % g% v" p, C, h" x+ {
  27. Enter 1 or 2: 2 #SSL证书安装方式,如果前面在腾讯云申请了,选1。或者选2用Let's Encrypt提供的免费3个月证书。但一定要提前把域名指向你的服务器,否则申请不成功!!!! U) d. ^9 o. c; ^; E
  28. It will be processed automatically.
复制代码
然后就是等待半分钟,网站和数据库都创建好了。
" l6 Y( a1 Z: n  u6 p' B接着删掉open_basedir的限制,不然会导致500错误。运行lnmp1.6/tools/remove_open_basedir_restriction.sh,输入网站根目录/var/hosts/com/naizhao/q/public,按回车就行。
! O8 W- _5 W/ ~9 p  ]: R# f( V' u编辑下nginx的配置文件,在目录/usr/local/nginx/conf/vhost/下,找到对应的文件,比如q.naizhao.com.conf,整个文件替换成下面的内容(不要直接粘贴,注意修改对应的一些参数)4 I  R1 P  f( ]2 Y. p7 B2 h; o
  1. server {  h$ H* g% U& Y0 U& I* Q
  2. listen 80;% S) s9 \  P2 r; b$ u
  3. server_name q.naizhao.com; #网站域名
    4 x0 S) ~" P5 F
  4. return 301 https://$host$request_uri; # 强制把HTTP跳转到HTTPS
      i6 _1 Z' r$ q
  5. }server {
    0 I! K: _# Y! M0 R! G( h
  6. listen 443 ssl http2;
    8 `4 W# n" Q4 _2 _! R! @; X
  7. server_name q.naizhao.com; #网站域名
    1 O2 ~; N1 T2 U* }( F
  8. root /var/hosts/com/naizhao/q/public; #网站目录,切记指到public
    2 O7 M' G9 k" i8 `9 N& x* d0 y

  9. 5 |8 R. u7 [. S) N
  10. ssl_certificate /usr/local/nginx/conf/ssl/q.naizhao.com/fullchain.cer; #ssl证书的证书链* }% {, [7 K1 _. i0 u4 t
  11. ssl_certificate_key /usr/local/nginx/conf/ssl/q.naizhao.com/q.naizhao.com.key; #ssl证书的key5 C5 `8 @  K9 _$ l( [; r9 v; E  \

  12. $ d/ B: ^9 ?' }7 B8 d
  13. ssl_session_cache shared:SSL:10m;: \( b" U  P2 x+ H4 Q( f9 w
  14. ssl_session_timeout 24h;
    : g- g3 N" L% N; y

  15. 0 i% E# R9 {+ W+ b2 S
  16. ssl_prefer_server_ciphers on;
    7 f# }/ |& i: `/ b# T
  17. ssl_ciphers EECDH+AESGCM:EDH+AESGCM:AES256+EECDH:AES256+EDH;9 P3 g- v# p, ~# t2 ]1 X/ j6 }: J
  18. ssl_protocols TLSv1.2 TLSv1.3;
    3 R% s% P5 ?# D1 x' y- F9 R
  19. ssl_ecdh_curve secp521r1:secp384r1;
    ( b3 G8 N4 \0 P: ~: \4 |1 o/ |- F
  20. ssl_session_tickets off;0 ?4 f% q* v+ t; a' K7 C
  21. ssl_stapling on;
    1 d6 n' [2 c- e
  22. ssl_stapling_verify on;; l' I' m) L" d8 M, l8 v- J, t
  23. ssl_dhparam /usr/local/nginx/conf/ssl/dhparam.pem;/ t* [  l+ [6 g1 ~
  24. ssl_buffer_size 4k;
    2 j0 ~( T0 K7 y* j3 N( ?' e4 B/ H: _
  25. 3 @) x4 D5 j8 t! n$ `; o4 o& `/ e$ m; d
  26. add_header X-Content-Type-Options nosniff;
    8 H7 D, J1 C. c( F0 a+ ?2 I# G
  27. add_header X-Frame-Options "SAMEORIGIN";
    % z: Z" L7 ]  h, u; q0 `
  28. add_header X-XSS-Protection "1; mode=block";
    3 t, o7 E+ C! s% o; u
  29. add_header X-Robots-Tag none;
    & t- \# d2 u) n) `6 G- z' C
  30. add_header X-Download-Options noopen;
    7 h, s) q# k* s. t
  31. add_header X-Permitted-Cross-Domain-Policies none;. Q( [; W% Q% c5 D
  32. add_header Strict-Transport-Security "max-age=31536000; includeSubDomains; preload" always;
    $ u& r4 p" P: d( w" }# F& R* k

  33. ) c: Z) ], W$ x- w1 D! v9 v5 f
  34. index index.html;
    . I% F3 v  z  S0 F
  35. * p9 W  {" s! ~) u# Y7 P/ {
  36. include enable-php-pathinfo.conf;
    3 t6 J6 g0 n% N/ Y' f
  37. , N: c8 l2 @. `+ a! q/ u
  38. location /install {
    7 i$ F# T1 a1 Z
  39. try_files $uri $uri/ /index.php?$query_string;0 h5 \3 V$ q% t( q; M
  40. }) P) D# W4 z/ u2 M

  41. ( k9 b/ I5 d* l( F
  42. location /api {0 B( @' h& j- F0 \
  43. try_files $uri $uri/ /index.php?$query_string;5 c5 P; T! S. O. i! F: D
  44. }
    ! d) ^" h# `, `: C- v

  45. 1 n( ?3 N- r  A7 {0 l/ ^! T% m
  46. location / {8 `2 G# J$ l. \2 A3 O( m
  47. try_files $uri $uri/ /index.html;  |- @7 }% X. |* K" f) @1 m$ w3 l
  48. }1 h8 A3 P( B2 S( L. ?! J! e
  49. " n1 A1 O$ P+ t& [
  50. location = /favicon.ico { access_log off; log_not_found off; }3 E, C  E$ j& t: [& A: \* d
  51. location = /robots.txt { access_log off; log_not_found off; }, ~* ?4 R" e* I7 n3 U9 q% o

  52. 5 u$ E6 U- n6 H- O; T
  53. error_page 404 /index.php;
    1 \& f$ |( q9 X$ {0 F/ K  M
  54. }
复制代码
以上全部搞定后,重启lnmp
  1. # lnmp restart
复制代码
安装Discuz! Q! c1 ]4 A' D3 _$ G* N, c! H* i( A
打开浏览器,访问:
$ M- {7 R: }: Y) b! T# W- ohttps://q.naizhao.com/install,按照上面的提示,输入MySQL的信息、管理员信息,点击安装
5 V; h7 K* z9 b' G安装完成后,进入:6 s5 v! {- i4 ?, r0 ~* U% q; h
https://q.naizhao.com/admin ,就可以管理站点了。8 B: J7 P) Q2 v# X# B4 e0 @
注意:如果安装完后,一直出现loading的图标,请打开浏览器的开发者模式-Application-Storage-Local Storage,右击Clear,然后刷新浏览器即可。
3 |" M$ ^, }1 G% ]; y2 z: Z3 A9 r最后,给一个测试站链接:https://weipc.club
0 V2 [4 Y7 }! i5 N% M7 p( M/ l/ y
/ b  |& w& d" r
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|小黑屋|手机版|Archiver|帮助|古城IT技术联盟 ( 鲁ICP备06030014号 )

GMT+8, 2024-5-13 14:10 , Processed in 0.166293 second(s), 8 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表