当前位置:网站首页>使用 Cloudreve 搭建私有云盘
使用 Cloudreve 搭建私有云盘
2022-08-10 21:14:00 【学编程找Tony】
1. 下载解压到指定目录
# 进入用户目录并解压,user_name 是登录用户名
mkdir -p /home/user_name/www/cloudreve
cd /home/user_name/www/cloudreve
wget https://github.com/cloudreve/Cloudreve/releases/download/3.5.3/cloudreve_3.5.3_linux_amd64.tar.gz
tar zxvf cloudreve_3.5.3_linux_amd64.tar.gz
sudo chmod +x cloudreve
2. 创建配置文件及指定文件夹
cd /home/user_name/www/cloudreve
# 创建文件夹
mkdir avatar
mkdir uploads
sudo chmod -R 777 avatar
sudo chmod -R 777 uploads
# 添加配置文件,内容如下
# 按需修改配置文件,如想使用 Redis,则按需配置 Redis 相关注释
vim conf.ini
[System]
; 运行模式
Mode = master
; 监听端口
Listen = :5212
; 是否开启 Debug
Debug = false
; Session 密钥, 一般在首次启动时自动生成
SessionSecret = bJyC70ESr1gjzoZ4UDwaULtUMsUHGRsm1dQdbCyhtLlniNF3mOWSpnNFShcQgzas
; Hash 加盐, 一般在首次启动时自动生成
HashIDSalt = UozmQYsmWLyRhUTF1H0psmvNGtkobrBNkmoVywfpam8HaS9xXOKdONnnbqNnpLea
; SSL 相关
;[SSL]
; SSL 监听端口
;Listen = :443
; 证书路径
;CertPath = C:\Users\i\Documents\fullchain.pem
; 私钥路径
;KeyPath = C:\Users\i\Documents\privkey.pem
; 启用 Unix Socket 监听
;[UnixSocket]
;Listen = /var/run/cloudreve/cloudreve.sock
; 数据库相关,如果你只想使用内置的 SQLite 数据库,这一部分直接删去即可
;[Database]
; 数据库类型,目前支持 sqlite/mysql/mssql/postgres
;Type = mysql
; MySQL 端口
;Port = 3306
; 用户名
;User = root
; 密码
;Password = root
; 数据库地址
;Host = 127.0.0.1
; 数据库名称
;Name = v3
; 数据表前缀
;TablePrefix = cd_
; 字符集
;Charset = utf8mb4
; SQLite 数据库文件路径
;DBFile = cloudreve.db
; 从机模式下的配置
;[Slave]
; 通信密钥
;Secret = 1234567891234567123456789123456712345678912345671234567891234567
; 回调请求超时时间 (s)
;CallbackTimeout = 20
; 签名有效期
;SignatureTTL = 60
; 跨域配置
[CORS]
AllowOrigins = *
AllowMethods = OPTIONS,GET,POST
AllowHeaders = *
AllowCredentials = false
; Redis 相关
;[Redis]
;Server = 127.0.0.1:6379
;Password =
;DB = 0
[OptionOverwrite]
; 任务队列最多并行执行的任务数
max_worker_num = 50
; 任务队列中转任务传输时,最大并行协程数
max_parallel_transfer = 10
; 中转分片上传失败后重试的最大次数
chunk_retries = 10
3. 创建控制脚本及开机启动
创建控制脚本
sudo vim /etc/systemd/system/cloudreve.service
内容如下:把 /home/user_name/www/cloudreve
改成自己的目录
[Unit]
Description=Cloudreve
Documentation=https://docs.cloudreve.org
After=network.target
After=mysqld.service
Wants=network.target
[Service]
WorkingDirectory=/home/user_name/www/cloudreve
ExecStart=/home/user_name/www/cloudreve/cloudreve
Restart=on-abnormal
RestartSec=5s
KillMode=mixed
StandardOutput=null
StandardError=syslog
[Install]
WantedBy=multi-user.target
授予可执行权
sudo chmod +x /etc/systemd/system/cloudreve.service
# 更新配置
sudo systemctl daemon-reload
创建控制脚本
sudo vim /etc/init.d/cloudreve
内容如下:把 /home/user_name/www/cloudreve
改成自己的目录
#!/bin/sh
### BEGIN INIT INFO
# Provides: cloudreve
# Required-Start: $local_fs $remote_fs $network $syslog $named
# Required-Stop: $local_fs $remote_fs $network $syslog $named
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts the cloudreve web server
# Description: starts cloudreve using start-stop-daemon
### END INIT INFO
# Author: wangbiao
# mail: [email protected]
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# /home/user_name/www/cloudreve/ 改为自己目录
DAEMON=/home/user_name/www/cloudreve/cloudreve
DAEMON_ARGS=/home/user_name/www/cloudreve/conf.ini
NAME=cloudreve
DESC=cloudreve
RUNDIR=/var/run/cloudreve
SOCKETFILE=$RUNDIR/cloudreve.sock
test -x $DAEMON || exit 0
if [ -r /etc/default/$NAME ]
then
. /etc/default/$NAME
fi
. /lib/lsb/init-functions
set -e
if [ "$(id -u)" != "0" ]
then
log_failure_msg "Must be run as root."
exit 1
fi
case "$1" in
start)
echo -n "Starting $DESC: "
mkdir -p $RUNDIR
touch $SOCKETFILE
chown dlsj:dlsj $RUNDIR $SOCKETFILE
chmod 755 $RUNDIR
if [ -n "$ULIMIT" ]
then
ulimit -n $ULIMIT || true
fi
if start-stop-daemon --start --quiet --oknodo --umask 007 --chuid dlsj:dlsj --exec $DAEMON -- $DAEMON_ARGS
then
echo "$NAME."
else
echo "failed"
fi
;;
stop)
echo -n "Stopping $DESC: "
if start-stop-daemon --stop --retry forever/TERM/1 --quiet --oknodo --exec $DAEMON
then
echo "$NAME."
else
echo "failed"
fi
rm -f $SOCKETFILE
sleep 1
;;
restart)
${0} stop
${0} start
;;
status)
if netstat -tnpl | grep -q cloudreve; then
PID=`pidof cloudreve`
echo "$NAME (pid $PID) is running..."
else
echo "$NAME is stopped"
exit 0
fi
;;
restart)
$0 stop
sleep 1
$0 start
;;
configtest)
echo -n "Test $NAME configure files... "
$DAEMON -t
;;
*)
echo "Usage: $0 {start|stop|restart|status|configtest}"
exit 1
;;
esac
exit 0
授予可执行权
sudo chmod +x /etc/init.d/cloudreve
4. 手动启动,生成 用户名 及 密码
cd /home/user_name/www/cloudreve
./cloudreve
# 首次启动会初始化相关文件,在日志中会告知 用户名 及 密码 。
# 请自行记录好,避免丢失无法登录系统。
启动项目
# 启动服务
sudo systemctl start cloudreve
# 设置开机启动
sudo systemctl enable cloudreve
# 停止服务
sudo systemctl stop cloudreve
# 重启服务
sudo systemctl restart cloudreve
# 查看状态
sudo systemctl status cloudreve
访问服务
浏览器输入服务器 ip:port 方式访问:
http://192.168.0.20:5212
访问后台
浏览器输入服务器 ip:port/admin 方式访问:
http://192.168.0.20:5212/admin
边栏推荐
- PROCEDURE :存储过程结构——《mysql 从入门到内卷再到入土》
- 找的笔试题的复盘(一)
- Single-click to cancel the function
- ACM模板笔记:最长不下降/上升子序列
- 用示波器揭示以太网传输机制
- Interpretation of the paper (g-U-Nets) "Graph U-Nets"
- ArcMap创建镶嵌数据集、导入栅格图像并修改像元数值显示范围
- Common functions of Auto.js to find pictures and colors
- 我的世界整合包 云服务器搭建方法(ECS)
- 【实用软件】【VSCode】使用技巧大全(持续更新)
猜你喜欢
直播课堂系统09--腾讯云点播管理模块(一)
【PCBA solution】Electronic grip strength tester solution she'ji
APP UI自动化测试常见面试题,或许有用呢~
Redis Performance Impact - Asynchronous Mechanisms and Response Latency
Using SylixOS virtual serial port, serial port free implementation system
Play RT-THREAD of doxygen
【vulhub】MySql身份认证绕过漏洞复现(CVE-2012-2122)
快消品行业经销商协同系统:实现经销商可视化管理,提高沟通执行效率
Future-oriented IT infrastructure management architecture - Unified IaaS
为什么一般公司面试结束后会说「回去等消息」,而不是直接告诉面试者结果?
随机推荐
【PCBA方案设计】蓝牙跳绳方案
LeetCode-402 - Remove K digits
ArcMap时间滑块功能动态显示图层数据并生成视频或动图
Exploration and practice of the "zero trust" protection and data security governance system of the ransomware virus of Meichuang Technology
C. Rotation Matching
ENVI最小距离、最大似然、支持向量机遥感影像分类
【PCBA solution】Electronic grip strength tester solution she'ji
根心与根轴
黑猫带你学Makefile第12篇:常见Makefile问题汇总
如何提高代码的可读性 学习笔记
LeetCode-36-Binary search tree and doubly linked list
[Golang]从0到1写一个web服务(上)
《mysql 从入门到内卷再到入土》——Mysql基础 学习笔记目录
DELETE:删除操作语法&使用例——《mysql 从入门到内卷再到入土》
带你一文读懂SaaS版多租户商城系统对多品牌企业的应用价值
快消品行业经销商协同系统:实现经销商可视化管理,提高沟通执行效率
PostgreSQL — Installation and Common Commands
UPDATE:修改数据语法使用例——《mysql 从入门到内卷再到入土》
我的世界整合包 云服务器搭建方法(ECS)
【Windows】你不能访问此共享文件夹,因为你组织的安全策略阻止未经身份验证的来宾访问,这些策略可帮助保护你的电脑