How to install Pure-ftpd in Centos 7
Introduction:
Pure-FTPd is a free (BSD), secure, production-quality and standard-conformant FTP server. It doesn't provide useless bells and whistles, but focuses on efficiency and ease of use. It provides simple answers to common needs, plus unique useful features for personal users as well as hosting providers.
1. Download
# wget https://download.pureftpd.org/pub/pure-ftpd/releases/pure-ftpd-1.0.47.tar.bz2
# tar –xvjf pure-ftpd-1.0.47.tar.bz2
# cd ./ pure-ftpd-1.0.47.tar.bz2
2. Compile installation with all options
#./configure --prefix=/usr/local/pure-ftpd/ --with-everything
# make
# make install
3. Update configuration information.
Change to installation path
# cd /usr/local/pure-ftpd/etc/
# vi pure-ftpd.conf
ChrootEveryone yes
Noanonymous yes
Unixauthentication no
PureDB /usr/local/pure-ftpd/etc/pureftpd.pdb
/* make sure to change the PureDB to the path where it is located in this installation */
4.Update environment variable
# export PATH=$PATH:/usr/local/pure-ftpd/bin
5. Create ftp user and ftp group:
# groupadd ftpgroup
# useradd ftpuser –g ftpgroup –d /dev/null -s /sbin/nologin
6. Create virtual user:
Create user root dirctory:
# mkdir /var/www/site1 –p
Grant permission:
#chown ftpuser:ftpgroup /var/www/site1 –R
Create virtual user:
#pure-pw useradd user1 -u ftpuser -g ftpgroup -d /var/www/site1 –m
Create virtual user db:
#pure-pw mkdb
Check and show user detailed information :
# pure-pw show user1
7. Open ports in firewall :
# firewall-cmd --add-port=21/tcp
# firewall-cmd --add-port=30000-50000/tcp
# firewall-cmd --list-ports
8. Start Pure-ftpd service:
# /usr/local/pure-ftpd/sbin/pure-ftpd -j -lpuredb:/usr/local/pure-ftpd/etc/pureftpd.pdb &
9. Done.