EDIT: 2012/02/15: V0.2.8 has been released. See
this post.
My personal web + email server is a VPS, living in a data center somewhere. I want to have my calibre library available on that web server. I am running Debian Lenny, which means installing calibre is a right bother. The server is also headless, and I don't want to deal with the framebuffer stuff.
For quite some time I have been using calibre2opds + dropbox. These work quite adequately, but there are three things that are mildly irksome. The first is that calibre2opds doesn't support custom fields. The second (more serious for me) is that I must remember to regenerate the library (and I forget). The third is that calibre2opds creates a mess of files in my library (yes, I know I can copy it, but that means duplicating my library). Couple these with the question 'how hard would it be ...' and I started playing.
I now have a PHP-based Apache plugin implementing a calibre content server. It uses the calibre database and library directly, generating html as needed. The pages are template-driven (smarty, overkill but I wanted to learn it). It supports calibre custom columns, searches, sorting, and per-user restrictions, amongst other things. Either web server and internal authentication can be used.
Requirements: the implementation requires a web server (Apache and IIS should both work), PHP 5.2 or 5.3 with some modules such as SQLite and GD, and Smarty. I am using both PHP 5.2 and PHP5.3, smarty 2.6 and Apache 2.2. See the README and INSTALL files included in the distribution for more information.