Benutzer-Werkzeuge

Webseiten-Werkzeuge


open:it:calibre

Calibre-Server installieren

Voraussetzungen

Anleitung für DEBIAN!

System aktualisieren

sudo apt update && sudo apt upgrade

Port für Firewall

sudo ufw allow 8080

Abhängigkeiten installieren

sudo apt install libfontconfig libgl1-mesa-glx

Programm installieren

Programm downloaden (z.B. im eigenen Homeverzeichnis)

wget https://download.calibre-ebook.com/linux-installer.sh

Ausführbar machen

chmod +x linux-installer.sh

Installieren

sudo bash linux-installer.sh

Ich habe auf zwei verschieden eingerichteten Debians installiert und es fehlten unterschiedliche Bibliotheken oder Services. Die Hinweise während der Installation oder dem gescheiterten Starten des Systems haben weitergeholfen. Dort werden fehlende Utilitys angezeigt.
Beispiel davon (jeweils mit sudo apt install xxx): xdg-utils, libxcb-cursor0, libegl1 oder libopengl0.

Deinstallation

sudo calibre-uninstall

Bibliothek erstellen

Sollen Bücher über die Schell der Bibliothek zugänglich gemacht werden, müssen sie dort geladen werden.
Bücher können später auch über die Weboberfläche geladen werden.
Z.B. ein Gratis-Buch aus dem Gutenbergprojekt ins eigene Homeverzeichnis („The turn of the screw“ von Henry James)

wget http://www.gutenberg.org/ebooks/209.kindle.noimages -O turnofthescrew.mobi
wget https://www.gutenberg.org/ebooks/15711.epub3.images -O madamebovary.epub

Verzeichnis für eine Bibliothek erstellen

mkdir calibre-library

Das Verzeichnis kann an beliebiger Stelle liegen (hier das Home-Verzeichnis) » u.a. Pfade und Zugriffsrechte ggf. anpassen!

Bücher hinzufügen

calibredb add *.mobi --with-library calibre-library/

Dazu müssen wir uns im Verzeichnis befinden, indem die Bücher im Format *.mobi liegen. Es wird hier in die Bibliothek calibre-library/ kopiert.

Server starten

calibre-server calibre-library

calibre-library ist hier wieder der Pfad der Bibliothek.

oder mit alternativem Port

calibre-server calibre-library --port 7530

dann aber zuvor die Firewall anpassen

sudo ufw allow 7530

So sollte die Ausgabe nach dem Start des Servers aussehen (wobei das 0.0.0.0 die gültige IP-Adresse sein sollte)

calibre server listening on 0.0.0.0:8080
OPDS feeds advertised via BonJour at: your_server_ip port: 8080

Nun läßt es sich in einem Browser so starten

http://<yourserverip>:8080 

Calibre-Server als Dienst starten

sudo nano /etc/systemd/system/calibre-server.service
## startup service
[Unit]
Description=calibre content server
After=network.target

[Service]
Type=simple
User=<USER>
Group=<USER>
ExecStart=/opt/calibre/calibre-server /home/<USER>/calibre-library --enable-local-write

[Install]
WantedBy=multi-user.target

<USER> 3x ersetzen mit dem echten Usernamen
Das Verzeichnis kann auch an anderer Stelle liegen » Zugriffsrechte beachten!

System aktivieren und starten

sudo systemctl enable calibre-server
sudo systemctl start calibre-server

Zum testen einen Neustart des Systems durchführen

sudo reboot

Benutzerauthentifizierung

Server stoppen

sudo systemctl stop calibre-server

Start Benutzerverwaltungsskript. Pfad angeben, in dem die Benutzerdatenbank gespeichert werden soll. Sie wird in Form einer SQLite-Datenbank gespeichert.

sudo calibre-server --userdb /home/<USER>/.config/calibre/server-users.sqlite --manage-users

<USER> ersetzen mit dem echten Usernamen

1) Add a new user
2) Edit an existing user
3) Remove a user
4) Cancel

Calibre-Service bearbeiten

sudo nano /etc/systemd/system/calibre-server.service

Fügen Sie am Ende der Zeile, die mit ExecStart beginnt, das Flag –enable-auth hinzu, um die Benutzerauthentifizierung zu ermöglichen.

. . .

ExecStart=/opt/calibre/calibre-server "/home/<USER>/calibre-library" --userdb "/home/<USER>/.config/calibre/server-users.sqlite" --enable-local-write --enable-auth

. . .
<USER> 2x ersetzen mit dem echten Usernamen

Dienst-Daemon neu laden

sudo systemctl daemon-reload
sudo systemctl start calibre-server

Verwendung eines Proxy-Servers

Erweiterungen installieren

sudo a2enmod proxy proxy_ajp proxy_http rewrite deflate headers proxy_balancer proxy_connect proxy_html ssl

Konfiguration mit SSL, hier für eine Subdomain, siehe auch Apache Web-Server:

sudo nano  /etc/apache2/sites-available/<SUBDOMAIN>.conf
<IfModule mod_ssl.c>
<VirtualHost *:443>
  ServerName calibre.<DOMAIN>.de
  ...
  ...
  ProxyPass        / http://localhost:8080/
  ProxyPassReverse / http://localhost:8080/
  ...
  ...
</VirtualHost>
</IfModule>

<DOMAIN> ersetzen
DocumentRoot kann entfernt oder deaktiviert (#) werden

sudo apachectl configtest
sudo systemctl restart apache2

Anschließend kann die Firewall für den Port 8080 wieder deaktiviert werden, da der Aufruf nun über den Domainnamen bzw. Subdomain erfolgt. Siehe auch Firewall.

open/it/calibre.txt · Zuletzt geändert: 2024/08/15 17:59 von Kai