CentOS / Red Hat Linux Install VSFTPD FTP Server

by on May 12, 2008 · 15 comments· LAST UPDATED May 12, 2008

in , ,

Q. How do I configure and install an FTP server in CentOS / RHEL 5 / Fedora Linux server?

A. CentOS / RHEL server comes with vsftpd which is the Very Secure File Transfer Protocol (FTP) daemon. The server can be launched via a xinetd or as standalone mode, in which case vsftpd itself will listen on the network port 21.

How do I install vsftpd?

Simply type the following command as a superuser (root):
# yum install vsftpd

WARNING! These examples open your computer to insecure ftp protocol. If possible use SFTP ftp secure sever which is inbuilt into OpenSSH SSHD server.

Turn on vsftpd ftp service

Type the following command:
# chkconfig vsftpd on

How do I start vsftpd ftp server?

Type the following command:
# service vsftpd start

How do I stop vsftpd ftp server?

Type the following command:
# service vsftpd stop

How do I restart vsftpd ftp server?

Type the following command:
# service vsftpd restart

Open FTP port

Open /etc/sysconfig/iptables file, enter:
# vi /etc/sysconfig/iptables
Append following line to open ftp port 21 before REJECT line:
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT
Save and close the file. Restart the firewall:
# service iptables start

Test ftp server

Type the following command:
$ ftp localhost
$ ftp ftp.server.com
$ ftp 202.54.1.1

How do I configure vsftpd server?

The default configuration file is /etc/vsftpd/vsftpd.conf file. You can open file with vi text editor:
# vi /etc/vsftpd/vsftpd.conf
See see vsftpd.conf man pages for all configuration options.
$ man vsftpd.conf

TwitterFacebookGoogle+PDF versionFound an error/typo on this page? Help us!

{ 15 comments… read them below or add one }

1 chika May 22, 2008 at 10:29 pm

ho3…

how about proftpd vs vsftpd?
i wanna install this kind of application soon…

Reply

2 sky June 11, 2008 at 7:18 am

pls send the details…. configuration of ftp server in linux

Reply

3 sankar March 6, 2009 at 10:02 am

here mentioned only iptables concept. I may except /etc/vsftpd/vsftpd.conf

Reply

4 ketan April 28, 2009 at 2:11 pm

when we create yum server that time we use cmmand
cp -dpr * /var/ftp/pub
i want to ask that why we copy that in /var/ftp/pub and what we copy

Reply

5 Juddling June 9, 2009 at 1:07 pm

I had to add this to my /etc/vsftpd/vsftpd.conf:

pasv_min_port=12000
pasv_max_port=12003

And the firewall exception:

-A RH-Firewall-1-INPUT -p tcp -m tcp -m state –dport 12000:12003 –state NEW -j ACCEPT

But it all works now :)

Reply

6 Ying March 15, 2010 at 2:40 pm

File size for FTP
Can we limit file size for FTP ? Download/upload not over 2 MB size ? or something like that ?

Reply

7 Tahir Mehmood February 21, 2011 at 9:30 am

simple and to the point article, very useful for beginners. thaks.

Reply

8 Flenix October 22, 2011 at 9:19 am

This guide is sort of useless. Could you not tell us the expected output, so we know we’ve done it right?

Reply

9 martin November 22, 2011 at 5:08 pm

Quick, simple, elegant article – thanks.

Reply

10 Paul January 6, 2012 at 3:59 pm

Great article. It contains everything i needed. While other locations contained some important information, the information that really saved me was the allowing of port 21 through the firewall, since most OS don’t have it as a default.

Reply

11 asep March 19, 2012 at 2:55 pm

Thank for your information…….

Reply

12 Jeremy July 29, 2013 at 5:38 pm

Awesome, worked perfectly on my new Centos server through Godaddy… FTP was already installed so all I needed to do was ‘start’ the server and boom I opened FileZilla and it immediately connected.

Thank you for this resource

Reply

13 vimal August 26, 2013 at 6:12 am

Can anyone please share me the limk to download RHEL WS 4 Update1 iso’s……!!!!!! please urgent !!!!!!!

Reply

14 Bob September 5, 2013 at 6:48 am

Getting the server setup is one thing, and thanks for a great article on how to accomplish it. But, now, how do we add users and drop them into specific directories?

Reply

15 kubrick February 26, 2014 at 9:39 am

To start working the service under CentOS, I’d add the following command (as ‘root’):
$ setsebool -P ftp_home_dir=1

Without it, the servide did not work for me…

Reply

Leave a Comment

Tagged as: , , , , , , , , , , , , , , , , , , , ,

Previous Faq:

Next Faq: