FileZilla Server is a free, open-source FTP server with a graphical Administration interface. It runs on Linux as well as Windows, which makes it a familiar choice if you already use FileZilla. This guide installs FileZilla Server 1.x on Ubuntu or Debian, creates an FTP user safely and opens the firewall. We tested each step with version 1.12.6 on Ubuntu 24.04.
FileZilla Server supports FTP and FTP over TLS (FTPS). It does not support SFTP; that is only in the paid FileZilla Pro Enterprise Server. (The FileZilla client does connect to SFTP servers.) On Linux you usually don’t need extra software for SFTP, because the SSH server already provides it.
Before you start
- An Ubuntu or Debian server (64-bit x86) with root or sudo access. The official package is a
.deb; for AlmaLinux or Rocky Linux, use vsftpd instead. - A computer with the FileZilla Server Administration interface to manage the server (Windows, macOS or Linux desktop).
Step 1: Install the package
Download the Linux package from the FileZilla Server download page on filezilla-project.org and copy it to the server. Install it with apt, which also installs the libraries it depends on (older guides used dpkg -i followed by apt install -f):
sudo apt update
sudo apt install ./FileZilla_Server_1.12.6_x86_64-linux-gnu.deb
The installer asks three questions:
- Administrator password: choose a strong one (12 or more characters with upper- and lower-case letters, a number and a special character).
- Allow administration connections on all network adapters? Answer No. You will reach the admin port through an SSH tunnel instead, which is safer.
- System account for accessing files and directories: keep
ftp. FTP users read and write files as this Linux account.
Step 2: Check the service
The installer enables and starts the service. Check it:
sudo systemctl status filezilla-server
sudo journalctl -u filezilla-server -n 20
The log shows the FTP server listening on port 21 with [Require explicit FTP over TLS], and the administration server on 127.0.0.1:14148. The configuration files are in /opt/filezilla-server/etc, but it is easier and safer to change settings in the Administration interface than to edit the XML files by hand.
Step 3: Connect the Administration interface through SSH
On your own computer, install FileZilla Server with only the Administration interface component (the same version as the server). Then open an SSH tunnel to the server’s admin port and keep it open:
ssh -L 14148:127.0.0.1:14148 root@SERVER-IP
Start the Administration interface and connect to host 127.0.0.1, port 14148, with the administration password. Compare the certificate fingerprint it shows with the SHA256 certificate fingerprint lines in journalctl -u filezilla-server, and trust it.
Step 4: Create an FTP user
First create the user’s folder and give it to the ftp account, or uploads fail:
sudo mkdir -p /srv/ftp/webuser
sudo chown ftp:ftp /srv/ftp/webuser
Then, in the Administration interface, open Server › Configure › Rights management › Users, click Add, set a password under Credentials, and add a mount point with virtual path /, native path /srv/ftp/webuser and Read + Write access. Click Apply.
Don’t enable the built-in “<system user>” account, which some older guides recommend. It lets every Linux account log in over FTP with its system password. In our test that included root. Separate FTP users with their own passwords and folders are much safer.
Step 5: Keep encryption on
Current versions set the FTP listener to Require explicit FTP over TLS (tls_mode 2 in settings.xml), so plain FTP logins are refused with an error 503. Older guides show tls_mode 0, which also allows unencrypted FTP; leave it at the secure default. FileZilla Server creates a self-signed certificate at installation and can get a free Let’s Encrypt certificate under Protocols settings › FTP and FTP over TLS (FTPS) › Connection security.
Step 6: Passive ports and the firewall
Under Protocols settings › FTP and FTP over TLS (FTPS) › Passive mode, tick Use custom port range and set, for example, 50000 to 50999. Then open port 21 and that range:
sudo ufw allow 21/tcp
sudo ufw allow 50000:50999/tcp
Step 7: Connect with the FileZilla client
Create a site in the FileZilla client with protocol FTP – File Transfer Protocol, encryption Require explicit FTP over TLS, the server’s IP address, and the user you created. Accept the certificate once, and the user’s folder appears.
Host your FTP server on a VPS
A KVM VPS from Ucartz gives you root access, a public IPv4 address and unmetered bandwidth, from $10 a month, which is all FileZilla Server needs. Every plan includes Free Basic Managed Support, and our engineers can install and secure the FTP server for you.
More detail, including Let’s Encrypt and troubleshooting: how to install and configure FileZilla Server on Windows and Linux. On Windows, see how to configure FileZilla Server on Windows.




