Ebook Server · 11 min read · Oct 11, 2025

So installieren Sie den Calibre Ebook-Server auf Ubuntu 22.04

Calibre ist ein kostenloser und Open-Source E-Book-Manager. Es funktioniert als plattformübergreifende Desktop-Anwendung zusammen mit einer Serverkomponente. Die Desktop-Komponente kann Ihre E-Book-Bibliothek auf einem einzelnen Gerät verwalten. Und die Serverkomponente ermöglicht es Ihnen:

  • Greifen Sie von überall auf der Welt auf Ihre Bücher zu.
  • Übertragen Sie Ihre Bücher einfach auf mobile Geräte.
  • Teilen Sie Bücher mit Freunden und Familie.
  • Lesen Sie E-Books direkt im Web.

In diesem Tutorial lernen Sie, wie Sie den Calibre-Server auf einem Ubuntu 22.04-Rechner installieren.

Voraussetzungen

  • Ein Server, der Ubuntu 22.04 ausführt.
  • Ein Nicht-Root-Benutzer mit Sudo-Rechten.
  • Die Uncomplicated Firewall (UFW) ist aktiviert und läuft.
  • Ein vollqualifizierter Domainname, der auf den Server zeigt. Für unser Tutorial verwenden wir die Domain calibre.example.com.
  • Alles ist aktualisiert. $ sudo apt update && sudo apt upgrade

Schritt 1 - Firewall konfigurieren

Der erste Schritt, bevor Sie Pakete installieren, besteht darin, die Firewall so zu konfigurieren, dass HTTP- und HTTPS-Verbindungen zugelassen werden.

Überprüfen Sie den Status der Firewall.

$ sudo ufw status

Sie sollten etwas sehen, das wie folgt aussieht.

Status: aktiv

Zu                         Aktion      Von
--                         ------      ----
OpenSSH                    ERLAUBEN    Überall
OpenSSH (v6)               ERLAUBEN    Überall (v6)

Erlauben Sie HTTP- und HTTPS-Ports.

$ sudo ufw allow http
$ sudo ufw allow https

Überprüfen Sie den Status erneut zur Bestätigung.

$ sudo ufw status
Status: aktiv

Zu                         Aktion      Von
--                         ------      ----
OpenSSH                    ERLAUBEN    Überall
80/tcp                     ERLAUBEN    Überall
443/tcp                    ERLAUBEN    Überall
OpenSSH (v6)               ERLAUBEN    Überall (v6)
80/tcp (v6)                ERLAUBEN    Überall (v6)
443/tcp (v6)               ERLAUBEN    Überall (v6)

Schritt 2 - Calibre-Server herunterladen und installieren

Ubuntu 22.04 wird mit Calibre ausgeliefert, aber es ist besser, es direkt zu installieren, um die neueste Version zu erhalten.

Der erste Schritt besteht darin, einige Abhängigkeiten zu installieren.

$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glx

Laden Sie den Calibre-Server-Installer herunter.

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

Machen Sie das Installationsskript ausführbar.

$ chmod +x ./linux-installer.sh

Führen Sie den Installer aus.

$ sudo ./linux-installer.sh

Sie erhalten einige Warnungen, da der Installer einen Desktop und keinen Server erwartet. Es ist sicher, die Warnungen zu ignorieren.

Schritt 3 - Erstellen Sie eine Calibre-Bibliothek und fügen Sie Ihr erstes Buch hinzu

Der nächste Schritt besteht darin, eine Calibre-Bibliothek einzurichten und einige Bücher hinzuzufügen. Für unser Tutorial laden wir das Buch Die Abenteuer von Sherlock Holmes von Arthur Conan Doyle von Project Gutenberg herunter.

$ wget http://www.gutenberg.org/ebooks/1661.kindle.noimages -O adventuresofsherlockholmes.mobi

Laden Sie immer die Kindle-Version des Buches von der Seite herunter. Hier benennen wir die Kindle-Version in filename.mobi um, da das Mobi-Format nativ in Kindle unterstützt wird, weshalb es so auf der Seite genannt wird. Es bietet auch bessere Formatierungsoptionen als die Epub-Version.

