Introduction

Pure-FTPd is a free (BSD), secure, and highly configurable FTP server for UNIX-based systems. However, you can also install it on a Windows VPS by following the steps outlined in this guide.

Step 1: Install Windows Subsystem for Linux (WSL)

Pure-FTPd is designed for Linux, so to use it on a Windows VPS, you will need to install the Windows Subsystem for Linux (WSL) to run a Linux distribution.

    1. Open PowerShell as Administrator and run the following command:
wsl --install
  1. Restart your system after the installation completes.
  2. Install a Linux distribution from the Microsoft Store (such as Ubuntu).
  3. After installation, launch the Linux distribution and complete the setup process (create a user and set a password).

Step 2: Update Package Lists

Once WSL is installed and set up, open your Linux terminal and update your package lists:

sudo apt update

This will ensure you are working with the latest software repositories.

Step 3: Install Pure-FTPd

Now that your package lists are updated, you can install Pure-FTPd using the following command:

sudo apt install pure-ftpd

This will download and install the Pure-FTPd server on your Windows VPS via WSL.

Step 4: Configure Pure-FTPd

After the installation, you can configure Pure-FTPd to suit your needs. The configuration file is located at:

/etc/pure-ftpd/pure-ftpd.conf

To edit the configuration file, use the following command:

sudo nano /etc/pure-ftpd/pure-ftpd.conf

Some common settings to modify include:

  • Set the ChrootEveryone option to yes to restrict users to their home directories.
  • Enable AnonymousOnly for anonymous FTP access, or set it to no if you want only authenticated users.
  • Adjust the MaxClientsNumber and MaxClientsPerIP options for controlling connections.

Once you’ve made your changes, save the file and exit the editor (press CTRL + X, then Y to confirm, and press Enter to save).

Step 5: Start and Enable Pure-FTPd

To start the Pure-FTPd server, use the following command:

sudo systemctl start pure-ftpd

If you want the Pure-FTPd server to start automatically on boot, use the following command:

sudo systemctl enable pure-ftpd

To check the status of the Pure-FTPd service, use:

sudo systemctl status pure-ftpd

Step 6: Test the FTP Server

After starting Pure-FTPd, you can test the FTP server by connecting to it from an FTP client or using the ftp command:

ftp localhost

Enter the username and password if required, or try anonymous login if you enabled it during configuration.

Step 7: Firewall Configuration

If you have a firewall enabled on your Windows VPS, ensure that FTP ports (by default, port 21 for control and a range for data connections) are open. To open these ports in the firewall, run:

sudo ufw allow 21

You may also need to open additional ports for passive FTP, depending on your configuration. Check your firewall settings and adjust as necessary.

Step 8: Manage FTP Users

You can manage FTP users by creating system users or using Pure-FTPd’s virtual users.

Creating a System User

To create a system user with FTP access, use the following command:

sudo useradd -m username

To set a password for the new user:

sudo passwd username

Using Virtual Users

If you prefer not to create system users, you can use virtual users by setting up a Pure-FTPd virtual user database. This can be done by following the documentation for Pure-FTPd’s virtual users setup.

Step 9: Secure the FTP Server

For security, it’s recommended to use FTPS (FTP Secure), which adds SSL/TLS encryption. To enable FTPS, you need to generate SSL certificates and modify the Pure-FTPd configuration.

    1. Generate a self-signed SSL certificate (or use a certificate from a certificate authority):
sudo pure-pw mkdb
    1. Edit the configuration file to enable SSL/TLS:
sudo nano /etc/pure-ftpd/pure-ftpd.conf

Uncomment and set the following lines:

TLS              1
SSL              1
PureDB           /etc/pure-ftpd/pureftpd.pdb

Conclusion

You’ve successfully installed Pure-FTPd on your Windows VPS using WSL. You can now securely transfer files to and from your server. For more detailed documentation on configuration options, visit the Pure-FTPd website.

© 2024. For more Windows VPS solutions, visit NetCloud24.