Cloudreve 自建雲盤實踐,我說了沒人能限得了我的容量和速度!


作者:小傅哥
部落格://bugstack.cn

沉澱、分享、成長,讓自己和他人都能有所收穫!😄

一、前言

為啥要用自建網盤,市面上的雲盤不香了?

每一個用戶需求的背後都是因為有場景存在,而這些差異化的場景也都是因為不同的用戶類型產生的。

就像我作為技術號主想分享一些自己總結的資料,放到一些雲盤以後有時候會被其他不知道從哪冒出來的小夥伴給舉報,舉報鏈接就取消了,取消了鏈接也就影響了我的資料分享。同時我可能還希望我的分享內容能被記錄到下載次數、允許幾次下載、下載時是否要做一些引流動作等等。

所以類似這樣的特殊場景下就需要自建網盤來維護個人需要的資料,與之類似的還有一些公司或者組織都會建相對私域的網盤功能服務功能,給予內部用戶使用。

所以,也並不一定市面的網盤不香了,只是因為我有需要自建網盤。在這條路上我嘗試過自建、kodexplorer、Owncloud等,恰巧最近發現了 Cloudreve 嘗試體驗後感覺更香,支援的功能更多。所以準備給小夥伴分享下關於 Cloudreve 的安裝、配置和使用,也讓有需要的小夥伴可以嘗嘗鮮。

二、Cloudreve 介紹

Cloudreve,幫助您以最低的成本快速搭建公私兼備的網盤系統。

🔉 功能

✨ 特性

  • ☁️ 支援本機、從機、七牛、阿里雲 OSS、騰訊雲 COS、又拍雲、OneDrive (包括世紀互聯版) 作為存儲端
  • 📤 上傳/下載 支援客戶端直傳,支援下載限速
  • 💾 可對接 Aria2 離線下載
  • 📚 在線 壓縮/解壓縮、多文件打包下載
  • 💻 覆蓋全部存儲策略的 WebDAV 協議支援
  • ⚡ 拖拽上傳、目錄上傳、流式上傳處理
  • 🗃️ 文件拖拽管理
  • 👩‍👧‍👦 多用戶、用戶組
  • 🔗 創建文件、目錄的分享鏈接,可設定自動過期
  • 👁️‍🗨️ 影片、影像、音頻、文本、Office 文檔在線預覽
  • 🎨 自定義配色、黑暗模式、PWA 應用、全站單頁應用
  • 🚀 All-In-One 打包,開箱即用

📌 資料

  1. 官網://cloudreve.org
  2. 文檔://docs.cloudreve.org/getting-started/install
  3. 社區://forum.cloudreve.org
  4. 源碼://github.com/cloudreve/Cloudreve
  5. 演示://demo.cloudreve.org

三、環境準備

  1. 雲伺服器資源或本地伺服器,推薦騰訊雲輕量伺服器,內含寶塔組件,算是是幾個雲服務里最簡單的://console.cloud.tencent.com/lighthouse/instance/index
  2. 已備案過的域名,如果不需要域名訪問,可以直接使用雲服務提供的公網IP
  3. Cloudreve安裝包://github.com/cloudreve/Cloudreve/releases

本章節的案例是基於騰訊雲的,如果你使用的是其他雲伺服器,找到對應的位置配置即可。這些雲服務使用方式基本大同小異,遇到問題可以聯繫對應的雲服務客服,不要聯繫我哈哈哈😄

四、寶塔配置

寶塔是一個簡單好用的Linux/Windows伺服器運維管理面板,在寶塔後台頁面上可以非常方便的安全軟體和配置環境。一般可以在雲伺服器上安裝寶塔,有一些廠商也把寶塔集成到自己的雲伺服器上了。

