寫在前面
之前有很多 Caddy + File Browser 搭建個人網盤的文章,但年初Caddy關閉了File Browser插件,筆者嘗試了一些備用鏈接,最終失敗。
同時,由於一直使用Apache作爲Web服務器,管理多個站點,已經很熟練了,也踩了不少坑。最主要的是Apache可以方便的使用二級域名訪問flask應用,見使用Apache+mod_wsgi部署flask網站。
當然,File Browser可以直接作爲主程序運行,使用 ip + 端口即可訪問。由於Apache已經佔用了80端口,並且自己有一個域名,因此想着使用二級域名訪問File Browser。
本文思路:
- 安裝 File Browser,可以使用 ip:port(如127.0.0.1:8088)訪問
- 使用 Apache 正向代理,此時可以使用 二級域名訪問 File Browser(使用二級域名代理之前的ip:port)
File Browser
- 安裝
curl -fsSL https://filebrowser.xyz/get.sh | bash
注意:在哪個文件夾下配置的,那麼網盤顯示的就是哪個文件夾內容
- 配置
- 創建配置數據庫
filebrowser -d /etc/filebrowser.db config init
- 設置監聽地址
filebrowser -d /etc/filebrowser.db config set --address 0.0.0.0
- 設置監聽端口
filebrowser -d /etc/filebrowser.db config set --port 8088
- 設置語言環境
filebrowser -d /etc/filebrowser.db config set --locale zh-cn
- 設置日誌位置
filebrowser -d /etc/filebrowser.db config set --log /var/log/filebrowser.log
- 添加一個用戶
filebrowser -d /etc/filebrowser.db users add root password --perm.admin
,之後使用 用戶名:root
;密碼:password
登錄 - 更多配置
- 創建配置數據庫
- 啓動
filebrowser -d /etc/filebrowser.db
注意:可以使用 screen 作爲虛擬屏幕啓動;screen 是十分簡單好用的程序後臺運行工具,請自行查詢screen使用方法。
經過以上配置,可以使用 ip:8088 訪問File Browser
Apache2 正向代理
Apache2 的安裝使用和二級域名的解析見使用Apache+mod_wsgi部署flask網站
Apache2 正向代理主要參考Ubuntu下利用Apache轉發模塊實現反向代理
- 配置Apache支持proxy和proxyreverse
在Ubuntu系統下,Apache的配置文件在目錄/etc/apache2
下,裏面會看到我們需要用到的兩個目錄:
mods-available
Apache所有的模塊
mods-enabled
Apache所支持的模塊
接下來需要進入mods-available
找到 proxy.load
和 proxy_http.load
這兩個模塊,將這兩個模塊配置到 mods-enabled
輸入命令
ln -s /etc/apache2/mods-available/proxy.load /etc/apache2/mods-enabled/proxy.load
ln -s /etc/apache2/mods-available/proxy_http.load /etc/apache2/mods-enabled/proxy_http.load
- 配置虛擬主機
同樣也是在 /etc/apache2
下面有個關於虛擬主機的配置目錄:
sites-available
所有可用的虛擬主機
sites-enabled
已經配置支持的主機
首先進入 sites-available
將 000-default.conf
拷貝並重命名爲 proxy.conf
,使用命令 cp 000-default.conf proxy.conf
編輯 proxy.conf
<VirtualHost *:80>
ServerName pan.khay.site #代理的二級域名
ServerAdmin [email protected]
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
ProxyPass / http://123.207.198.7:8088/ # 轉發的主機與端口號
ProxyPassReverse / http://123.207.198.7:8088/ # 如果有頁面的重定向,不加此項會報錯,此項正是反向代理
</VirtualHost>
注意:之後將修改的
proxy.conf
拷貝到sites-enabled
(sites-enabled
裏面沒有的話將不起作用)
最後,重啓 Apache,sudo /etc/init.d/apache2 restart
經過以上配置,可以使用個人二級域名訪問 File Browser
File Browser界面