Erstellen Sie ein Verzeichnis für die Calibre-Bibliothek.

$ mkdir calibre-library

Fügen Sie das Buch, das Sie gerade heruntergeladen haben, mit dem Befehl calibredb zur Bibliothek hinzu. Wir haben den Speicherort der Bibliothek im Befehl selbst angegeben.

$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library/
Added book ids: 1

Sie können mehrere Bücher auf folgende Weise gleichzeitig hinzufügen.

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

Schritt 4 - Calibre-Server starten

Jetzt, da wir unsere Bücher bereit haben, ist es Zeit, den Calibre-Server zu starten.

$ calibre-server calibre-library

Der Befehl calibre-server nimmt den Speicherort der Bibliothek als Argument. Sie sollten eine ähnliche Ausgabe sehen.

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

Dies macht den Calibre-Server auf Port 8080 verfügbar. Um den Server anzuzeigen, müssen Sie zuerst den Port öffnen. Führen Sie den folgenden Befehl aus, um Port 8080 zu öffnen.

$ sudo ufw allow 8080

Öffnen Sie die URL http://:8080/ in Ihrem Browser, und Sie erhalten den folgenden Bildschirm. Der Bildschirm wird je nach Wahl des Betriebssystemthemas dunkel oder hell angezeigt.

Calibre Server Home

Klicken Sie auf den Link calibre-library, um das Buch anzuzeigen, das Sie im vorherigen Schritt hinzugefügt haben.

Calibre Server Library View

Schließen Sie den Server, indem Sie die Tasten Ctrl + C in Ihrem Terminal drücken.

Sie können einen anderen Port verwenden, um den Calibre-Server verfügbar zu machen. Verwenden Sie dazu den folgenden Befehl. Sie müssen sicherstellen, dass der Port in der Firewall geöffnet ist.

$ calibre-server calibre-library --port 7654

Schritt 5 - Erstellen Sie eine systemd-Dienstdatei

Um den Calibre-Server-Prozess persistent zu machen und Neustarts zu überstehen, müssen Sie eine systemd-Dienstdatei dafür erstellen.

Erstellen Sie eine Datei namens calibre-server.service im Verzeichnis /etc/systemd/system/ und öffnen Sie sie zur Bearbeitung.

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

Fügen Sie den folgenden Code ein.

[Unit]
Description=Calibre Server
After=network.target

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

[Install]
WantedBy=multi-user.target

Das Flag --enable-local-write gibt dem Server Schreibzugriff, um neue Bücher zur Bibliothek hinzuzufügen. Dies liegt daran, dass Sie keine Bücher mit dem Befehl calibredb hinzufügen können, während der Server läuft.

Ersetzen Sie durch Ihren Linux-Systembenutzernamen im obigen Code. Speichern und schließen Sie die Datei, indem Sie Ctrl+W drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Laden Sie den Dienstdaemon neu, um die Dienstdatei zu aktivieren.

$ sudo systemctl daemon-reload

Aktivieren und starten Sie den Calibre-Dienst.

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

Überprüfen Sie den Status des Dienstes.

