云盘服务器需求:需要独立服务器,或者阿里云、腾讯云等云服务器部署。
CUP至少1核,内存1G以上,磁盘空间10G以上。有运行shell脚本权限安装的服务器。; y/ w5 q3 C, D( ~$ f
安装Centos7.6以上的linux 操作系统。
第一次使用centos服务器,请安装必要的依赖模块。 运行Yum update 命令。再运行安装依赖模块。
- yum -y install make cmake gcc gcc-c++ gcc-g77 flex bison file libtool libtool-libs autoconf kernel-devel libiconv patch wget crontabs libjpeg libjpeg-devel libpng libpng-devel libpng10 libpng10-devel gd gd-devel libxml2 libxml2-devel zlib zlib-devel glib2 glib2-devel unzip tar bzip2 bzip2-devel libzip-devel libevent libevent-devel ncurses ncurses-devel curl curl-devel libcurl libcurl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel vim-minimal gettext gettext-devel ncurses-devel gmp-devel pspell-devel unzip libcap diffutils ca-certificates net-tools libc-client-devel psmisc libXpm-devel git-core c-ares-devel libicu-devel libxslt libxslt-devel xz expat-devel libaio-devel rpcgen libtirpc-devel perl ImageMagick-devel
复制代码
& J. h- ]5 p! g) [0 t; c1 U& ]开启防火墙端口 23306 、20081,26237端口。
" Q, c5 n; |/ o- V/ J1 _
4 C, {7 K2 f5 l0 ?方式1:centos服务器在线安装Centos7.6以上系统的服务器环境部署
安装软件包的目录:" G$ }9 ^9 ^: C1 A2 m$ p0 t" \
本安装包安装后的目录在 /home/xfplay_cloud
目录结构:
/home/xfplay_cloud) r& k6 K' Y9 [* m [
……/wwwlogs 日志文件目录
* b3 N) \1 t! B3 ~/ B& E. @& O……/www 站点目录! y- P+ T: w( F4 k/ @
…………/xfcloud
& s& G# `8 J8 D( B2 o8 Z) P: [6 U………………云盘文件
& I+ y1 W/ ?/ B5 B- a……/xfcloud 服务器环境目录" N0 a- {3 Q b
…………/init.d nginx和mysql 以及 php-fpm 和redis的启动脚本5 X/ E: v7 M+ U! L6 q/ I, E/ F
…………/mysql& O; M4 ]& j n+ ?$ D5 h) C, |
…………/nginx
$ H0 q! a* b1 n4 \( S7 ]* | j) n1 \…………/php
5 }( w0 a8 M. l! }…………/data mysql的数据存放目录data1 N3 b9 B6 F& l
………………
% K" |) S& Y" _9 ^8 y; Y k
自动创建新的用户和用户组xfplay_cloud 用于本环境。
Mysql、nginx的运行用户 和用户组 是 xfplay_cloud用户 和 xfplay_cloud 组;
' v$ \1 i3 S& d! @/ J# W7 @并非采用root安装,所以安装后,环境没有添加到 自动启动服务器内;0 u+ o e* T) {7 _% t3 e
采用非root 权限安装,不会和当前服务器既有环境冲突,解决在已经有nginx、mysql 和php环境的服务器上安装本安装包;
提供在线和离线两种方式进行一键安装包的安装 ,完成搭建Nginx 1.14.1+ php 7.2.6 + mysql5. 5.6 服务器环境;
3 V+ E2 r/ |0 d
在线安装在centos7服务器的shell窗口,用以下脚本获取安装包并安装。
下面参数 需要按您的实际进行修改:! y7 j. c& G. ^6 C( Z! c
参数 DB_Root_Password=\"Xfplay123\" 修改成您的密码,即Xfplay123 换成您要设置的密码;这个参数是mysql的root密码以及云盘后台管理员账号admin的密码;注意密码长度一定要大于8位字符,包含大小写和字母,不含特殊字符。
用你的站点域名替换SiteDomain=\"192.168.142.137\" 中的 192.168.142.137 成你的域名;
- wget http://xfcloud.xfplay.com/xfcloudInstall.tar.gz -cO xfcloudInstall.tar.gz && tar zxf xfcloudInstall.tar.gz && cd xfcloudInstall && LNMP_Auto=\"y\" DBSelect=\"2\" DB_Root_Password=\"Xfplay123\" InstallInnodb=\"y\" SiteDomain=\"192.168.142.137\" PHPSelect=\"8\" SelectMalloc=\"1\" ./install.sh lnmp
复制代码如图以上命令也可以分成 下载安装包和 解压并安装 两个步骤:
7 S1 @( ], M9 `5 R6 g/ v# W
卸载环境- $ /home/xfcloudInstall/uninstall.sh
复制代码然后按照提示操作,选择1 ,等待3秒后,按回车,即可卸载环境。卸载后用 离线安装方式 可以重新安装。
* m9 V4 j# W: |. i$ [! v" F) |离线安装在线安装和离线安装的参数只多了 蓝色部分。其他部分的参数和离线安装相同;+ W/ y( X8 [/ y- ]3 ^7 }1 J
Wget是获取远程安装包到本地,并命名为xfcloudInstall.tar.gz
下载安装包 xfcloudInstall.tar.gz 文件 ,上传压缩包到服务器 的/home目录下。
开始安装步骤:
安装命令:
切换当前目录到home目录;
复制安装命令:(记得IP 为服务器IP)
- $ tar zxf xfcloudInstall.tar.gz && cd xfcloudInstall && LNMP_Auto=\"y\" DBSelect=\"2\" DB_Root_Password=\"Xfplay123\" InstallInnodb=\"y\" SiteDomain=\"192.168.142.137\" PHPSelect=\"8\" SelectMalloc=\"1\" ./install.sh lnmp
复制代码上面命令开始后开始自动安装。安装过程如下图所示:
首先安装mysql服务器,然后安装nginx和php环境;+ ?1 j4 w, b9 W
Mysql安装后监听23306端口
8 L: Y( A5 M$ {2 }) g( c7 W5 ~. r/ }Nginx安装后监听20081端口
! t+ _- y, u, l% k6 b3 ]Redis 监听 26237 端口
用命令 netstat -nltp 可以查看服务器上各端口监听情况。
如下图所示,服务器环境安装成功后监听的端口号:
自动开始安装服务器环境。
命令启动 服务:
- service xfnginx stop|start|restart|reload
" f# a% U# e# t - service xfmysql stop|start|restart
* w! h8 M( p2 o8 W( e- Y4 k - service xfphp-fpm stop|start|restart
4 a- ^, b7 F" \2 b8 O/ x5 p! i( F - service xfredis stop|start|restart
复制代码
& O/ m) X- F! Z如图所示是重启 nginx 服务的命令执行:
环境的启动脚本部署在 /home/xfplay_cloud/xfcloud/init.d/ 目录,所以也可以用
- /home/xfplay_cloud/xfcloud/init.d/nginx stop|start|restart|reload' X0 ^( V- B! A) C) L1 t2 o ^' ~
- /home/xfplay_cloud/xfcloud/init.d/mysql stop|start|restart|reload
* {1 g2 ], e3 O/ ? - /home/xfplay_cloud/xfcloud/init.d/php-fpm stop|start|restart|reload
! H [! F! O& I( B2 z6 H - /home/xfplay_cloud/xfcloud/init.d/redis stop|start|restart|reload
复制代码 ! o6 a) _( l! b7 k7 d! C
可以用 chkconfig xfnginx [ xfnginx| xfmysql| xfphp-fpm | xfredis ] on 添加到开机启动。
, h' F" ~$ r; ~6 F
管理员后台初始化等待安装完成即可通过 http://192.168.142.137:20081/admin(把ip部分 替换成您的) 打开云盘 。(注意服务器安全端口要 添加 放行 20081、 23306端口)。
当在浏览器输入URL访问时,显示nginx 502 错误时,是由于环境的 php-fpm 未启动成功。
可以通过service xfphp- fpm restart 启动。
如果启动时,出现找不到 **pid 文件错误信息。要重新安装环境。 重新安装前,先要卸载之前的安装。 执行安装包里面的 ./uninstall.sh 脚本进行卸载。 然后重新按离线安装方法,进行脚本环境部署。
2 P2 {" B# J. S4 t3 r安装包安装成功后,再浏览器打开网址出现登录界面。
云盘安装后,默认的管理员账号是admin
默认的管理员账号密码是 安装时设置的参数 DB_Root_Password 的具体值。
管理员 admin 登陆 http://192.168.142.137:20081/admin
普通用户登陆 http://192.168.142.137:20081/login
登录后,如果界面显示的语言不是“简体中文”。请在界面点击右上角的头像,进入“设置”界面,找到左侧菜单第一栏的“个人”-“个人信息” 设置语言为“简体中文”。
# R2 C# b* g9 a8 N1 n域名绑定与激活1.进入后台,点击头像,在弹出下拉菜单中选择“设置”,进入系统参数设置界面: 找到左侧菜单,找到最底部一栏的 “其他设置”,进入域名激活与绑定的设置界面。
2.域名管理。
新增域名前,确保域名已经正常解析到云盘安装的服务器IP上。
默认,域名管理一栏,有安装云盘时设置的域名。 其处于“未激活|激活”状态。点击“激活”,系统返回一个 验证码。请在弹出的输入框内输入收到的验证码。完成域名的激活。
注意:域名未解析到当前服务器,无法激活域名(访问云盘的域名或ip要能在公网访问到才能激活)。 只有经过在后台激活的域名才能通过扫码登录,以及云盘App登录。
填写站点的网址,先锋号授权中心URL(官方获取);默认。
) r Y/ c: i, h) r
设置站点名称“设置界面”,左侧菜单 找到“主题”菜单,设置站点的名称以及 站点简介信息。
7 Y5 T- s2 X% z2 Y( S5 e- u9 n
开启Redis缓存服务器环境安装的redis 绑定在127.0.0.1 端口号是 26237,
; x. q7 G1 J- v W3 F用 vi命令 编辑 /home/xfplay_cloud/xfcloud/www/xfcloud/config/config.php8 S+ c# t7 u/ d2 d
追加下面 参数 用于开启云盘redis缓存。
- \'memcache.local\' => \'\\OC\\Memcache\\Redis\',
/ A1 m! S$ X5 } - \'redis\' => array (
' @6 H: A0 f, u; W - \'host\' => \'127.0.0.1\',4 @4 e9 d! h: k, S% x! }! N* |
- \'port\' => \'26237\',/ V3 O, k A" l: G8 p$ a3 D
- \'password\' => \'\',
9 P/ D% |, V" l) | | - \'timeout\' => 1.5,
! Y" Y( }( A8 ~' h3 G% @2 ]7 [ - \'memcache.locking\' => \'\\OC\\Memcache\\Redis\',
0 E$ n; I9 M3 h% Q/ e - ),
复制代码
* N/ D0 [1 k2 @9 |增加位置 如图,注意格式正确。
redis 启用后站点报500错误,可以查看 服务器redis是否正常监听26237端口,如果正常监听。用命令登陆redis的客户端,清除所有缓存记录;
- /home/xfplay_cloud/xfcloud/redis/bin/redis-cli -p 26237
1 J" v* L; D+ z, L5 n7 J2 g, r - 127.0.0.1:26237> flushall
复制代码MISCONF Redis is configured to save RDB snapshots, but it is currently not able to persist on disk. Commands that may modify the data set are disabled, because this instance is configured to report errors during writes if RDB snapshotting fails (stop-writes-on-bgsave-error option). Please check the Redis logs for details about the RDB error.
执行:
- 127.0.0.1:26237> config set stop-writes-on-bgsave-error no
复制代码然后重启 redis 服务器;
- /home/xfplay_cloud/xfcloud/init.d/redis restart
复制代码
% u- Q$ X7 @' D# H8 u6 S4 v9 y/ `& ? x8 C" b/ E( ]* @0 S% B! F4 M
普通会员登录普通会员的入口地址是 http://192.168.142.137:20081/login
管理员地址,专门供管理员通过账号密码登录。而用户采用app或先锋号授权的登录方式。, q/ T8 S: r/ p% K: V, a1 ?: V
管理员不能在后台添加用户。后台添加的用户,在用户登陆界面无法登录。
: a$ r- b. h) r* v+ N0 y常见问题:问:云盘程序安装后,浏览器打开报500服务器内部错误?
答:这个问题一般是数据库没启动导致程序连接不上数据库; 检查云盘目录所属用户:用户组,如果为root用户和用户组,更改为nginx 运行的用户一般为 www:www 通过目录 Chown 命令修改云盘目录用户和用户组所属;
" j, C+ e) ] {( X& Z _
问:云盘程序打开页面报错,如何查看错误具体细节?
答:在云盘目录 /data 下,日志文件nextcloud.log ,查看日志最后一次访问产生的日志记录,找到错误的具体问题。
& \9 K2 c! c' z
方式2:Linux宝塔面板安装如果已经安装有宝塔面板,可以通过宝塔面板新建站点安装云盘。
宝塔安装 云盘 环境:2 p2 A5 o& O( R4 z4 _
采用nginx + php7.2 +mysql 5.6以上的配置;
- server" M$ T# E. f, e
- {
6 F9 G3 g0 t1 n' q! ^% J" N - #下面是nginx 虚拟站点的基本配置
j7 W, t& `0 d0 }4 v - listen 80;" t. E- V' I8 e& r; a) L; G, k
- server_name www.wp.cn;) @1 |6 f& f) V0 y! ~
- index index.php index.html index.htm default.php default.htm default.html;- l S# w/ N2 L5 }0 Y. a# n6 @% O
- root /www/wwwroot/www.wp.cn;
! `- ?9 r8 h3 g; E - 2 B* R. k. T' ]$ ?5 @% V
- #SSL-START SSL相关配置,请勿删除或修改下一行带注释的404规则7 F; J/ ~5 d( W9 c
- #error_page 404/404.html;2 M- Z6 g" H/ B6 {
- #SSL-END3 g# D; L& _) c1 l, }
6 I) `4 g# k$ E, T7 \: u- #ERROR-PAGE-START 错误页配置,可以注释、删除或修改& u4 t$ |+ H" u7 c9 P1 b
- error_page 404 /404.html;4 a% o& a! O% Z8 `& K9 ?
- error_page 502 /502.html;
$ g3 g7 W6 r+ J$ d' \1 ?$ A+ ] - #ERROR-PAGE-END; l, H2 X! ~% M) q
- 7 `: N9 i1 r" X
- #PHP-INFO-START PHP引用配置,可以注释或修改6 X! h% S' q% e* Q
- #include enable-php-72.conf;
1 w" _! L8 |* l0 Q - #PHP-INFO-END
, e5 H, n5 \4 m) S3 \% v
0 b4 e( d& u3 u w$ N- #REWRITE-START URL重写规则引用,修改后将导致面板设置的伪静态规则失效9 n9 [2 N, l) B5 z# z
- #include /www/server/panel/vhost/rewrite/www.wp.cn.conf;. t( \3 K" r4 h" A6 P
- #REWRITE-END
& z, t0 j' _$ c3 K e3 o3 d7 S - #禁止访问的文件或目录% V5 {2 G U6 }5 ?/ M+ A
- location ~ ^/(\\.user.ini|\\.htaccess|\\.git|\\.svn|\\.project|LICENSE|README.md)* S( d: L/ X# ?- y/ C; C( u b5 K c
- {
J; K0 X7 f5 A5 T0 T9 Q - return 404;' y, p. ?, e" A8 w, J2 L/ r& j I
- }
% z* {4 s! Y2 E- o6 R
, O' K9 R/ X; x( V7 i& D- #一键申请SSL证书验证目录相关设置
- U* r2 m& K9 p; U1 C T" a% a - location ~ \\.well-known{( Z7 ?/ ^# _+ o- W# ~
- allow all;
" F5 Z$ c5 e" ^ - }
5 {) O" R) n1 n5 h+ E6 k8 }* h
% G% M! Y% S/ {* E" z. \8 v
复制代码
8 H. Q! k( k' G J$ Y/ B0 A#下面是云盘站点的必须配置方式
- location / {$ v2 ~8 h+ ~( r% r3 l! x. H, J
- rewrite ^ /index.php$request_uri;
2 l/ h" u0 s" r/ | - }* {0 L$ A' J7 [7 e9 j9 A
- ' o/ r7 Z+ t& Z. v; I% H: p, e
- location ~ ^\\/(?:build|tests|config|lib|3rdparty|templates|data)\\/ {
; X1 H8 m$ s# s0 i- f% p7 o" r0 G - deny all;$ U W6 c, e7 ?! U2 B% }. v* f$ J
- }7 ^6 C- ]7 j4 R1 e4 q" ~
- location ~ ^\\/(?:\\.|autotest|occ|issue|indie|db_|console) {+ F) d2 C. m! i' q; M2 @
- deny all; K' K8 j: D; o2 r$ }7 a
- } $ W- {6 H. S8 ?8 L O. O2 i8 I
7 J& C _" ^( p: u- location ~ ^\\/(?:index|remote|public|cron|core\\/ajax\\/update|status|ocs\\/v[12]|updater\\/.+|ocs-provider\\/.+)\\.php(?:$|\\/) {- E/ ~% I" }; T- a' i2 l1 @
- fastcgi_split_path_info ^(.+?\\.php)(\\/.*|)$;$ E6 g @' g3 o2 T$ V x
- include fastcgi.conf;% |5 y9 o( }: X l! c
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;$ P: u( q( \8 ?
- fastcgi_param PATH_INFO $fastcgi_path_info;
3 |" m* p" Y9 s# a. S' ] - #fastcgi_param HTTPS on;" z8 P1 G# l" M- J+ d. Y
- #Avoid sending the security headers twice
6 A, G) o6 n6 i9 R - fastcgi_param modHeadersAvailable true;1 J/ M5 }1 G }1 @: G7 k5 G
- fastcgi_param front_controller_active true;: T3 y9 T' I2 O6 H
- fastcgi_pass unix:/tmp/php-cgi-72.sock;
0 }5 n8 n- Z# l. _( W: o# i - fastcgi_intercept_errors on;2 z* j: m+ m% }8 W1 B& N
- fastcgi_request_buffering off;4 {+ X) ~9 L( f0 D7 E2 A
- }
( F- e: p% X6 l+ {& Z7 {
6 E0 I( N3 ^* ^2 q) { \8 q7 h- location ~ ^\\/(?:updater|ocs-provider)(?:$|\\/) {4 f/ C; D; N9 G' }) j
- try_files $uri/ =404;
- I: z; b6 ^+ {% I: ? - index index.php;' P+ N& s" }/ o
- }
* S* y* ` ^; _# y; b" {1 e. R: {: T - location ~ \\.(?:css|js|woff2?|svg|gif)$ {
4 @( B; i7 X/ v, T6 w1 e - try_files $uri /index.php$request_uri;
& n/ A u8 h& t+ x - add_header Cache-Control \"public, max-age=15778463\";- h7 U" t% u- ^2 \- h
- add_header X-Content-Type-Options nosniff;1 O5 v1 q- Q6 J$ D" i
- add_header X-XSS-Protection \"1; mode=block\";6 J- t7 M4 S. f& D
- add_header X-Robots-Tag none;
! g) e/ y6 R! i0 H# W - add_header X-Download-Options noopen;
3 r3 Z4 t3 q( W - add_header X-Permitted-Cross-Domain-Policies none;
) n9 F% l/ M0 {9 o5 L) o8 d - add_header Referrer-Policy no-referrer;, I2 m, \3 c! z, V1 |" M
- t! ?% E m' b2 v% y- # Optional: Don\'t log access to assets
! m3 g4 j) |) V) G( ], e3 h3 K - access_log off;+ z7 F! z( T3 q! C, c4 N7 c
- }
: z @ y- }/ h* ^* m8 i - location ~ \\.(?:png|html|ttf|ico|jpg|jpeg)$ {. \! J$ J# R8 s- l7 J3 q2 A
- try_files $uri /index.php$request_uri;1 z. N3 b1 [4 N% X
- # Optional: Don\'t log access to other assets3 v$ V8 G q3 U8 U j
- access_log off;
8 C! o. J+ n4 c - }$ i7 n G. R8 x
- <font color=\"#00bfff\">access_log /www/wwwlogs/www.wp.cn.log;. ~" o3 W: Z# ~* A- |
- error_log /www/wwwlogs/www.wp.cn.error.log;</font>
* x8 f( k1 X8 X9 R/ b, Q - }
复制代码 1 @" J. l6 j2 L9 r: \! L
; m( @+ C" } V) f! T8 l, m
以上配置信息,最后两行代码是 宝塔站点配置文件自动生成站点配置信息。
/ e& b! p9 g, G2 \2 l: m0 D