Setting Up Pure-FTPd Server on CentOS 7

Setting Up Pure-FTPd Server on CentOS 7

Setting up an FTP server is a fundamental step in creating a robust and secure file transfer infrastructure. Pure-FTPd is a popular choice among system administrators due to its lightweight nature and focus on security. In this guide, we will walk you through the process of installing and configuring Pure-FTPd on a CentOS 7 server. Follow along for a seamless FTP server setup that ensures efficient and secure file transfers.

  1. Prerequisites:
    Before we dive into the installation process, make sure you have a CentOS 7 server up and running with root or sudo privileges. Additionally, ensure that your server has a static IP address.

  2. Installation of Pure-FTPd:
    The first step is to install Pure-FTPd on your CentOS 7 server. Open a terminal and run the following command:

    sudo yum install pure-ftpd
  3. Starting and Enabling Pure-FTPd:
    After the installation is complete, start and enable Pure-FTPd to ensure it runs on system boot:

    sudo systemctl start pure-ftpd
    sudo systemctl enable pure-ftpd
  4. Configuration Files:
    Pure-FTPd's configuration files are located in the /etc/pure-ftpd directory. The main configuration file is pure-ftpd.conf. You can use a text editor to modify this file based on your specific requirements.

  5. User Authentication:
    Pure-FTPd uses system users for authentication by default. To create an FTP user, use the following command:

    sudo pure-pw useradd <username> -u <system_username> -g <system_group> -d /path/to/directory
    sudo pure-pw mkdb
  6. Setting Up Virtual Users:
    Virtual users are useful for FTP access without system user accounts. To set up a virtual user, use the following commands:

    sudo pure-pw useradd <virtual_username> -f /etc/pure-ftpd/passwd/pureftpd.passwd -m -u ftpuser -d /path/to/directory
    sudo pure-pw mkdb
  7. Enabling TLS/SSL Encryption:
    Secure your FTP connections by enabling TLS/SSL encryption. Generate a self-signed SSL certificate with the following commands:

    sudo openssl req -x509 -nodes -newkey rsa:2048 -keyout /etc/ssl/private/pure-ftpd.pem -out /etc/ssl/private/pure-ftpd.pem

    Update the Pure-FTPd configuration file to use the SSL certificate:

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

    Add or modify the following lines:

    TLS 1
    TLSCertificateFile /etc/ssl/private/pure-ftpd.pem
  8. Firewall Configuration:
    Open the necessary ports in your firewall to allow FTP traffic. Use the following commands:

    sudo firewall-cmd --permanent --add-port=21/tcp
    sudo firewall-cmd --reload

More Examples:

  • Limiting Connections:
    To limit the number of simultaneous connections, edit the Pure-FTPd configuration file and set the 'MaxClientsNumber' parameter.

  • Logging:
    Explore the /var/log/pure-ftpd/pure-ftpd.log file for FTP server logs to troubleshoot and monitor activities.

  • Chroot Configuration:
    Enhance security by configuring chroot jails for users, restricting them to their home directories.

Related Searches and Questions asked:

  • A Beginner's Guide to Setting up Pure-FTPd Server on Ubuntu 20.04
  • How to Install and Configure Pure-FTPd Server on Ubuntu 22.04
  • Setting up FileZilla Server on Ubuntu 20.04
  • Setting up FileZilla Server on Ubuntu 22.04
  • That's it for this topic, Hope this article is useful. Thanks for Visiting us.