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:// in Ihrem Browser, und Sie erhalten den folgenden Bildschirm. Der Bildschirm wird je nach Wahl des Betriebssystemthemas dunkel oder hell angezeigt.

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

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.

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/ 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.

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.
Erhalte neue Beiträge in deinem Posteingang.
Kein Spam. Jederzeit abmelden.