This is kind of an interesting question (though, perhaps on a different level than you were originally thinking). James did a pretty good job explaining the preliminary requirements.
Past that, things get trickier (but more interesting). Assuming you can get Linux and Apache up and running, the actual infrastructure for the implementaiton you described is a big question. I think that you could use something like a Wiki, Blog, or Gallery to avoid having to do too much work yourself in creating these userspaces. While I haven't personally configured a wiki, I know they provide provisions for setting permissions, and posting/editing content. A blog (or individual blogs) would do something similar. Lastly, a gallery might be the best suited (see
http://www.p14nd4.com/gallery/ for mine), as it allows for web-based uploads of photos and movies, and possibly other files (I haven't tried). This, specifically, also has user and album-level permission sets, and can show/hide various albums based on anonymous vs user vs user1 vs user2 (etc) login. These things can generally be obtained along the lines of apt-get install gallery in debian. Gallery probably took me ~45 minutes to configure everything, but was well worth it. I can't specifically vouch for how well the first two handle file uploads, but I know that some blogs/wikis have provisions for files/attachments.
I'd be interested in seeing what you come up with.