1. 獲取用戶名和密碼

  • 地址://console.cloud.tencent.com/lighthouse/instance/detail?rid=8&id=lhins-90pixwzq&tab=application
  • 進入服務的應用管理會看到應用內軟體資訊:寶塔,在這裡點擊登錄按鈕後,會獲取到寶塔的登錄地址、用戶名和密碼資訊「這些資訊可以後期在寶塔後台修改」。
     * Socket connection established *
     Last login: Sat Apr 10 09:33:50 2021 from 119.29.96.147
     [lighthouse@VM-8-9-centos ~]$ sudo /etc/init.d/bt default
     ==================================================================
     BT-Panel default info!
     ==================================================================
     外網面板地址: //80.71.255.122:8888/cloudtencent
     內網面板地址: //10.0.8.9:8888/cloudtencent
     *以下僅為初始默認賬戶密碼,若無法登錄請執行bt命令重置賬戶/密碼登錄
     username: 3kkjecc3
     password: 3f7d2743018b
     If you cannot access the panel,
     release the following panel port [8888] in the security group
     若無法訪問面板,請檢查防火牆/安全組是否有放行面板[8888]埠
     ==================================================================
    

2. 8888 埠授權

  • 在獲取到面板的用戶名和密碼後,還不能直接訪問,因為你的埠還沒有授權開通。
  • 這時可以在雲服務平台上,點擊防火牆這個配置,添加 8888 埠。

3. 登錄寶塔後台

地址://80.71.255.122:8888/cloudtencent你需要更換為自己的地址
說明:在初次進入寶塔時會有一些提示和軟體安裝,選擇自己需要的安裝即可。
頁面:

五、服務安裝

在寶塔面板的左側菜單欄有一個終端菜單,點擊進入是一個黑窗口,接下來我們就在這裡安裝整個服務。

1. 在寶塔終端查看服務內核

因為不同雲服務下可能是 adm 或者 arm 架構,對應下載的 Cloudreve 也會有所不同 cloudreve_版本號_作業系統_CPU架構.tar.gz,所以這裡我們需要使用 arch 命令查看下服務資訊。

Last failed login: Sat Apr 10 11:38:41 CST 2021 from 194.165.16.68 on ssh:notty
There were 8 failed login attempts since the last successful login.
Last login: Sat Apr 10 09:57:33 2021 from 127.0.0.1
[root@VM-8-9-centos ~]# arch
x86_64
  • x86_64:代表 amd64
  • aarch64:代表 arm64

2. 下載和安裝

確定好我們的雲服務架構後,選擇對應的 Cloudreve 版本,複製地址。我的是://github.com/cloudreve/Cloudreve/releases/download/3.3.1/cloudreve_3.3.1_linux_amd64.tar.gz

安裝命令

mkdir /www/wwwroot/cloudreve    # 創建一個新文件夾存放程式
cd /www/wwwroot/cloudreve           # 進入這個文件夾
wget //github.com/cloudreve/Cloudreve/releases/download/3.3.1/cloudreve_3.3.1_linux_amd64.tar.gz # 下載你複製的鏈接
tar -zxvf cloudreve_3.3.1_linux_amd64.tar.gz   # 解壓獲取到的主程式
chmod +x ./cloudreve                         				  # 賦予執行許可權
./cloudreve                                 						 # 啟動 Cloudreve

# 運行資訊截取
[Info]    2021-04-10 10:39:59 初始化資料庫連接
[Info]    2021-04-10 10:39:59 開始進行資料庫初始化...
[Info]    2021-04-10 10:39:59 初始管理員帳號:[email protected]
[Info]    2021-04-10 10:39:59 初始管理員密碼:U4BfStlm
[Info]    2021-04-10 10:40:00 資料庫初始化結束
[Info]    2021-04-10 10:40:00 初始化任務隊列,WorkerNum = 10
[Info]    2021-04-10 10:40:00 初始化定時任務...
[Info]    2021-04-10 10:40:00 當前運行模式:Master
[Info]    2021-04-10 10:40:00 開始監聽 :5212
  • wget,替換為你的 Cloudreve 地址
  • tar,是對應名稱一起替換
  • 最後把這些命令複製到你的終端黑窗口,它就開始運行安裝了。安裝完成以後你會得到一個初始的用戶名和密碼,複製粘貼保存起來

