Kiftd 私有网盘系统搭建
官网:Kiftd
项目地址1:GitHub
项目地址2:Gitee
准备工作
Java (JDK) 环境
其他准备
非必选内容
- pm2
- nginx
Kiftd 配置
安装 Kiftd
- 下载 kiftd
- 解压
- 右键kiftd-1.0.35-RELEASE.jar——打开方式——Java(TM)Platform SE binary 运行
# 简单地,运行 jar 包即可,但是这样无法后台运行,也没法自启动 # java -jar kiftd-1.0.28-RELEASE.jar -start # 可以采用 systemd 来管理 # 但是因为我服务器有 pm2,所以我干脆也使用 pm2 进行启动管理 # 1. 创建一个启动脚本,如 kiftd.json, 注意修改 args cat > kiftd.json << EOF { "name": "kiftd", "script": "java", "args": [ "-jar", "/opt/kiftd/kiftd-1.0.28-RELEASE.jar", "-start" ], "exec_interpreter": "", "exec_mode": "fork" } EOF # 2. pm2 启动 kiftd pm2 start kiftd.json
配置修改
账户配置
修改文件:conf/account.properties
# 1. 删除默认账户 admin # 2. 建立自己的账户,示例如下: # > auth 前的为账户名,后为权限 10101.io.auth=cudrm # > pwd 前为账户名,后为密码 10101.io.pwd=10101.io
# 可以新建多个子用户并给权限
# 具体权限可定义如下 c - 创建文件夹 u - 上传文件 d - 删除文件或者文件夹 r - 重命名文件或者编辑文件夹 l - 下载文件 m - 移动文件或者文件夹
服务器配置
修改文件:conf/server.properties
# 允许 Web 上更改密码 password.change=Y VC.level=STANDARD # 监听端口,可通过 IP:PORT 的方式访问 port=6666 # 必须登录功能,O 为 OFF, N 为 O mustLogin=N # 开启永久资源链接,CLOSE 关闭 openFileChain=OPEN # 文件系统存放路径 FS.path=DEFAULT # 日志记录,E 为记录全部、R 为仅异常、N 为不记录 log=E # 缓存大小 buff.size=1048576
页面标题等配置
修改文件:
webContext/home.html:修改<title>以及<span class="titletext">标签webContext/prv/login.html:修改<title>等涉及网站信息的内容
更新 Kiftd
- 下载新的 release 包
- 解压后,将 jar 主程序、WebContext、mybatisResource、lib、fonts 文件夹内容覆盖旧版本对应文件夹,注意备份自己的修改
- 如果使用了 pm2,更新 args 中 jar 主程序
- 重启 kiftd 程序
Nginx 反代
采用 Nginx 反代,以支持域名访问及 HTTPS。
# 1. 将域名解析到服务器 IP # 2. 生成 ssl 证书,以启用 https,推荐使用 acme.sh 免费申请及自动续签 # > 2.1 下载并执行 acme.sh 脚本 wget https://get.acme.sh | sh # > 2.2 生成证书,这只是一种方式,其他方式可以自行搜索 acme.sh --issue -d yourdomain.com --standalone # > 2.3 将生成的证书拷贝安装到指定文件夹 acme.sh --installcert -d yourdomain.com \ --key-file /path/to/yourdomain.com.key \ --fullchain-file /path/to/fullchain.cer # 3. 创建 nginx 配置文件,如 yourdomain.com.conf,内容可参考如下 server { listen 80; #listen [::]:80; listen 443 ssl http2; #listen [::]:443 ssl http2; ssl_certificate /path/to/fullchain.cer; # 注意修改 ssl_certificate_key /path/to/yourdomain.com.key; # 注意修改 ssl_protocols TLSv1 TLSv1.1 TLSv1.2 TLSv1.3; ssl_ciphers TLS13-AES-256-GCM-SHA384:TLS13-CHACHA20-POLY1305-SHA256:TLS13-AES-128-GCM-SHA256:TLS13-AES-128-CCM-8-SHA256:TLS13-AES-128-CCM-SHA256:EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5; server_name yourdomain.com; # 注意修改 if ($ssl_protocol = "") { return 301 https://$host$request_uri; } location / { proxy_set_header Host $host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:6666; # 修改为设定的监听端口 } } # 4. 重载 nginx service nginx reload

浙公网安备 33010602011771号