It can be both a permission and configuration problem.
The web server (user www-data) needs +x on every folder in the path, so for /home/username/web/, /home, /home/username/ and /home/username/web has to have the +x set for world. In addition /home/user/web has to have read permission for web server, and same for content.
In addition, Apache has to be configured for this. As you ask for a per user folder, I presume you're thinking about the typical example.com/~username?
This is traditionally the folder public_html with Apache. This is configured with the UserDir directive. This is fairly well documented in the Apache Documentation. Thus you'd have to add UserDir web to use the folder web instead of public_html.
wwwso they can reach their sites, and check the permissions – George Udosen Sep 26 '17 at 11:48