1、前言
国内各大云盘厂家吃相越来越难看,阿里云盘靠着不限速的口号迅速发展,现在也已经步入百度网盘限速的后尘。
自建网盘的优势越来越突出,比如不会被限速,笔者在这里推荐可道云,因为可道云客户端支持比较全面。
2、关于
可道云KodExplorer,原名芒果云,是基于Web技术的私有云在线文档管理解决方案。KodExplorer最初是创始人雾渺的毕业设计项目,基于强烈的个人兴趣,毕业后他仍旧坚持开发,致力于为世界提供更好用的在线文档管理系统。
测试地址: http://demo.kodcloud.com/#user/login
测试账号:demo
测试密码:demo
3、软件优点
-
如Windows体验的私有云盘/企业网盘
-
完全支持私有化部署,存储安全可控
-
数百种文件格式在线预览、编辑和播放【具体在线预览格式支持列表】
-
轻松分享,高效协作,细粒度权限管控
-
全平台客户端覆盖,随时随地访问,轻松同步挂载
4、搭建环境
官方环境推荐: centos7 + php7.3 + nginx + mysql5.7 + redis
服务器:树莓派4B
系统:Debian GNU/Linux 11
硬盘:64GB系统盘、2T NVMe 挂载硬盘
软件:php 7.4.33、nginx 1.22.1、 mysql 5.7.42、 redis 7.0.11
本篇内容基于宝塔面板安装,宝塔面板是一款非常出色的Linux管理系统,更多关于宝塔面板内容请移步【服务器必备】目前最好用的Linux管理系统 —— 宝塔面板
5、搭建流程
可道云有两个产品,kodBox和kodExplorer,这里安装的是kodBox。
KodBox是在KodExplorer基础上进行了系统重构的全新产品。为满足系统更强性能、更安全、更多特性的拓展需求,Kodbox对底层架构、存储方式、权限机制等进行了重构,同时继承并升级了KodExplorer优秀前端体验。
5.1 下载
官网下载安装包 https://kodcloud.com/download/
或者说使用命令行来安装
wget https://static.kodcloud.com/update/download/kodbox.1.42.zip
unzip kodbox.1.42.zip && chmod -Rf 777 ./*
解压完成之后的目录结构是这样的
Tips:
不要将KodBox的服务端文件下载到挂载盘中,切记!
否则会提示权限问题,权限给到是755也依然不行
5.2 安装php
在宝塔面板点击左侧“软件商店”
右侧搜索‘PHP’
官方推荐版本是7.3,各位小伙伴可以安装7.3版本 也可以安装更高版本,本文安装的是7.4.33
选择好要安装的版本点击对应版本右侧的“安装”按钮,这时候弹窗询问如何安装,这里直接选择默认,点击确认即可。
这时候弹出消息盒子,这时候只需要耐心等待几分钟。
等待黑框消失,php就安装好了。
5.3 配置php
5.3.1 修改配置文件
在“软件商店”找到安装的php版本,点击右侧的“设置”按钮,选择弹窗中的“配置文件”
将右侧的内容与下面对应的参数对应修改:
post_max_size = 10240M; // 可上传的文件体积限制
upload_max_filesize = 500M; // 允许上传文件的最大尺寸
memory_limit = 500M; // 脚本内存限制
max_execution_time = 3600; // 最大脚本运行时间
max_input_time = 3600; // 最大输入时间
修改完记得保存😉
服务器内存4GB及以下的话,需要再配置下FPM。
5.3.2 修改FPM配置文件
点击左侧的“FPM配置文件”,内容参考下面参数:
request_terminate_timeout 3600 // 执行一个请求的超时时间,在这之后worker进程将被终止
pm.max_children = 50 // php-fpm 能启动的子进程的最大数量
pm.start_servers = 20 // 动态方式下的起始php-fpm进程数量
pm.min_spare_servers = 10 // 动态方式下的最小php-fpm进程数量
pm.max_spare_servers = 30 // 动态方式下的最大php-fpm进程数量
pm.max_requests = 500 // 当PHP-CGI进程处理的请求数达到多少后,自动重启进程
5.3.3 删除函数
shell_exec(): 可通过Shell执行命令,并将执行结果作为字符串返回
禁用shell_exec函数,否则安装好会进行报错,位置如下: “软件商店-php设置-禁用函数-选择shell_exec删除”
5.4 安装nginx
“软件商店”搜索“nginx”,选择“nginx 1.24.0”进行安装。
5.5 配置nginx
安装好nginx之后,点击右侧的“设置”,点击左侧的“配置修改”,对右侧内容进行修改。
六个参数推荐参考上图修改。
client_max_body_size:限制请求体大小,超出返回413(支持最大上传文件的体积大小)client_header_timeout:读取请求头的超时时间,超出返回408
client_body_timeout:读取请求实体的超时时间,超出返回413
fastcgi_connect_timeout:nginx与后端fastcgi连接超时时间
fastcgi_send_timeout:指定nginx向后端传送请求超时时间(指已完成两次握手后向fastcgi传送请求超时时间)
fastcgi_read_timeout:指定nginx接受后端fastcgi响应请求超时时间 (指已完成两次握手后nginx接受fastcgi响应请求超时时间)
5.6 添加站点
主要的前期准备工作基本做好啦,接下来开始搭建网站。
选择宝塔侧边栏的“网站”,点击“添加站点”。
需要填写的有:域名(可以追加端口号)、网站根目录、数据库
点击“提交”
5.7 配置可道云
浏览器访问刚刚配置好的域名,即可访问到可道云系统的配置页面(由于之前配置好了没有留图,这是在网上找的图)
配置一共有三步,第一步是验证环境
第二步,配置数据库。数据库名称,用户及密码填写“添加站点”步骤的密码
第三步,设置可道云的登录名及密码
这一步需要等待的时间有点长,本地服务器有挂载硬盘的小伙伴,可以把硬盘通过webDAV服务,挂载到可道云上,目前可道云不支持本地磁盘直接挂载。
5.8 启动webDAV
webDAV 是一种用于在web上共享文件的协议,标准版nginx不包含webDAV的功能,我们需要安装依赖
5.8.1 安装依赖
sudo apt update
sudo apt install nginx-extras
sudo apt install nginx-module-dav-ext
5.8.2 配置Nginx
在宝塔面板侧边栏点击“软件商店”,找到nginx,设置,配置修改。
在http代码块中添加以下配置:
http {
...
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:r all:r;
...
server {
listen 22000;
server_name dav_yourSite.com;
root /var/www/html;
location / {
autoindex on;
dav_methods PUT DELETE MKCOL COPY MOVE;
dav_ext_methods PROPFIND OPTIONS;
dav_access user:rw group:r all:r;
create_full_put_path on;
alias /var/www/html/;
internal;
}
}
}
上述配置详解:
listen:监听端口
server_name:网站域名
root:网站文件根目录
autoindex:配置打开目录列表功能
dav_ext_methods:定义可用的webDAV操作
dav_access:文件的访问权限
create_full_put_path:是否允许创建多级目录
internal:重要,仅nginx内部访问
5.8.2 重启Nginx
5.9 为可道云挂载硬盘
这时候可道云可以登录了,点击“存储/文件 - 存储管理了” 点击 “新增”按钮
可道云还支持其他挂载方式,在这里不做赘述,选择webDAV
名称用于区分,可以随便起
空间大小可以自行设置
webdav URL就是刚才步骤5.8配置的webDAV域名(可加端口号)
用户名和密码可以不写,因为我们设置的是webDAV服务仅限nginx内部使用,没有对外暴露
存储目录是在webDAV中要不要新建文件夹存放,无需新建文件夹可以填写斜杠/
创建成功之后,需要将webDAV存储改为默认。
这时候就大功告成,可以上传文件测试一下了
6、Q&A
6.1 启动之后提示“Call to undefined function shell_exec()系统错误”
需要禁用shell_exec函数,位置如下: “软件商店-php设置-禁用函数-选择shell_exec删除”
6.2 连接数据库时提示建表失败
这是因为mysql版本低于5.7导致的,需要将mySQL版本升至5.7及以上
7、结尾
祝大家用的开心,有问题可以在【可道云论坛】反馈,或者在评论区交流探讨。
有能力给项目做贡献的同学,欢迎加入到项目中来,贡献自己的力量。
最后感谢可道云开发人员的付出,让我们有这么优秀的网盘可以使用。
评论区