filebrowser+webdav麻雀虽小五脏俱全的网盘

上次搞了一个h5ai+webdav,感觉webui除了看文件下文件啥也干不了太废了,于是换filebrowser试试。和上次一样还是用Nginx,不过终于可以和万恶的php说拜拜了

下载解压

wget https://github.com/filebrowser/filebrowser/releases/latest/download/linux-amd64-filebrowser.tar.gz
tar -xvzf linux-amd64-filebrowser.tar.gz
rm linux-amd64-filebrowser.tar.gz

位移一下(别的那几个文件也可以删了)

sudo mv filebrowser /usr/local/bin/
sudo chmod +x /usr/local/bin/filebrowser

初始化配置

filebrowser config init

微调一下,有需要port也可以改下

filebrowser config set --root "/文件位置"
filebrowser config set --baseurl "/filebrowser"

加一个默认账户

filebrowser users add 账号 密码 --perm.admin

搞个系统文件

sudo nano /etc/systemd/system/filebrowser.service

扔进去

[Unit]
Description=FileBrowser Service
After=network.target

[Service]
Type=simple
ExecStart=/usr/local/bin/filebrowser -d /root/filebrowser.db
Restart=on-failure

[Install]
WantedBy=multi-user.target

开运

sudo systemctl daemon-reload
sudo systemctl enable filebrowser
sudo systemctl start filebrowser

配置Nginx,webdav密码配置在之前那一篇

server {
    listen 80;
    server_name 域名;

    return 301 https://$server_name$request_uri;
}

server {
    listen 443 ssl http2;
    server_name 域名;

    ssl_certificate /etc/letsencrypt/live/域名/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/域名/privkey.pem;

    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_ciphers ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384;
    ssl_ecdh_curve secp384r1;
    ssl_prefer_server_ciphers on;
    ssl_session_cache shared:SSL:10m;
    ssl_session_timeout 10m;
    ssl_session_tickets off;

    root /要管理的文件的位置;

    access_log /var/log/nginx/filebrowser_webdav_access.log;
    error_log /var/log/nginx/filebrowser_webdav_error.log;

    location /webdav {
        alias /var/www/webdav/;
        dav_methods PUT DELETE MKCOL COPY MOVE;
        dav_ext_methods PROPFIND OPTIONS;
        dav_access user:rw group:rw all:r;

        auth_basic "WebDAV";
        auth_basic_user_file /etc/nginx/webdav_passwd;

        create_full_put_path on;

        autoindex off;
    }

    location /filebrowser/ {
        proxy_pass http://127.0.0.1:8080/;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;

        add_header Cache-Control "no-store";
    }

    error_page 403 /403.html;
    error_page 404 /404.html;

    location = /403.html {
        root /usr/share/nginx/html;
    }

    location = /404.html {
        root /usr/share/nginx/html;
    }
}

测试然后启动

nginx -t
sudo systemctl restart nginx

域名/webdav 访问webdav服务,域名/filebrowser 访问filebrowser。

fb还可以个性化,网页设置里就可以改名字。改图标和css要遵守格式。

大概就这样,我试用一段时间试试。