Configuration Reference

Port Map

Port Service Protocol Auth SSL

80

Nginx

HTTP

No

No

82

Nginx

WebDAV

No

No

83

Nginx

WebDAV

Basic

No

21

vsftpd

FTP

PAM

No

49000-55000

vsftpd

FTP passive

-

No

443

Nginx

HTTPS

No

Yes

482

Nginx

WebDAV

No

Yes

483

Nginx

WebDAV

Basic

Yes

File Paths

Shared

Path Description

/var/www/html/webdav/

WebDAV/FTP shared root directory

/var/www/html/webdav/tmp/

Nginx temporary upload directory

Nginx

Path Debian CentOS

Main config

/etc/nginx/nginx.conf

/etc/nginx/nginx.conf

Site config

/etc/nginx/sites-available/default

/etc/nginx/conf.d/default.conf

Password file

/etc/nginx/.htpasswd

/etc/nginx/.htpasswd

DAV ext module

(built-in via nginx-extras)

/etc/nginx/modules/ngx_http_dav_ext_module.so

Access logs

/var/log/nginx/webdav-*-access.log

/var/log/nginx/webdav-*-access.log

Error logs

/var/log/nginx/webdav-*-error.log

/var/log/nginx/webdav-*-error.log

vsftpd

Path Debian CentOS

Main config

/etc/vsftpd.conf

/etc/vsftpd/vsftpd.conf

User whitelist

/etc/vsftpd/user_list

/etc/vsftpd/user_list

User blacklist

/etc/vsftpd/ftpusers

/etc/vsftpd/ftpusers

Chroot exceptions

/etc/vsftpd/chroot_list

/etc/vsftpd/chroot_list

Per-user configs

/etc/vsftpd/users/<username>

/etc/vsftpd/users/<username>

Logs

/var/log/vsftpd.log

/var/log/vsftpd.log

PAM config

/etc/pam.d/vsftpd

/etc/pam.d/vsftpd

SSL

Path Description

/etc/letsencrypt/live/<domain>/fullchain.pem

SSL certificate chain

/etc/letsencrypt/live/<domain>/privkey.pem

SSL private key

/etc/letsencrypt/options-ssl-nginx.conf

Certbot-managed Nginx SSL options

/etc/letsencrypt/ssl-dhparams.pem

Diffie-Hellman parameters

Install Script Options

Usage: install-debian.sh|install-centos.sh --domain <domain> --user <username> [--with-ssl] [--skip-update]

Options:
  --domain <domain>   Server domain name (required)
  --user <username>   FTP/WebDAV username to create (required)
  --with-ssl          Enable SSL via Let's Encrypt certbot (optional)
  --skip-update       Skip system package update (optional)
  -h, --help          Show help message
Using --skip-update skips apt-get update/upgrade (Debian) or yum update (CentOS). This saves time but may leave the system with outdated packages. It is recommended to run a full system update before production use.

Service Management

# Nginx
sudo systemctl start|stop|restart|status nginx
sudo nginx -t                    # Test configuration

# vsftpd
sudo systemctl start|stop|restart|status vsftpd

# Check logs
sudo tail -f /var/log/nginx/webdav-*-access.log
sudo tail -f /var/log/vsftpd.log