To setup Virtual FTP server using pure-ftpd in CentOS is as below :

1. Download the packages.
Assuming you already had rpmforge repo enable in your yum.conf.d

yum install pure-ftpd pure-ftpd-selinux -y

2. Add the a valid user to behave / mapped as the virtual user.
need only one.

#useradd ftpuser -d /opt/ftp_users

2. then edit the config file /etc/pure-ftpd/pure-ftpd.conf

to reflect the differences as below :

[[email protected] pure-ftpd]# diff pure-ftpd.conf.original /home/namran/ftp/pure-ftpd.conf 
34c34
< BrokenClientsCompatibility  no
---
> BrokenClientsCompatibility  yes
40c40
< MaxClientsNumber            50
---
> MaxClientsNumber            200
52c52
< MaxClientsPerIP             8
---
> MaxClientsPerIP             24
77c77
< NoAnonymous                 no
---
> NoAnonymous                 yes
126c126
< # PureDB                        /etc/pure-ftpd/pureftpd.pdb
---
> PureDB                        /etc/pure-ftpd/pureftpd.pdb
137c137
< PAMAuthentication             yes
---
> # PAMAuthentication             yes
436c436
< # IPV4Only                 yes
---
> IPV4Only                 yes

3. then make sure to add user with something as following sequence :

mkdir /opt/ftp_users/usernamehere
chown ftpuser:ftpuser /opt/ftp_users/usernamehere
pure-pw useradd usernamehere -u ftpuser -g ftpuser -d /opt/ftp_users/usernamehere/
pure-pw mkdb
pure-pw list

4. Test by trying to login as newly added user.
then try to put / make directory to make sure everything is fine.

That’s all.