You have vsftpd as a server. You don't make clear if your users are virtual users or real (system) users; the latter are ones that have been added on the system using useradd / adduser.
I don't have experience with virtual users, so can't help you there. If your users are real users, you can follow the vsftpd configuration as described in chapter 14 in
http://www.brennan.id.au/; that site describes a setup for fedora, but might be useful for Centos as well; I used parts of it for my Slackware servers.
You might need to create a symlink in each user's home directory to a www folder.
My setup is probably different from the standard setups that come with distros; webpages don't belong in /var in my opinion, so I use the user's home directories (and configure apache accordingly).
Code:
/home
+---website1
| +---inc
| +---web
+---website2
| +---inc
| +---web
| +---directory_where_apache_can_write
If you use the same approach, the document root for each website in apache needs to point to the respective
web directory (/home/websiteX/web).
The
inc directory (for include) is there for files that e.g. contain login credentials for a database; visitors of a website can't access them by enetering a URL but apache can (make sure permissions allow apache to read both
inc and
web.
Disadvantage of the approach might be that apache can not write in the user's home directories; I therefor always create a subdirectory in the
web directory where apache can write.
Also make sure that the real users can not snoop around in the system by jailing them to their home directories; if it's not explained in the link that I provided, you can ask.
Last thing is that I don't allow users to login using telnet/ssh so they can't snoop around in the system that way.