$ sudo systemctl status calibre-server
? calibre-server.service - Calibre Server
     Loaded: loaded (/etc/systemd/system/calibre-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-07-25 07:23:42 UTC; 15s ago
   Main PID: 1877 (BonJour)
      Tasks: 13 (limit: 2241)
     Memory: 53.3M
        CPU: 762ms
     CGroup: /system.slice/calibre-server.service
             ??1877 /opt/calibre/bin/calibre-server /home//calibre-library --enable-local-write

Jul 25 07:23:42 calibre systemd[1]: Started Calibre Server.
Jul 25 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-'
Jul 25 07:23:42 calibre calibre-server[1877]: calibre server listening on 0.0.0.0:8080
Jul 25 07:23:43 calibre calibre-server[1877]: OPDS feeds advertised via BonJour at: 69.28.84.201 port: 8080

Schritt 6 - Benutzerauthentifizierung aktivieren

Sie können die Benutzerauthentifizierung zu Calibre hinzufügen, um Ihre Bibliothek vor dem Zugriff durch Unbefugte zu schützen. Stoppen Sie zuerst den Calibre-Server.

$ sudo systemctl stop calibre-server

Calibre verwendet eine SQLite-Datenbank, um Benutzeranmeldeinformationen zu speichern. Starten Sie das Benutzerverwaltungsskript von Calibre, um einen Benutzer hinzuzufügen.

$ sudo calibre-server --manage-users

Sie erhalten vier Optionen und werden nach Ihrer Wahl gefragt. Drücken Sie 1, um einen neuen Benutzer hinzuzufügen, und geben Sie den Benutzernamen und das Passwort ein, um den neuen Benutzer hinzuzufügen.

1) Neuen Benutzer hinzufügen
2) Vorhandenen Benutzer bearbeiten
3) Benutzer entfernen
4) Abbrechen

Was möchten Sie tun? [1-4]: (Drücken Sie 1)
Geben Sie den Benutzernamen ein: howtoforge
Geben Sie das neue Passwort für howtoforge ein:
Geben Sie das neue Passwort für howtoforge erneut ein, um es zu überprüfen:
Benutzer howtoforge erfolgreich hinzugefügt!

Als nächstes müssen Sie die Dienstdatei bearbeiten, um die Authentifizierung zu überprüfen. Öffnen Sie die Datei zur Bearbeitung.

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

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

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

Speichern und schließen Sie die Datei, indem Sie Ctrl+W drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Laden Sie den Dienstdaemon neu und starten Sie den Dienst.

$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-server

Wenn Sie die Bibliotheks-URL öffnen, werden Sie zur Eingabe Ihres Benutzernamens und Passworts aufgefordert, bevor Sie Zugriff darauf erhalten. Geben Sie Ihre Anmeldeinformationen ein und drücken Sie die Schaltfläche Anmelden, um auf die Bibliothek zuzugreifen.

Calibre Server Authentication Prompt

Schritt 7 - Bücher automatisch zur Bibliothek hinzufügen

Calibre ermöglicht es Ihnen, Bücher automatisch zur Bibliothek hinzuzufügen, indem Sie einen Cron-Job verwenden. Es geschieht, indem es ein Verzeichnis in regelmäßigen Abständen auf neue Bücher überwacht und diese dann zur Bibliothek hinzufügt. Dies ist der schnellste Weg, um Bücher hinzuzufügen, bei dem Sie sie einfach in das Verzeichnis hochladen können, und sie erscheinen bald in der Bibliothek, ohne dass manuelles Eingreifen erforderlich ist.

Der erste Schritt besteht darin, ein Überwachungsverzeichnis zu erstellen.

$ mkdir ~/calibre-watch
$ cd ~/calibre-watch

Laden Sie das Buch Krieg und Frieden von Leo Tolstoi in dieses Verzeichnis von Project Gutenberg herunter.

$ wget https://www.gutenberg.org/ebooks/2600.kindle.images -O warandpeace.mobi

Wenn Sie bemerken, laden wir diesmal eine Version herunter, die Bilder enthält. Es variiert von Buch zu Buch auf Project Gutenberg. Einige haben Bildversionen verfügbar, während andere dies nicht tun. Calibre funktioniert mit beiden Formaten gut.

Öffnen Sie den Crontab-Editor.

$ crontab -e

Wenn dies das erste Mal ist, dass Sie den Crontab verwenden, werden Sie aufgefordert, einen Editor auszuwählen.

no crontab for  - using an empty one

Wählen Sie einen Editor. Um später zu ändern, führen Sie 'select-editor' aus.
  1. /bin/nano        <---- am einfachsten
  2. /usr/bin/vim.basic
  3. /usr/bin/vim.tiny
  4. /bin/ed

Wählen Sie 1-4 [1]:

Geben Sie 1 ein, um den Nano-Editor auszuwählen, da er am einfachsten zu bedienen ist.