3. 開放埠 5212

  • Cloudreve 安裝完成以後,訪問地址為你的服務IP:5212,但此時5212並不能直接訪問還需要授權。
  • 僅在寶塔後台授權還不夠,還需要在雲服務平台的防火牆進行授權,如下:

4. 登錄服務

  • 如果一切順利現在你就可以使用自己的網盤了,但有一點要知道如果你還需要設置域名,那麼這個時候先不要使用,先去設置域名,否則一些圖片在IP下上傳和在域名下上傳,分享是有問題的。

六、進程守護

其實在服務安裝完成後就已經可以正常使用了,但我們很難保證寶塔面板不被重啟或者出現異常時也難免要我們自己再啟動雲盤服務。那麼,就需要一個守護進程來自動重啟服務。

在寶塔面板的軟體商店中,找到 Supervisor 安裝。Supervisor是用Python開發的一套通用的進程管理程式,能將一個普通的命令行進程變為後台daemon,並監控進程狀態,異常退出時能自動重啟。

1. Supervisor 配置

  • 名稱:Cloudreve
  • 啟動用戶:root 默認的
  • 運行目錄:/www/wwwroot/cloudreve/
  • 啟動命令:/www/wwwroot/cloudreve/cloudreve

2. Supervisor 啟動

  • 配置守護進程後,點開寶塔面板右上角的重啟,進入後重啟服務
  • 重啟後再進入到寶塔面板就會看到守護進程已經在啟動了,現在啟動這個事就交給了 Supervisor 管理

七、配置域名

1. 解析域名

  • 在配置域名之前,需要在你已經準備好的域名下配置一個A記錄解析,這樣後面才能配置反向代理。

2. 反向代理

  • 點擊寶塔面板左側菜單中的網站按鈕,添加一個站點。站點裡的域名就是配置解析域名時的資訊,我的是pan.itedus.cn
  • 配置完站點後就需要給這個站點設置一個反向代理,點擊它的設置即可進入。在反向代理中添加並設置目標URL:127.0.0.1:5212
  • 最後,如果你的域名已經解析完成,那麼現在你就可以通過域名訪問你的雲盤服務了,還可以上傳和分享文件。例如我分享的文件://pan.itedus.cn/s/qofO

八、資料庫切換

系統默認的資料庫是自帶的 SQLite,你可改為 Mysql,如下:

  1. 資料庫類型,目前支援 sqlite | mysql
    Type = mysql
  2. 用戶名
    User = Cloudreve
  3. 密碼
    Password = Cloudreve
  4. 資料庫地址
    Host = 127.0.0.1
  5. 資料庫名稱
    Name = Cloudreve
  6. 數據表前綴
    TablePrefix = cd_
  • 切換完記得使用命令的方式進行重啟,因為此時它需要重新創建帳號和密碼
  • 如果你沒有看見帳號和密碼,那麼可以把創建的資料庫刪掉,重新來一次

九、總結

  • 關於 Cloudreve 雲盤的安裝和使用就演示到這裡了,如果你感興趣也可以自己搭建一個。另外 Cloudreve 可以獲取到它的源碼,在源碼的基礎上可以添加一些想要的功能,比如在下載的時候設置為關注某些東西在下載等等。
  • 除了 Cloudreve 雲盤還可以嘗試下有道雲,這個雲盤直接在簡單的伺服器上就可以直接安裝,也可以自動升級,使用起來會簡單一些。
  • 無論是雲服務還是各類工具,多嘗試一些這樣的東西,可以給自己增加很多其他知識面的理解。也許弄著弄著,你就不只是一個簡單的CRUD開發工程師了,可能還是運維、產品、業務!

十、系列推薦