{"id":3345,"date":"2025-10-21T18:16:15","date_gmt":"2025-04-14T12:03:40","guid":{"rendered":""},"modified":"2025-02-02T00:46:20","modified_gmt":"2025-02-01T23:46:20","slug":"installing-pure-ftpd-on-windows-vps","status":"publish","type":"post","link":"https:\/\/netcloud24.com\/knowledgebase\/installing-pure-ftpd-on-windows-vps\/","title":{"rendered":"Installing Pure-FTPd on Windows VPS"},"content":{"rendered":"<p>\u00a0<\/p>\n<\/p>\n<header><\/header>\n<section>\n<h2>Introduction<\/h2>\n<p><strong>Pure-FTPd<\/strong> is a free (BSD), secure, and highly configurable FTP server for UNIX-based systems. However, you can also install it on a  by following the steps outlined in this guide.<\/p>\n<\/section>\n<section>\n<h2>Step 1: Install Windows VPSSubsystem for Linux (WSL)<\/h2>\n<p>Pure-FTPd is designed for Linux, so to use it on a , you will need to install the Windows VPSSubsystem for Linux (WSL) to run a Linux distribution.<\/p>\n<ol>\n<ol>\n<li>Open PowerShell as Administrator and run the following command:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>wsl --install<\/code><\/pre>\n<ol>\n<li>Restart your system after the installation completes.<\/li>\n<li>Install a Linux distribution from the Microsoft Store (such as Ubuntu).<\/li>\n<li>After installation, launch the Linux distribution and complete the setup process (create a user and set a password).<\/li>\n<\/ol>\n<\/section>\n<section>\n<h2>Step 2: Update Package Lists<\/h2>\n<p>Once WSL is installed and set up, open your Linux terminal and update your package lists:<\/p>\n<pre><code>sudo apt update<\/code><\/pre>\n<p>This will ensure you are working with the latest software repositories.<\/p>\n<\/section>\n<section>\n<h2>Step 3: Install Pure-FTPd<\/h2>\n<p>Now that your package lists are updated, you can install Pure-FTPd using the following command:<\/p>\n<pre><code>sudo apt install pure-ftpd<\/code><\/pre>\n<p>This will download and install the Pure-FTPd server on your  via WSL.<\/p>\n<\/section>\n<section>\n<h2>Step 4: Configure Pure-FTPd<\/h2>\n<p>After the installation, you can configure Pure-FTPd to suit your needs. The configuration file is located at:<\/p>\n<pre><code>\/etc\/pure-ftpd\/pure-ftpd.conf<\/code><\/pre>\n<p>To edit the configuration file, use the following command:<\/p>\n<pre><code>sudo nano \/etc\/pure-ftpd\/pure-ftpd.conf<\/code><\/pre>\n<p>Some common settings to modify include:<\/p>\n<ul>\n<li>Set the <code>ChrootEveryone<\/code> option to <code>yes<\/code> to restrict users to their home directories.<\/li>\n<li>Enable <code>AnonymousOnly<\/code> for anonymous FTP access, or set it to <code>no<\/code> if you want only authenticated users.<\/li>\n<li>Adjust the <code>MaxClientsNumber<\/code> and <code>MaxClientsPerIP<\/code> options for controlling connections.<\/li>\n<\/ul>\n<p>Once you&#8217;ve made your changes, save the file and exit the editor (press <code>CTRL + X<\/code>, then <code>Y<\/code> to confirm, and press <code>Enter<\/code> to save).<\/p>\n<\/section>\n<section>\n<h2>Step 5: Start and Enable Pure-FTPd<\/h2>\n<p>To start the Pure-FTPd server, use the following command:<\/p>\n<pre><code>sudo systemctl start pure-ftpd<\/code><\/pre>\n<p>If you want the Pure-FTPd server to start automatically on boot, use the following command:<\/p>\n<pre><code>sudo systemctl enable pure-ftpd<\/code><\/pre>\n<p>To check the status of the Pure-FTPd service, use:<\/p>\n<pre><code>sudo systemctl status pure-ftpd<\/code><\/pre>\n<\/section>\n<section>\n<h2>Step 6: Test the FTP Server<\/h2>\n<p>After starting Pure-FTPd, you can test the FTP server by connecting to it from an FTP client or using the <code>ftp<\/code> command:<\/p>\n<pre><code>ftp localhost<\/code><\/pre>\n<p>Enter the username and password if required, or try anonymous login if you enabled it during configuration.<\/p>\n<\/section>\n<section>\n<h2>Step 7: Firewall Configuration<\/h2>\n<p>If you have a firewall enabled on your , 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:<\/p>\n<pre><code>sudo ufw allow 21<\/code><\/pre>\n<p>You may also need to open additional ports for passive FTP, depending on your configuration. Check your firewall settings and adjust as necessary.<\/p>\n<\/section>\n<section>\n<h2>Step 8: Manage FTP Users<\/h2>\n<p>You can manage FTP users by creating system users or using Pure-FTPd\u2019s virtual users.<\/p>\n<h3>Creating a System User<\/h3>\n<p>To create a system user with FTP access, use the following command:<\/p>\n<pre><code>sudo useradd -m username<\/code><\/pre>\n<p>To set a password for the new user:<\/p>\n<pre><code>sudo passwd username<\/code><\/pre>\n<h3>Using Virtual Users<\/h3>\n<p>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&#8217;s virtual users setup.<\/p>\n<\/section>\n<section>\n<h2>Step 9: Secure the FTP Server<\/h2>\n<p>For security, it\u2019s 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.<\/p>\n<ol>\n<ol>\n<li>Generate a self-signed SSL certificate (or use a certificate from a certificate authority):<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo pure-pw mkdb<\/code><\/pre>\n<ol>\n<ol>\n<li>Edit the configuration file to enable SSL\/TLS:<\/li>\n<\/ol>\n<\/ol>\n<pre><code>sudo nano \/etc\/pure-ftpd\/pure-ftpd.conf<\/code><\/pre>\n<p>Uncomment and set the following lines:<\/p>\n<pre><code>TLS              1\r\nSSL              1\r\nPureDB           \/etc\/pure-ftpd\/pureftpd.pdb\r\n<\/code><\/pre>\n<\/section>\n<section>\n<h2>Conclusion<\/h2>\n<p>You&#8217;ve successfully installed Pure-FTPd on your  using WSL. You can now securely transfer files to and from your server. For more detailed documentation on configuration options, visit the <a href=\"https:\/\/www.pureftpd.org\/project\/pure-ftpd\" target=\"_blank\" rel=\"follow\">Pure-FTPd website<\/a>.<\/p>\n<\/section>\n<footer>\n<p>\u00a9 2024. For more Windows VPS solutions, visit <a href=\"https:\/\/ie.netcloud24.com\" target=\"_blank\" rel=\"follow\">NetCloud24<\/a>.<\/p>\n<\/footer>\n<div class=\"post-author-box\" style=\"border-top:1px solid #ddd;margin-top:20px;padding-top:15px;\">\n<p><strong>Author:<\/strong> \u0141ukasz Bodziony<\/p>\n<p><strong>Website:<\/strong> <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a><\/p>\n<p><em>\u0141ukasz Bodziony is the CEO and founder of <a href=\"https:\/\/netcloud24.com\" target=\"_blank\" rel=\"dofollow\">NETCLOUD24<\/a>, a global VPS hosting brand proudly originating from Poland. With extensive experience in cloud computing, virtualization, and server management, he delivers high-performance <strong>Windows VPS<\/strong> and <strong>Remote Desktop Services (RDS)<\/strong> solutions to clients across Europe, North America, and beyond.<\/em><\/p>\n<p><em>His expertise covers a wide range of technologies, including <strong>Microsoft Azure<\/strong>, <strong>Proxmox VE<\/strong>, <strong>Amazon Web Services (AWS)<\/strong>, and numerous other virtualization and cloud platforms.<\/em><\/p>\n<p><em>Beyond running his hosting business, \u0141ukasz also provides <strong>professional paid server configuration and optimization services<\/strong> for companies and individuals. Outside of work, he is dedicated to caring for his children and building a secure future for them.<\/em><\/p>\n<p><em>If you are interested in working with him or need expert assistance with your hosting, cloud environment, or server setup, feel free to reach out via <a href=\"https:\/\/ca.netcloud24.com\" target=\"_blank\" rel=\"dofollow\">Windows VPS<\/a>.<\/em><\/p>\n<\/p><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u00a0 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 by following the steps\u2026<\/p>\n","protected":false},"author":1,"featured_media":3421,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_seopress_robots_primary_cat":"","_seopress_titles_title":"","_seopress_titles_desc":"","_seopress_robots_index":"","footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":false,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2}},"categories":[],"tags":[14,12,11,23,20,21,22,17,7,8,6,10,18,19,15,24,16,5,13,9],"class_list":["post-3345","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","tag-cheapvps","tag-cloudvps","tag-hostingvps","tag-rds","tag-rdscal","tag-remotedesktop","tag-remotedesktopvps","tag-servervps","tag-ukvps","tag-virtualserver","tag-vpshosting","tag-vpsserver","tag-vpssolutions","tag-vpswindows","tag-vpswithwindows","tag-windowsrds","tag-windowsserver","tag-windowsvps","tag-windowsvpshosting","tag-windowsvpsuk"],"jetpack_publicize_connections":[],"_links":{"self":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/3345","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/comments?post=3345"}],"version-history":[{"count":0,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/posts\/3345\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media\/3421"}],"wp:attachment":[{"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/media?parent=3345"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/categories?post=3345"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/netcloud24.com\/knowledgebase\/wp-json\/wp\/v2\/tags?post=3345"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}