We need to securely serve files to our clients. We want the transport to be encrypted, users should require user/password and they should be able to access their files through the web, ftp/sftp and curl.
The obvious idea is to use openssh and its sftp server. However, I don't see how to provide a web interface to the sftp server.
In other words, while most clients will use automated scripts to get their files, they may have an occasional need to get the files manually from a web page (which means they need to manually type in their user/password)
edit: Sorry, forgot to mention that we intend to serve these files off a linux server