Calibre und Cops

12. Juni 2017

Ursprünglich wollte ich meine Büchersammlung in einem Wiki pflegen, aber es geht deutlich einfacher und schöner. Mit Calibre lassen sich die eigenen Bücher verwalten und dank des Zugriffs auf Metadatenquellen, sind die richtigen Cover, Autoren, Titel, etc. schnell gefunden. Wenn auch nicht immer korrekt.

Screenshot vom Hauptfenster

Unter Einstellungen -> Versand -> Herunterladen von Metadaten kann eingestellt werden von welchen Quellen die Metadaten bezogen werden sollen. Für deutschsprachige Bücher empfiehlt es sich vorher unter Einstellungen -> Erweitert -> Erweiterungen die Erweiterung BOL_DE zu installieren. Danach klickt man “nur noch” auf Bücher hinzufügen um digitale, auf der Festplatte befindliche Formate auszuwählen, bzw. auf den zugehörigen Dropdown-Menü-Pfeil und wählt Von ISBN hinzufügen. Mit einem Barcodescanner scannt man nun zügig die eigene Büchersammlung und hofft auf eine reibungslose Zuordnung der Metadaten. Das ist jedoch nicht immer der Fall, insbesondere ältere Bücher bedürfen der Nachbearbeitung. Auch ist die Verschlagwortung selten zufriedenstellend und gerade mit den Schlagworten lässt sich Ordnung halten (z.B. Regal #1, Bobs Bücher).

Soweit befindet sich die Büchersammlung auf der eigenen Festplatte. Für einen Zugriff auf die Bücherliste über das Internet muss zum einen die Datenbank ins Netz und zum an deren ist noch eine Webapplikation zur Darstellung nötig. Letzteres übernimmt COPS. Das zugehörige ZIP-Archiv entpackt man einfach auf dem Webserver und anschließend stellt man in der Konfigurationsdatei config_local.php den Pfad zur Datenbank ein. Ehe die Datenbank online gestellt wird, muss der Zugriff auf COPS mit einem Passwort verhindert werden, denn schließlich besitzt man keine Rechte an den aus den Metadatenquellen bezogenen Bildern. Eine Vorlage bringt COPS bereits mit, man muss lediglich in der Datei .htaccess den nachstehenden Block von der Auskommentierung befreien.

<FilesMatch "\.php$">
AuthUserFile /absolute/path/to/the/password/file/.htpasswd
AuthGroupFile /dev/null
AuthName "Access restricted area"
AuthType Basic
Require valid-user
</FilesMatch>

Dann braucht es noch die im Block genannte .htpasswd, die sich am einfachsten hierüber generieren lässt.

Als letztes muss noch die Datenbank übertragen werden. Das geht am leichtesten mittels rsync. Ein entsprechender Aufruf sieht folgendermaßen aus.

rsync -avirz --delete -e ssh /home/USER/Calibre/ ssh-user@webserver.de/www/htdocs/user/Calibre/

Wichtig sind hier vor allem die / am Ende jeden Pfades! Ohne funktioniert das Hochladen nur beim ersten Mal. -r steht für rekursiv, d.h. die Unterordner werden auch noch beachtet, mit -i werden nur die Unterschiede übertragen, durch -z wird die Übertragung komprimiert. -v macht rsync gesprächig, es gibt damit aus welche Datei gerade übertragen wird, und mit --delete werden Dateien auf dem Server gelöscht, wenn sie lokal gelöscht wurden. -e ssh lässt die ganze Kommunikation verschlüsselt stattfinden. I.d.R. ist das auch der einzige, praktikable Weg der Datenübertragung, denn Mausschubsen ist nicht. Wenn alles glatt läuft, begrüßt einen COPS wie folgt.

COPS Oberfläche