Fügen Sie den folgenden Befehl am Ende der Datei hinzu.

*/5 * * * * calibredb add /home//calibre-watch/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home//calibre-watch/*

Dieses Skript fügt alle Dateien im Verzeichnis /home//calibre-watch zur Calibre-Bibliothek hinzu und löscht alle Originaldateien, da sie nicht mehr benötigt werden. Der obige Job wird alle 5 Minuten ausgeführt. Ersetzen Sie durch Ihren Linux-Systembenutzernamen und fügen Sie Ihre Calibre-Anmeldeinformationen an den entsprechenden Stellen hinzu.

Speichern und schließen Sie die Datei, indem Sie Ctrl+W drücken und Y eingeben, wenn Sie dazu aufgefordert werden. Warten Sie einige Minuten und laden Sie die Calibre-Server-Website neu, um zu sehen, dass das Buch, das Sie gerade hinzugefügt haben, in der Bibliothek erscheint.

Schritt 8 - Nginx installieren

Ubuntu 22.04 wird mit einer älteren Version von Nginx ausgeliefert. Um die neueste Version zu installieren, müssen Sie das offizielle Nginx-Repository herunterladen.

Importieren Sie den Signaturschlüssel von Nginx.

$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null

Fügen Sie das Repository für die stabile Version von Nginx hinzu.

$ echo "deb [signed-by=/usr/share/keyrings/nginx-archive-keyring.gpg arch=amd64] \
http://nginx.org/packages/ubuntu `lsb_release -cs` nginx" \
| sudo tee /etc/apt/sources.list.d/nginx.list

Aktualisieren Sie die System-Repositorys.

$ sudo apt update

Installieren Sie Nginx.

$ sudo apt install nginx

Überprüfen Sie die Installation.

$ nginx -v
nginx version: nginx/1.22.0

Schritt 9 - SSL installieren

Momentan ist Calibre über einen HTTP-Port über eine IP-Adresse verfügbar. Um es besser zu sichern, werden wir den Zugriff über eine dedizierte Domain mit einem SSL-Zertifikat aktivieren.

Wir müssen Certbot installieren, um das SSL-Zertifikat für Calibre zu generieren. Sie können Certbot entweder über das Repository von Ubuntu installieren oder die neueste Version mit dem Snapd-Tool herunterladen. Wir werden die Snapd-Version verwenden.

Ubuntu 22.04 wird standardmäßig mit Snapd ausgeliefert. Führen Sie die folgenden Befehle aus, um sicherzustellen, dass Ihre Version von Snapd auf dem neuesten Stand ist.

$ sudo snap install core

Installieren Sie Certbot.

$ sudo snap install --classic certbot

Verwenden Sie den folgenden Befehl, um sicherzustellen, dass der Certbot-Befehl ausgeführt werden kann, indem Sie einen symbolischen Link zum Verzeichnis /usr/bin erstellen.

$ sudo ln -s /snap/bin/certbot /usr/bin/certbot

Führen Sie den folgenden Befehl aus, um ein SSL-Zertifikat zu generieren.

$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d calibre.example.com

Der obige Befehl lädt ein Zertifikat in das Verzeichnis /etc/letsencrypt/live/calibre.example.com auf Ihrem Server herunter.

Generieren Sie ein Diffie-Hellman-Gruppen-Zertifikat.

$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096

Öffnen Sie die Datei /etc/letsencrypt/renewal/calibre.example.com.conf zur Bearbeitung.

$ sudo nano /etc/letsencrypt/renewal/calibre.example.com.conf

Fügen Sie den folgenden Code am Ende hinzu.

pre_hook = systemctl stop nginx
post_hook = systemctl start nginx

Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Wir haben das SSL-Zertifikat mit der Standalone-Option von Certbot generiert. Es führt seinen Webserver aus, um das Zertifikat zu erstellen, was bedeutet, dass Nginx während der Erneuerung abgeschaltet werden sollte. Die pre_hook- und post_hook-Befehle werden vor und nach der Erneuerung ausgeführt, um den Nginx-Server automatisch herunterzufahren und neu zu starten, wodurch kein manuelles Eingreifen erforderlich ist.

