I am planning to teach an ASP.NET MVC course some time. I would like to host the students project's on a web server accessible via internet. To this effect I am planning to rent a Windows machine on Amazon ec2. The students will be uploading their ASP.NET Websites so that they can see their projects online and allow other students to access them as well. My question is how do I set up a Windows 2008 server with IIS 7.x to support this functionality. Should I create a virtual directory/application for each student under an IIS site and expose that virtual directory/application through some interface the students can access to publish their content. Should I use SFTP or WebDav. I don't want to create windows user accounts on the machine for each student. If anyone has experience with regard to this, I would like to hear them. Any suggestions/links would be appreciated as well.
If you don't want (or have the risk of) students overwriting each other's work then -
Create a separate site per student (use HTTP host headers to share the server's IP address across multiple sites)
Uploading Method 1: Add FTP Publishing to each site - doesn't require a windows account but does need a separate user id if you want to keep students from interfering with each other
Uploading Method 2: Enable WebDAV on each site. Again if you want to keep students from botching each others work you'll need a separate windows account for each one (WebDAV requires Windows accounts).
If this is not a concern then just create a single site and give each one their own application and use a shared username/password to allow them to upload their projects.
WebDAV makes life a bit easier because each student can just drag & drop copy their site directly to their own folder instead of having to fire up an FTP client.