• Contact
  • Contact Us
  • Disclamer
  • Home 1
  • Home 2
  • Home 3
  • Privacy Policy
Tuesday, May 13, 2025
How VPS - How to use/setup VPS
  • Login
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon
No Result
View All Result
How VPS - How to use/setup VPS
No Result
View All Result
Home Operating System CentOS

Installing vsFTPd on CentOS

How VPS by How VPS
October 1, 2019
in CentOS
0
0
SHARES
82
VIEWS
Share on FacebookShare on Twitter

Contents

  1. Step 1: Installing the required packages
  2. Step 2: Configuring the FTP server
    1. Adding users
  3. Want to contribute?


vsFTPd is a versatile piece of software designed for customization and ease of use. It allows for MySQL authentication, local users, limitation of upload/download speeds for users, chrooting users to specific directories, and various other options.

vsFTPd is also a very lightweight FTP daemon. Many users can be supported without any performance issues on a decently sized VPS, for example, Vultr’s 768MB plan.

This guide explains how to install vsFTPd and configure MySQL for authentication.

Step 1: Installing the required packages

To begin, we’ll need to install the EPEL (Extra Packages for Enterprise Linux) repository. Run the following commands as the root user.

yum install epel-release

Great – now you have the EPEL repository installed.

Now, let’s install vsFTPd.

yum install vsftpd mysql mysql-server httpd php php-mysql php-mcrypt phpmyadmin -y

Start the web server.

service httpd start

Step 2: Configuring the FTP server

Now that you have all of the required packages installed, you can configure the software. If you want to allow local users, open your favorite text editor:

nano /etc/vsftpd/vsftpd.conf

Change local_enable = no to local_enable = yes.

Since we’re using MySQL to authenticate users, we need to configure MySQL.

mysql_secure_installation

Follow all of the steps and make sure you change the MySQL root password.

Then, modify the phpMyAdmin configuration file:

nano /etc/httpd/conf.d/phpMyAdmin.conf

Remove the line where it specifies require local, then save and exit.

Restart Apache.

service httpd restart

Create a MySQL database and table to store user data.

mysql -uroot -pthepasswordyousetforthemysqlrootpassword

CREATE DATABASE vsftpd;

CREATE TABLE `accounts` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 30 ) NOT NULL ,
`pass` VARCHAR( 50 ) NOT NULL ,
UNIQUE (
`username`
)
) ENGINE = MYISAM ;

quit

Configure vsFTPd to use the MySQL database.

echo /dev/null > /etc/pam.d/vsftpd
nano /etc/pam.d/vsftpd

Now that you have your text editor open, paste the following text into the vsftpd file. Make sure to replace yourmysqlrootpassword with your MySQL root password.

auth required pam_mysql.so user=root passwd=yourmysqlrootpassword host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass     crypt=2
account required pam_mysql.so user=root passwd=yourmysqlrootpassword host=localhost db=vsftpd table=accounts usercolumn=username passwdcolumn=pass     crypt=2

Restart vsFTPd by running the following command.

service vsftpd restart

Adding users

To add a user to vsFTPd, follow these steps.

  1. Add a user to your system.

    useradd bob
    
  2. Add the user to your MySQL server.

    mysql -uroot -pyourmysqlrootpassword
    use vsftpd;
    INSERT INTO accounts (username, pass) VALUES('bob', PASSWORD('yourpasswordforbob'));
    quit;
    

That user will now be able to log in with FTP and access their home directory.

Want to contribute?

You could earn up to $300 by adding new articles

Submit your article
Suggest an update
Request an article
Previous Post

How To Install RubyGems on Linux

Next Post

How to Install Cockpit on CentOS 7

Next Post

How to Install Cockpit on CentOS 7

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

No Result
View All Result

Recent Post

Install Imagemagick on CentOS
CentOS

Install Imagemagick on CentOS

by How VPS
June 28, 2023
0

This is how I installed Imagemagick on a vanilla CentOS server Start off by installing the prerequisites yum install php-pear...

Read more
how to Check phpinfo

How to Check phpinfo of Hosting or VPS?

June 28, 2023
Failed to download metadata for repo 'appstream' on Centos 8

How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

February 25, 2022
How to Fix MySQL Error "Plugin 'InnoDB' registration as a STORAGE ENGINE failed"?

How to Fix MySQL Error “Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed”?

November 17, 2020
How to optimize Mysql or MariaDB

How to optimize Mysql or MariaDB

November 3, 2020

Recent News

  • Install Imagemagick on CentOS
  • How to Check phpinfo of Hosting or VPS?
  • How to fix error: Failed to download metadata for repo ‘appstream’ on Centos 8

Category

  • Arch
  • Authentication
  • Backups
  • BSD
  • Centmin Mod
  • CentOS
  • Control Panels
  • CoreOS
  • CWP
  • Debian
  • Directadmin
  • Encryption
  • Fedora
  • Firewalls
  • Hocvps Script
  • Hosting providers
  • Kloxo-MR
  • Linux
  • Mitigations
  • Operating System
  • Plesk
  • Reviews
  • Securing VPS/Servers
  • Security Patches
  • SSL Certificates
  • Uncategorized
  • Upgrading
  • VPS/Servers management guides
  • Vulnerability Detection
  • Web servers software
  • Webhosting Control Panel
  • About
  • Advertise
  • Careers
  • Contact

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

No Result
View All Result
  • Home
  • Management guides
    • Web servers software
      • Directadmin
      • Hocvps Script
      • Centmin Mod
      • CWP
      • Kloxo-MR
      • Plesk
    • Control Panels
    • Securing VPS/Servers
      • SSL Certificates
      • Upgrading
      • Authentication
  • Operating System
    • CentOS
    • Fedora
    • Debian
    • Linux
    • Arch
    • BSD
    • CoreOS
  • Reviews
  • Coupon
    • Domain Coupon
    • Hosting Coupon

© 2025 JNews - Premium WordPress news & magazine theme by Jegtheme.

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In
Thabet