私有云盘 Cloudreve 搭建
参考文档:
https://zhuanlan.zhihu.com/p/607099693?utm_id=0
创建站点
在宝塔面板创建站点,使用域名的话需要提前准备好,解析到服务器的 IP。
同时可以申请 SSL 证书。
反向代理
网上教程里是直接在宝塔的站点里配置反向代理,代理到 5212 端口。但是由于我 nginx 配置中已经存在 location / 规则,这样操作不行,所以自己在 nginx 配置文件中写
在服务器的 nginx 配置文件中添加以下配置(配置 ssl 需要提前申请证书,然后保存到服务器)
server {
listen 80; #侦听80端口,如果强制所有的访问都必须是HTTPs的,这行需要注销掉
listen 443 ssl; #侦听443端口,用于SSL
server_name pan.miykah.top; # 自己的域名
#配置 ssl
ssl_certificate /opt/cert/pan.miykah.top/pan.miykah.top_bundle.pem; # pem文件的径
ssl_certificate_key /opt/cert/pan.miykah.top/pan.miykah.top.key; # key文件的路径
ssl_session_timeout 5m;
ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
ssl_prefer_server_ciphers on;
client_max_body_size 1024m;
location / {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_redirect off;
proxy_pass http://127.0.0.1:5212;
# 如果您要使用本地存储策略,请将下一行注释符删除,并更改大小为理论最大文件尺寸
client_max_body_size 20000m;
}
}
部署 Cloudreve
进入站点目录:/www/wwwroot/cloudreve
执行:
wget https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz
下载 cloudreve_3.8.3_linux_amd64.tar.gz
然后解压文件到当前目录就行:
tar -zxvf cloudreve_3.8.3_linux_amd64.tar.gz
启动 Cloudreve
# 赋予执行权限
chmod +x ./cloudreve
# 启动 Cloudreve
./cloudreve
然后控制台会输出一些信息,其中包括初始化管理员账号和密码,需要记住,只会出现这一次。
如果您忘记初始管理员密码,需要删除同级目录下的cloudreve.db
,重新启动主程序以初始化新的管理员账户。
成果
此时可以进入站点域名,登录进入 cloudreve
此时我们没有进行其他的额外配置。
1.目前只能手动启动,没有配置守护进程
2.目前使用的是内置的 SQLite 数据库(在同级目录创建数据库文
cloudreve.db
)3.没有配置 Redis 缓存
配置
进程守护
配置 cloudreve.service 文件:
# 编辑配置文件
vim /usr/lib/systemd/system/cloudreve.service
将下文 PATH_TO_CLOUDREVE
更换为程序所在目录(本文中目录为/www/wwwroot/cloudreve
):
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target
[Service]
WorkingDirectory=/PATH_TO_CLOUDREVE
ExecStart=/PATH_TO_CLOUDREVE/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
然后执行以下命令:
# 更新配置
systemctl daemon-reload
# 启动服务
systemctl start cloudreve
# 设置开机启动
systemctl enable cloudreve
配置 MySQL
默认情况下,Cloudreve 会使用内置的 SQLite 数据库,并在同级目录创建数据库文件
cloudreve.db
,如果您想要使用 MySQL,请在配置文件中加入以下内容,并重启 Cloudreve。注意,Cloudreve 只支持大于或等于 5.7 版本的 MySQL 。
(好像需要提前在 MySQL 创建好 cloudreve 数据库)
修改站点目录下的 conf.ini
文件,添加以下配置:
[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
Type = mysql
; MySQL 端口
Port = 3306
; 用户名
User = xxxxx
; 密码
Password = xxxxx
; 数据库地址
Host = 127.0.0.1
; 数据库名称(应该需要提前创建)
Name = cloudreve
; 数据表前缀
TablePrefix = cd_
; 字符集
Charset = utf8mb4
更换数据库配置后,Cloudreve 会重新初始化数据库,原有的数据将会丢失。也就是说之前的管理员账号登不上了。需要将
cloudreve.db
先删除,重新./cloudreve
启动一下,可以重新生成管理员账号和密码。
配置 Redis
使用 Redis 后,以下内容将被 Redis 接管:
用户会话(重启 Cloudreve 后不会再丢失登录会话)
数据表高频记录查询缓存(如存储策略、设置项)
回调会话
OneDrive 凭证
修改站点目录下的 conf.ini
文件,添加以下配置:
[Redis]
Server = 127.0.0.1:6379
Password = xxxxx
DB = 3
扩展
office 文档预览 / 编辑
参考:
https://docs.cloudreve.org/use/wopi
https://www.jianshu.com/p/3216cf6196d1
选择官方文档推荐的第一种:Collabora Online
使用 Docker 部署 Collabora Online
首先拉取镜像:
docker pull docker pull collabora/code
启动容器命令如下:
docker run -t -d -p 127.0.0.1:9980:9980 \
-e "aliasgroup1=<允许使用此服务的 Cloudreve 地址,包含明确端口>" \
-e "username=<面板管理员用户名>" \
-e "password=<面板管理员密码>" \
--name collabora --restart always collabora/code
以我的命令为例:
docker run -t -d -p 127.0.0.1:9980:9980 \
-e "aliasgroup1=https://pan.miykah.top:443" \
-e "username=xxxxx" \
-e "password=xxxxx" \
--name collabora --restart always collabora/code
同时需要在宝塔和云服务器防火墙放行 9980 端口
配置反向代理
首先准备域名并解析 collabora.miykah.top
解析到服务器ip。申请 SSL 证书保存到服务器。
配置 nginx 反向代理:
server {
listen 443 ssl;
server_name collabora.miykah.top;
ssl on;
ssl_certificate /opt/cert/collabora.miykah.top/collabora.miykah.top_bundle.pem;
ssl_certificate_key /opt/cert/collabora.miykah.top/collabora.miykah.top.key;
location ^~ /loleaflet {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# static files
location ^~ /browser {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# WOPI discovery URL
location ^~ /hosting/discovery {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# Capabilities
location ^~ /hosting/capabilities {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# main websocket
location ~ ^/cool/(.*)/ws$ {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
# download, presentation and image upload
location ~ ^/(c|l)ool {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Host $http_host;
}
# Admin Console websocket
location ^~ /cool/adminws {
proxy_pass https://127.0.0.1:9980;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $http_host;
proxy_read_timeout 36000s;
}
}
访问 https://collabora.miykah.top/hosting/discovery 确认是否返回了预期的 XML 响应。
在 Cloudreve 中配置并测试
在 Cloudreve 中配置 WOPI 客户端。保存后即可测试文件是否能在线编辑。
相关问题
迁移
参考:https://forum.cloudreve.org/d/2715
FTP进入Cloudreve安装目录,打包下载以下文件
cloudreve #主程序
conf.ini #配置文件
cloudreve.db #Sqlite数据库
avatar #用户头像文件夹
uploads #用户存储文件夹
如果使用的是MySQL数据库,还需要导出数据库
将下载的文件上传到新服务器,按照之前安装的方法启动即可
评论区