File Browser One-click Installation Script Proxy with nginx

File Browser is a remote file manager. As long as our client and service network are smooth, we can use our idle cloud server as our own private network disk and make full use of the server we bought in Aliyun.

Introduction to File Browser

File Browser, as a remote file browser, deploys the service on the server. As long as the network link between the connecting device and the server is smooth, the storage location on the server can be easily accessed anytime and anywhere. All of this is based on the operation of the web page, and it is easy to perform complex, paste, move, new folders and other file management operations without special application. In addition, File Browser has the ability to upload and download, which means that you can use the device deploying the service as a personal network disk.

An installation script

Filebrowser One-click Installation Script From this article, the following download links are provided:
Browser Download
github Download

wegt https://raw.githubusercontent.com/233boy/filebrowser/master/filebrowser.sh

Description: Supporting Ubuntu 16+/Debian 8+/CentOS 7+, you need to use root user to execute scripts to install or uninstall

Installation or unloading

chmod +x filebrowser.sh
./filebrowser.sh

Select 1 install or 2 uninstall according to script prompt.
After installation, you need to modify the firewall on the server and open the corresponding service port of File Browser service.
Access through browser input: ip address: port number.
Note: The default username and password are admin and need to be modified immediately after configuration.

Modify configuration

The configuration file is in: / etc/filebrowser/filebrowser.json

{
  "port": 9184, // Ports that Filebrowser listens on
  "noAuth": false,
  "baseURL": "", // Path to access Filebrowser
  "address": "0.0.0.0",
  "reCaptchaKey": "",
  "reCaptchaSecret": "",
  "database": "/etc/filebrowser/database.db", // Path of Filebrowser database
  "log": "stdout",
  "plugin": "",
  "scope": "/etc/filebrowser/", // Filebrowser manageable directories
  "allowCommands": true,
  "allowEdit": true,
  "allowNew": true,
  "commands": [
    "git",
    "svn"
  ]
}

Usually we just need to modify the port (port number) and manageable directory. After modifying the configuration, we need to restart the service for the configuration to take effect. See the following service management command for the command.

Nginx proxy settings

ip http

server {
        listen       80;
        listen       [::]:80;
        server_name  _;  #No domain name
        location / {
                proxy_pass http://Localhost: 9184;  File Browser Service Deployment Address
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

Domain name http

server {
        listen       80;
        listen       [::]:80;
        server_name  file.datablog.top;  #Fill in the domain name of the service.
        location / {
                proxy_pass http://Localhost: 9184;  File Browser Service Deployment Address
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
        # If you need to use https globally, enable the following configuration
        #  return 301 https://file.datablog.top$request_uri;
    }

Domain name https

server {
        listen       443 ssl http2;
        listen       [::]:443 ssl http2;
        server_name  file.datablog.top; #Domain name used

        ssl_certificate "file.pem"; # ssl public key address 
        ssl_certificate_key "file.key"; # ssl private key address
        ssl_session_cache shared:SSL:1m;
        ssl_session_timeout  10m;
        ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
        ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
        ssl_prefer_server_ciphers on;

        location / {
                proxy_pass http://localhost:9184;  Agent's Service Address
                proxy_set_header Host $host;
                proxy_set_header X-Real-IP $remote_addr;
                proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        }
    }

Service Management Command

Status: system CTL status file rowser
 Start: system CTL start file rowser
 Stop: system CTL stop file rowser
 Restart: system CTL restart file rowser
 Start-up: system CTL enable filebrowser

reset password

After forgetting the password, delete the database of Filebrowser directly, then restart Filebrowser, and then the user name and password are admin.

Reference

Filebrowser One-click Installation Script
Filebrowser Official Documents

Tags: SSL network Database Ubuntu

Posted on Mon, 22 Apr 2019 11:21:34 -0700 by miles_rich