The setup using the owncloud app described here works really well. Unless you want to share your books and catalog with someone else and you use the owncloud user also for other stuff and files. Of course it would be possible to create a special books-user and share the folder with other users etc., but this is to complex for my single user installation. Looking for a ebook reader addon, I found COPS – Calibre OPDS (and HTML) PHP Server. COPS generates an OPDS catalog using multiple sorting features and provides a search function. It also includes an ebook reader.
Install some needed packages.
sudo aptitude install php5-gd php5-sqlite php5-json php5-intl
Download the latest version from github.
I created a new subfolder in the webserver’s document root under /var/www/cops/ and extracted the files.
Copy the example configuration.
sudo cp /var/www/cops/config_local.php.example /var/www/cops/config_local.php
Edit the config file and change the path to your ebook directory containing the metadata.db from calibre.
$config['calibre_directory'] = '/media/usb/owncloud/user/files/ebooks/';
Edit your nginx configuration to password-protect your book collection. Add the section to your server configuration.
location /cops {
auth_basic "Restricted";
auth_basic_user_file /etc/nginx/.htpasswd;
}
Generate the .htpasswd file with your tool of choice. For testing use an online generator.
Point your browser to the encrypted SSL version of your url like https://yourip/cops. It should ask for a username and password and after correct credentials, show you your collection. To use the catalog with an app like FBReader, you need to apend feed.php to the url like https://yourip/cops/feed.php.