Um zu überprüfen, ob die SSL-Erneuerung einwandfrei funktioniert, führen Sie einen Testlauf des Prozesses durch.

$ sudo certbot renew --dry-run

Wenn Sie keine Fehler sehen, sind Sie bereit. Ihr Zertifikat wird automatisch erneuert.

Schritt 10 - Nginx konfigurieren

Öffnen Sie die Datei /etc/nginx/nginx.conf zur Bearbeitung.

$ sudo nano /etc/nginx/nginx.conf

Fügen Sie die folgende Zeile vor der Zeile include /etc/nginx/conf.d/*.conf; hinzu.

server_names_hash_bucket_size  64;

Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Erstellen und öffnen Sie die Datei /etc/nginx/conf.d/calibre.conf zur Bearbeitung.

$ sudo nano /etc/nginx/conf.d/calibre.conf

Fügen Sie den folgenden Code ein. Ersetzen Sie calibre.example.com durch Ihren Domainnamen. Wir haben den Wert der Variablen client_max_body_size auf 50 MB gesetzt. Sie können ihn nach Ihren Anforderungen ändern.

server {

    listen 443 ssl http2;
    listen [::]:443 ssl http2;

    http2_push_preload on; # HTTP/2 Server Push aktivieren
    
    # Aktivieren Sie 0-RTT von TLSv1.3. Verwenden Sie $ssl_early_data, wenn Sie als Reverse-Proxy fungieren,
    # um Wiederholungsangriffe zu verhindern.
    #
    # @siehe: https://nginx.org/en/docs/http/ngx_http_ssl_module.html#ssl_early_data
    ssl_early_data on;

    server_name calibre.example.com;

    client_max_body_size 50M;

    access_log  /var/log/nginx/calibre.access.log;
    error_log   /var/log/nginx/calibre.error.log;

    ssl_certificate      /etc/letsencrypt/live/calibre.example.com/fullchain.pem;
    ssl_certificate_key  /etc/letsencrypt/live/calibre.example.com/privkey.pem;
    ssl_trusted_certificate /etc/letsencrypt/live/calibre.example.com/chain.pem;
    
    ssl_session_timeout  5m;
    ssl_session_cache shared:MozSSL:10m;
    ssl_session_tickets off;
    
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_prefer_server_ciphers on;
    ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384;
    ssl_ecdh_curve X25519:prime256v1:secp384r1:secp521r1;
    ssl_stapling on;
    ssl_stapling_verify on;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;

    location / {
        proxy_pass http://127.0.0.1:8080;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;        
    }
}
# HTTPS erzwingen
server {
    listen 80;
    listen [::]:80;
    server_name  calibre.example.com;
    return 301   https://$host$request_uri;
}

Speichern Sie die Datei, indem Sie Ctrl + X drücken und Y eingeben, wenn Sie dazu aufgefordert werden.

Überprüfen Sie Ihre Nginx-Konfiguration.

$ sudo nginx -t

Starten Sie den Nginx-Server neu, um die Konfigurationsdateien zu aktivieren.

$ sudo systemctl restart nginx

Besuchen Sie https://calibre.example.com in Ihrem Browser, um auf Calibre zuzugreifen. Sie können sehen, dass das über Cron hinzugefügte Buch ebenfalls in der Bibliothek verfügbar ist.

Calibre Library Refresh

Fazit

Damit endet unser Tutorial zur Installation des Calibre-Servers auf einem Ubuntu 22.04-Rechner mit Nginx. Wir haben auch Calibre konfiguriert, um die grundlegende Authentifizierung zu aktivieren und die Unterstützung für das automatische Hinzufügen neuer Bücher hinzuzufügen. Der Calibre-Server wird mit vielen Befehlszeilenwerkzeugen ausgeliefert. Um mehr darüber zu erfahren, können Sie die Calibre-Dokumentation besuchen. Wenn Sie Fragen haben, posten Sie diese bitte in die Kommentare unten.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.