View Single Post
Old 10-26-2010, 03:03 PM   #1
chaley
Grand Sorcerer
chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.chaley ought to be getting tired of karma fortunes by now.
 
Posts: 11,733
Karma: 6690881
Join Date: Jan 2010
Location: Notts, England
Device: Kobo Libra 2
PHP+Apache web server for calibre ...

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.

Last edited by chaley; 02-15-2012 at 03:51 AM.
chaley is offline   Reply With Quote