I myself got hired by a company that wants a system to allow their customers to access their files remotely, ofc any FTP solution would do the trick here.
But the thing is that some of those users either really don't have a clue of how FTP works (yes those people exist), or they can only access sites through a non-ftp proxy.
So my eye fell on ISPconfig, that already had a (neat) webftp integrated.
Maybe you could add an option to allow regular users to use the web-ftp for downloading/uploading files aswell.
But, there is a much simpler option that would really do the trick aswell:
A simple tickable box under the Advanced Settings tab at a user:
[x] Allow only the user himself to view his page. (?)
Where clicking the (?) would make a pop-up appear saying something like:
"A .htaccess and .htpasswd are created to have Apache ask for the user's username and password before he can access/view his own site."
The .htaccess would be located in /var/www/$webnr/user/$username/web, and the .htpasswd would be located in /var/www/$webnr
Giving something like:
<Limit GET POST LIST>
require user $username
Where if the user would be deleted, not only the .htaccess file would have to be removed, but also the line from /var/www/$webnr/.htpasswd that contains his name.
I myself already created a PHP solution for a server that would just have LAMP + pureftpd-mysql installed, but that required apache to run as ftpuser, or pureftpd as www-data. And i couldnt get that working.
If you have any questions please ask, as i know i'm not the best at explaining things.
Something that would also really help is if you allow the server admin to define (shell)scripts for a web that are run when a user is created or deleted:
When a user is created run
/$ispconfigscriptdir/adduserscript $user $web
and when a user is deleted run
/$ispconfigscriptdir/rmuserscript $user $web
Thanks ALOT in advance
And please don't force me to use something like Microsoft Sharepoint, because that would be my nightmare.