This is an old revision of the document!
File Server
Access to a common area and user-specific private areas.
Access must be both from web page (HTTP/S) and from WebDAV.
filebrowser is used for web based access from browser
NGINX is used as WebDAV server.
Background
From users point of view, the common area will be managed by user filebrowser which is designed to run as group users with an umask 550 so that any files uploaded via web browser will be accessible to the normal users.
Of course, each user will need to be part of the users group as well.
You will need a common “archive” folder under /data/archive to store some needed stuff. This folder will need to contain:
- common subfolder, where the common area files will be stored (created in the filebrowser instructions)
- temp/uploads subfolder, required by WebDAV to upload files
- temp/pids subfolder, to store NGINX pids
- temp/tmp subfolder, to store NGINX run files
- logs subfolder, to store NGINX log files
- conf subfolder, where you will store custom NGINX config files for the private areas (and common area too)
Create the folders:
> mkdir /data/archive > mkdir /data/archive/logs > mkdir /data/archive/common > mkdir /data/archive/temp > mkdir /data/archive/temp/pids > mkdir /data/archive/temp/tmp > mkdir /data/archive/conf > chown filebrowser:users -R /data/archive
NGINX WebDAV approach
No need to use third party WebDAV server since NGINX has a pretty solid implementation of it already. Follow the nginx instructions to set NGINX up with WebDAV and PAM auth support.
Now, there is a nasty catch here which stems from using NGINX as WebDAV server… You need to run NGINX as filebrowser user to ensure that the access trough WebDAV will not incur in access permissions errors. Running NGINX as standalone user requires the creation of a specific nginx.conf with some specifics in it.
For consistency, this NGINX config file will be /data/archive/conf/nginx_common.conf: