使用filebrowser搭建一個文件伺服器
filebrowser簡介
這是一個可以快速搭建一個文檔服務的工具。golang實現,非常輕量級,容易部署。主要支援文檔的上載和下載,限時或者永久分享文檔的鏈接,對文本文檔具有在線編輯功能,還有一套可以客製化的內建shell,可以滿足通過配合aria或者deluge之類的下載工具來進行雲端下載等功能。
filebrowser使用
官方文檔可能對很多人閱讀起來有些語焉不詳或者不明所以,我這裏示範一個基於linux作業系統的初始化一個filebrowser網站,並且完成初始設定,運行,最後在加入到systemd服務中。
- 創建一個計算機用戶,用以運行filebrowser
#創建用戶
sudo adduser filebrowser
#切換爲用戶filebrowser
su filebrowser && cd
- 安裝filebrowser
wget https://github.com/filebrowser/filebrowser/releases/download/v2.6.2/linux-amd64-filebrowser.tar.gz
tar -zxvf ./linux-amd64-filebrowser.tar.gz
- 初始化一個filebrowser設定
#預設一個設定,會在當前目錄生成一個名爲filebrowser.db的設定文檔
./filebrowser config init
大約會在控制檯界面輸出類似一下訊息,這個就是網站的默認設定檔
Congratulations! You've set up your database to use with File Browser.
Now add your first user via 'filebrowser users new' and then you just
need to call the main command to boot up the server.
Sign up: false
Create User Dir: false
Auth method: json
Shell:
Branding:
Name:
Files override:
Disable external links: false
Server:
Log: stdout
Port: 8080
Base URL:
Root: .
Socket:
Address: 127.0.0.1
TLS Cert:
TLS Key:
Defaults:
Scope: .
Locale: en
View mode: list
Commands:
Sorting:
By: name
Asc: false
Permissions:
Admin: false
Execute: true
Create: true
Rename: true
Modify: true
Delete: true
Share: true
Download: true
Auther configuration (raw):
{
"recaptcha": null
}
此時可以看出網站偵聽的是127.0.0.1這在外部是無法訪問的,因此需要變更其偵聽的ip位址
- 完成filebrowser的客製化設定 設定IP和埠
./filebrowser config set -a <your ip address>
#如果你還想要變更偵聽埠,可以繼續設定
./filebrowser config set -p 8081
設定filebrowser要使用的跟路徑(文件服務開啓之後,其上傳下載的文檔都將在這個目錄下進行)
./filebrowser config set -r /home/filebrowser/data
- 設定初始管理員的帳號和密碼
./filebrowser users add admin admin_pass
- 啓動filebrowser
./filebrowser
自此,打開瀏覽器,鍵入http://your_ip_address:8081,即可使用
將filebrowser添加到系統服務(systemd爲例)
爲了讓每次系統啓動之後filebrowser都能自動啓動,接下來製作一個systemd的服務啓動文檔
sudo touch /etc/systemd/system/filebrowser.service
#使用文檔編輯器打開
sudo vim /etc/systemd/system/filebrowser.service
鍵入以下內容
[Unit]
Description=Filebrowser Service
After=network.target
Wants=network.target
[Service]
Type=simple
#運行該服務時使用的用戶
User=filebrowser
#用戶的組
Group=filebrowser
PIDFile=/run/filebrowser.pid
ExecStart=/usr/local/bin/filebrowser -d /home/filebrowser/filebrowser.db
#filebrowser所在的工作目錄
WorkingDirectory=/home/filebrowser
Restart=on-failure
# Don't restart in the case of configuration error
RestartPreventExitStatus=23
[Install]
WantedBy=multi-user.target
註冊並啓動服務
sudo systemctl enable filebrowser.service
sudo systemctl start filebrowser.service