檔案伺服器 — File Browser

2022-11-30 12:00:53

前言

  一直想部署一套檔案伺服器,供隊友之間相互傳輸檔案。平時用微信傳送檔案真的太煩了,每傳送或者接收一次都會有一個新的檔案,造成重複檔案太多了。檔案伺服器統一管理,自己需要什麼檔案再下載。

  前面的思路一直是想使用 ftp ,安裝了 vsftpd,設定也都成功,服務也啟動了,可是存取一直有問題,而且查了下,有些使用工具有些是通過瀏覽器。實際的效果也並不好。這令天又特意搜尋了下檔案伺服器的部署問題,看到了 File Browser,通過官網部署了一套,其相比之下有以下優點:

  1、部署簡單,組態檔、資料庫(單檔案資料庫 Bolt DB)等都可一鍵設定;

  2、視覺化操作,介面簡潔、操作簡單,適用人群廣(前臺小姐姐也可快速上手啦);

  3、可使用 shell;

  File Browser

一、安裝設定

1、一鍵安裝

  官方給的有一鍵安裝命令列:

curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash filebrowser -r /path/to/your/files

  如果自己的網路不好的話,可以自行到官網下載壓縮包檔案。

2、下載解壓

  到 GitHub 上面下載:下載地址,根據自己系統等資訊下載對應版本。

  下載到對應目錄後,解壓即可,解壓後只有一個二進位制的檔案 filebrowser,可以改名,也可以不改名。後面有些執行需要用到這個,不改名直接用 filebrowser。

3、設定

  雖然官方給的說明是,解壓後就可以直接使用。這裡還是介紹下一些基本設定。(下面的檔案路徑根據自己的進行修改,以及一些設定如:埠、使用者名稱密碼等)

  建立組態檔,並編輯內容:

# 建立紀錄檔檔案、組態檔
touch /home/WebFile/WebFile.log
touch /home/WebFile/WebFile.json
# 編輯組態檔,下面程式碼直接執行即可
cat > /home/WebFile/WebFile.json <<EOF
{
"address": "0.0.0.0",
"port": 10001,
"database": "/home/WebFile/WebFile.db",
"log": "/home/WebFile/WebFile.log",
"locale": "zh-cn",
"username": "ADMIN",
"password": "ADMIN@2022",
"root": "/",
"scope": "/"
}
EOF

  資料庫初始化和設定

# 建立資料庫,並設定,每執行一句,會列印出資料庫設定資訊,對設定的資訊會更新
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config init
# 設定地址
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --address 0.0.0.0
# 設定埠
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --port 10001
# 設定語言
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --locale zh-cn
# 設定紀錄檔檔案路徑
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db config set --log /home/WebFile/WebFile.log
# 新增使用者,並賦管理員許可權,設定可檢視範圍
/home/WebFile/filebrowser -d /home/WebFile/WebFile.db users add zksy zksy@2022 --perm.admin --scope /

  到這裡全部的設定都完成了,啟動服務後就可以看到視覺化介面。

4、創新系統管理服務

  使用命令列可以直接啟動服務(如下命令列)。

filebrowser -c WebFile.json

  但是每次啟動挺麻煩,下面就把WebFile新增到系統服務,並設定開機自啟動。

# 建立 Systemd 系統管理服務,建立服務檔案
cat > /etc/systemd/system/WebFile.service <<EOF
[Unit]
Description=WebFile
Documentation=https://filebrowser.org/
After=network.target

[Service]
ExecStart=/home/WebFile/filebrowser -c /home/WebFile/WebFile.json

[Install]
WantedBy=multi-user.target
EOF

  有了系統組態檔,第一步要做的就是下面幾部:

# 有了新的服務檔案,需要重啟 Systemd 服務
systemctl daemon-reload
# 設定開機自啟動
systemctl enable WebFile

  後面就是對服務的一些基本操作:啟動、狀態、停止等

# 啟動WebFile服務
systemctl start WebFile

# 檢視WebFile服務狀態
systemctl status WebFile

# 停止WebFile服務
systemctl stop WebFile

# 取消WebFile服務開機自啟動
systemctl disable WebFile

二、使用

  啟動服務後,在瀏覽器開啟 File Browser 的介面:

  介面比較簡單,左側選單,右上角是工具列:

   「設定」介面可以對使用者、目錄等進行設定。下面是管理員的設定介面,操作都比較簡單。