>>1
LinuxとかUNIX系のOSなら普通にユーザー管理してApacheの設定すればできます。

/home/(ユーザー名)/public_html/index.html が、 http://(サーバー)/~(ユーザー名)/
として表示されるのが一般的ですね。