CentOS 部署 KodBox 个人网盘
KodExplorer可道云,原名芒果云,是基于Web技术的私有云和在线文件管理系统。致力于为用户提供安全可控、可靠易用、高扩展性的私有云解决方案。用户只需通过简单环境搭建,即可使用KodExplorer快速完成私有云/私有网盘/在线文档管理系统的部署和搭建。可道云提供了类windows经典用户界面,延续了windows平台的用户界面、操作逻辑和使用习惯,支持100余种文件格式的在线预览,解决了文件在线存储与管理、共享和跨平台访问、在线办公影音娱乐等一系列问题,使得用户的私有云产品可以拥有本地操作一样方便、快捷、安全的体验。
目前KodExplorer项目处于维护阶段,不再更新,KodBox为全新升级产品。KodBox是可道云推出的企业级私有云存储解决方案,旨在为中小企业提供安全可控、可靠易用的一站式在线文件存储管理与协同办公平台。
- 🌏 官网地址
KodExplorer 与 KodBox 区别
KodBox是在KodExplorer基础上进行了系统重构的全新产品。为满足系统更强性能、更安全、更多特性的拓展需求,Kodbox对底层架构、存储方式、权限机制等进行了重构,同时继承并升级了KodExplorer优秀前端体验。
底层架构方面,KodBox采用了数据库+文件存储的方式,用户、权限、文件关系等结构化数据等存储于数据库,文档、多媒体等非结构性数据经加密处理后存储于文件系统,二者通过唯一的ID标识相关联。Kodexplorer采用文件夹目录直接存取的方式,管理员可以在后台直接查看用户目录。(KodBox系统管理员也可以通过物理路径对服务器文件进行管理,不过不能直接对KOD系统中文件进行操作)
在新的技术架构基础上,KodBox优化了数据传输、操作体验、权限管理、后台增强、审计日志、存储安全等多方面的功能特性。
- 文件传输方面,KodBox采用数据去重技术,支持相同文件急速上传、系统内多文件快速复制和移动,优化了大文件、多文件上传机制;
- 操作体验方面,KodBox在KodExplorer基础上进行了持续优化,提供了多窗口互拖操作、高级搜索、文件分类、文件夹排序等多项细节优化;
- 权限管理方面,解决了KodExplorer仅能分享个人空间的文件、部门间文件分享协作不方便的问题。KodBox采用细粒度的文档权限,提供了灵活强大的权限体系,可满足多样化的文件分享与协作需求,支持便捷的部门内、部门间及随机的文档协作。
- 管理后台也进行了优化和增强,设计了独立的操作界面、新增了日志审计、计划任务、统计面板等多项功能。
- 存储方面,支持用户任意存储到本地服务器、FTP服务器或阿里云OSS、AWS S3、七牛等对象存储,可以方便地进行存储空间拓展。可以在多个不同的存储平台之间快速地进行文件的预览和转移,不同服务器、对象存储直接数据转移就好像C盘到D盘一样简单。
此外,还提供了客户端、客户端文件备份等多种功能特性,更多功能更新也正在开发中。
整体而言,KodExplorer适用于个人用户或小型团队和企业;Kodbox更多针对企业级的应用需求,可支撑高并发、更多用户数、更高协作和安全要求。
基础环境
系统版本:CentOS Linux release 7.9.2009 (Core)
IP地址:192.168.31.210
Kodbox版本:官网最新版本
运行依赖:Nnginx 1.20+、PHP 7.4、MySQL 5.7、Redis 6.2
Nnginx 1.20+、PHP 7.4、MySQL 5.7、Redis 6.2 需提前安装好!
- Nginx - 🌏 CentOS 7 安装 Nginx
- PHP - 🌏 CentOS 7 安装 PHP
- MySQL - 🌏 CentOS 7 安装 MySQL5.7
- Redis - 🌏 CentOS 7 安装 Redis
修改 Nginx
配置
- 备份 nginx.conf 文件
# mv /etc/nginx/nginx.conf /etc/nginx/nginx.conf.old
# yum install -y vim
# vim /etc/nginx/nginx.conf
user nginx;
worker_processes auto;
pid /var/run/nginx.pid;
events {
use epoll;
worker_connections 51200;
multi_accept on;
}
http {
include mime.types;
default_type application/octet-stream;
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
server_names_hash_bucket_size 512;
client_header_buffer_size 32k;
large_client_header_buffers 4 32k;
client_max_body_size 10240M;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 60;
fastcgi_connect_timeout 3600;
fastcgi_send_timeout 3600;
fastcgi_read_timeout 3600;
fastcgi_buffer_size 64k;
fastcgi_buffers 4 64k;
fastcgi_busy_buffers_size 128k;
fastcgi_temp_file_write_size 256k;
fastcgi_intercept_errors on;
gzip on;
gzip_min_length 1k;
gzip_buffers 4 16k;
gzip_http_version 1.1;
gzip_comp_level 2;
gzip_types text/plain application/javascript application/x-javascript text/javascript text/css application/xml;
gzip_vary on;
gzip_proxied expired no-cache no-store private auth;
gzip_disable "MSIE [1-6]\.";
server_tokens off;
server {
listen 80;
root /var/www/html; #改成自己的站点目录
index index.php;
server_name _;
error_log /var/log/nginx/kodbox_error.log notice;
# access_log /var/log/nginx/kodbox_access.log main;
location ~ [^/]\.php(/|$) {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm.sock;
fastcgi_index index.php;
set $path_info $fastcgi_path_info;
set $real_script_name $fastcgi_script_name;
if ($fastcgi_script_name ~ "^(.+?\.php)(/.+)$") {
set $real_script_name $1;
set $path_info $2;
}
fastcgi_param SCRIPT_FILENAME $document_root$real_script_name;
fastcgi_param SCRIPT_NAME $real_script_name;
fastcgi_param PATH_INFO $path_info;
include fastcgi_params;
}
location ~* \.(jpg|jpeg|gif|png|css|js|ico|webp|tiff|ttf|svg)$ {
expires 30d;
}
location ~ .*\.(js|css)?$ {
expires 12h;
}
location = /favicon.ico {
log_not_found off;
}
}
}
修改 /var/lib/php
目录权限
# chown -R nginx:nginx /var/lib/php
创建 KodBox 数据库和用户
mysql> CREATE DATABASE db_kodbox;
mysql> CREATE USER 'user_kodbox'@'%' IDENTIFIED BY '123456';
mysql> grant all privileges on db_kodbox.* to 'user_kodbox'@'%' identified by '123456';
mysql> flush privileges;
配置 KodBox
- 关闭
selinux
# setenforce 0
# sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
- 下载最新kodbox安装包,解压到站点目录
# yum install -y unzip
# cd /var/www/html/
# curl -L "https://api.kodcloud.com/?app/version&download=server.link" -o kodbox.zip
# unzip kodbox.zip && rm -f kodbox.zip
# chown -R nginx:nginx /var/www/html
# chmod -R 755 /var/www/html
# systemctl restart nginx
# systemctl restart php-fpm
- 设置防火墙
# firewall-cmd --zone=public --add-port=80/tcp --permanent
# firewall-cmd --reload
访问初始化页面
- 浏览器访问服务器IP地址,进入初始化页面
http://192.168.31.210/
初始化KodBox
- 数据库类型选择
MySQL
,系统缓存类型选择Redis
,用户名、密码、数据库输入上述步骤设置的用户名、密码、数据库,存储引擎选择InnoDB
- 设置管理员密码
- 创建成功
登录 KoxBox
- Windows 客户端 - 输入
http://IP
,点击立即进入,即可连接 KoxBox,Android、IOS客户端亦如此
上传速度调优
- 修改 Nginx 配置
client_max_body_size 10240M;
client_header_timeout 3600s;
client_body_timeout 3600s;
fastcgi_connect_timeout 3600s;
fastcgi_send_timeout 3600s;
fastcgi_read_timeout 3600s;
- 修改 php.ini 配置
post_max_size = 10240M
upload_max_filesize = 10240M
memory_limit = 1024M
max_execution_time = 3600
max_input_time = 3600
cgi.fix_pathinfo=1
- 修改 kodcloud 上传配置,管理员登陆可道云:桌面---系统设置---基础设置---上传/下载
- 设置分片大小为100MB