GNU/Linux >> LINUX-Kenntnisse >  >> Ubuntu

So installieren Sie Calibre Ebook Server unter Ubuntu 20.04

Calibre ist ein kostenloser Open-Source-E-Book-Manager. Es wird als plattformübergreifende Desktop-Anwendung zusammen mit einer Serverkomponente geliefert und kann zur Verwaltung Ihrer E-Book-Bibliothek verwendet werden.

Wenn Sie Calibre als Server einrichten, können Sie von überall auf der Welt auf Ihre Bücher zugreifen und sie mit Freunden und Familie teilen. Sie können sie auch zum späteren Lesen auf Ihre Mobilgeräte übertragen. Mit dem Calibre-Server können Sie E-Books auch direkt im Internet lesen.

In diesem Tutorial erfahren Sie, wie Sie einen Calibre-eBook-Server auf einem Ubuntu 20.04-basierten Server installieren und verwenden.

Voraussetzungen

  1. Ein Ubuntu 20.04-basierter Server mit einem Benutzer mit sudo-Berechtigungen.

  2. Halten Sie den Server auf dem neuesten Stand.

    $ sudo apt update && sudo apt upgrade
    

Firewall konfigurieren

Ubuntu 20.04 wird standardmäßig mit einer unkomplizierten Firewall (UFW) geliefert. Falls dies nicht der Fall ist, installieren Sie es zuerst.

$ sudo apt install ufw

SSH-Port aktivieren.

$ sudo ufw allow "OpenSSH"

Aktivieren Sie die Firewall.

$ sudo ufw enable

Aktivieren Sie die Ports 8080, die vom Calibre-Server verwendet werden.

$ sudo ufw allow 8080

Überprüfen Sie den Firewall-Status.

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere
8080                       ALLOW       Anywhere
OpenSSH (v6)               ALLOW       Anywhere (v6)
8080 (v6)                  ALLOW       Anywhere (v6)

Laden Sie den Calibre-Server herunter und installieren Sie ihn

Ubuntu 20.04 wird mit Calibre ausgeliefert, aber es ist besser, es direkt von ihrer Website zu installieren, um die neueste Version zu erhalten.

Zuerst müssen Sie einige Abhängigkeiten installieren.

$ sudo apt install libfontconfig libgl1-mesa-glx

Laden Sie das Calibre Server-Installationsprogramm herunter.

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

Legen Sie das Installationsskript als ausführbar fest.

$ chmod +x ./linux-installer.sh

Führen Sie das Installationsprogramm aus.

$ sudo ./linux-installer.sh

Sie erhalten einige Warnungen, da der Installer ein Desktop-System und keinen Headless-Server erwartet. Es ist sicher, sie zu ignorieren.

Erstellen Sie eine Bibliothek und fügen Sie Ihr erstes Buch hinzu

Für unser Tutorial werden wir als Beispiel ein Buch von Project Gutenberg herunterladen. Project Gutenberg ist ein riesiges Archiv kostenloser, gemeinfreier Bücher.

Führen Sie den folgenden Befehl aus, um Ihr erstes Buch herunterzuladen. Lassen Sie uns im Geiste des jüngsten Halloween-Festivals eine Horrorgeschichte herunterladen:„The turn of the screw“ von Henry James.

$ wget http://www.gutenberg.org/ebooks/209.kindle.noimages -O turnofthescrew.mobi

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

$ mkdir calibre-library

Fügen Sie das Buch, das Sie gerade heruntergeladen haben, mithilfe von calibredb zu Ihrer Calibre-Bibliothek hinzu Befehl.

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

Jetzt ist es an der Zeit, Calibre zu starten.

Führen Sie den Calibre-Server aus

Führen Sie den folgenden Befehl aus, um den Calibre-Inhaltsserver zu starten.

$ calibre-server calibre-library

calibre-server ist der Befehl zum Starten des Servers und der calibre-library ist der Name des gerade erstellten Verzeichnisses und wird vom Server zum Laden der Schnittstelle verwendet.

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

Starten Sie die URL http://<yourserverip>:8080 in Ihrem Browser und Sie sehen den Standard-Caliber-Bildschirm.

Klicken Sie auf calibre-library und Sie sehen das Buch The turn of the screw Sie gerade heruntergeladen haben.

Sie können den Server stoppen, indem Sie Strg+C drücken auf der Kommandozeile.

Calibre Server verwendet standardmäßig den Port 8080. Sie können es ändern, indem Sie den Befehl während des Starts ändern.

$ calibre-server calibre-library --port 7530

Sie können dies dann überprüfen, indem Sie die URL http://<yourserverip>:7530 starten in Ihrem Browser.

Sie müssen den Port auch über die Firewall zulassen.

$ sudo ufw allow 7530

Erstellen Sie einen Dienst für Calibre-Server

Sie möchten wahrscheinlich, dass Calibre auch nach dem Neustart des Servers für immer läuft. Dazu müssen Sie einen Dienst für Calibre erstellen, der es automatisch beim Booten startet.

Erstellen Sie eine Datei /etc/systemd/system/calibre-server.service und öffnen Sie es zur Bearbeitung mit dem Nano-Editor.

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

Fügen Sie den folgenden Code ein.

## startup service
[Unit]
Description=calibre content server
After=network.target

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

[Install]
WantedBy=multi-user.target

Ersetzen Sie <username> mit dem tatsächlichen Systembenutzer auf Ihrem Ubuntu-Server.

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

Aktivieren und starten Sie den Calibre-Dienst.

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

Sie können dies überprüfen, indem Sie den Dienst neu starten.

$ sudo reboot

Warten Sie ein paar Minuten und öffnen Sie http://<yourserverip>:8080 im Browser, um sicherzustellen, dass Calibre funktioniert.

Benutzerauthentifizierung zum Calibre-Server hinzufügen

Im Moment kann jeder, der Ihre Server-IP kennt, auf den Calibre-Server zugreifen. Wir können das ändern, indem wir dem Server eine Benutzerauthentifizierung hinzufügen.

Stoppen Sie zuerst den Calibre-Server.

$ sudo systemctl stop calibre-server

Starten Sie das Benutzerverwaltungsskript von Calibre. Sie können den Pfad angeben, in dem die Benutzerdatenbank gespeichert wird. Es wird in Form einer SQLite-Datenbank gespeichert.

$ sudo calibre-server --userdb /home/<username>/.config/calibre/server-users.sqlite --manage-users
1) Add a new user
2) Edit an existing user
3) Remove a user
4) Cancel

What do you want to do? [1-4]: 1
Enter the username: howtoforge
Enter the new password for howtoforge:
Re-enter the new password for howtoforge, to verify:
User howtoforge added successfully!

Geben Sie 1 ein, um einen neuen Benutzer zu erstellen, und wählen Sie ein sicheres Passwort.

Als nächstes müssen wir den zuvor eingerichteten Calibre-Dienst bearbeiten.

Öffnen Sie die Servicedatei.

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

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

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

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

Aktualisieren Sie den Dienst-Daemon, um die geänderte Dienstdatei neu zu laden und den Dienst erneut zu starten.

sudo systemctl daemon-reload
sudo systemctl start calibre-server

Wenn Sie die Website das nächste Mal starten, werden Sie vor dem Zugriff auf die Bibliothek nach dem Benutzernamen und dem Passwort gefragt.

Bücher automatisch zu Ihrer Bibliothek hinzufügen

Wir können einen überwachten Ordner einrichten, der vom Calibre-Server nachverfolgt werden kann, sodass jedes Mal, wenn Sie dem Ordner ein neues Buch hinzufügen, es automatisch der Calibre-Bibliothek hinzugefügt wird.

Erstellen Sie einen überwachten Ordner und wechseln Sie dorthin.

$ mkdir ~/watchbooks
$ cd ~/watchbooks

Laden Sie mit dem folgenden Befehl ein neues Buch in den Ordner herunter.

$ wget http://www.gutenberg.org/ebooks/514.epub.noimages -o littlewomen.epub

Öffnen Sie als Nächstes den Crontab-Editor.

$ crontab -e

Fügen Sie am Ende die folgende Zeile hinzu.

*/5 * * * * calibredb add /home/<username>/watchbooks/ -r --with-library http://localhost:8080#calibre-library --username calibreuser --password YourPassword && rm -r /home/<username>/watchbooks/*

Dieses Skript fügt alle Dateien im Verzeichnis /home/<username>/watchbooks hinzu in die Calibre-Bibliothek und löschen Sie alle Originaldateien, da sie nicht mehr benötigt werden.

Der Cronjob wird alle 5 Minuten ausgeführt. Warten Sie ein paar Minuten und laden Sie die Calibre-Server-Site neu, um zu sehen, dass das Buch, das Sie gerade hinzugefügt haben, in der Bibliothek erscheint.

Nginx installieren

In diesem Schritt installieren wir den Nginx-Webserver, um den Calibre-Server über Proxy zu bedienen. Auf diese Weise können Sie beispielsweise über einen Domänennamen darauf zugreifen, calibre.yourdomain.com . Sie brauchen sich auch nicht um die Angabe von Portnummern zu kümmern. Und mit Nginx als Proxy können wir die Website über SSL bereitstellen.

Führen Sie den folgenden Befehl aus, um Nginx zu installieren.

$ sudo apt install nginx

Öffnen Sie die Ports 80 und 443 und schließen Sie den Port 8080, da er nicht mehr benötigt wird.

$ sudo ufw allow "Nginx Full"
$ sudo ufw delete allow 8080

Nginx Full ist ein Anwendungsprofil für die ufw-Firewall, das automatisch die Ports 80 und 443 öffnet.

$ sudo ufw status
Status: active

To                         Action      From

--                         ------      ----

OpenSSH                    ALLOW       Anywhere
Nginx Full  		   ALLOW       Anywhere	
OpenSSH (v6)               ALLOW       Anywhere (v6)
Nginx Full		   ALLOW       Anywhere (v6)

SSL installieren

Wir werden SSL mit dem Dienst Let’s Encrypt installieren.

Installieren Sie dazu Certbot.

$ sudo apt install certbot

Stoppen Sie Nginx, da es den Certbot-Prozess stören wird.

$ sudo systemctl stop nginx

Generieren Sie das Zertifikat. Außerdem müssen wir ein DHParams-Zertifikat erstellen.

$ export LDOMAIN="calibre.yourdomain.com"
$ export LEMAIL="[email protected]"
$ sudo certbot certonly --standalone -d $LDOMAIN --preferred-challenges http --agree-tos -n -m $LEMAIL --keep-until-expiring 
$ sudo systemctl start nginx
$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048

Wir müssen auch einen Cron-Job einrichten, um das SSL automatisch zu erneuern. Um den Crontab-Editor zu öffnen, führen Sie den folgenden Befehl aus

$ sudo crontab -e

Der obige Befehl öffnet den Crontab-Editor.

Fügen Sie unten die folgende Zeile ein.

25 2 * * * /usr/bin/certbot renew --quiet --pre-hook “systemctl stop nginx” --post-hook “systemctl start nginx”

Der obige Cron-Job führt certbot jeden Tag um 2:25 Uhr aus. Sie können es beliebig ändern.

Speichern Sie die Datei, indem Sie Strg + X drücken und geben Sie Y ein wenn Sie dazu aufgefordert werden.

Konfigurieren Sie Nginx so, dass Calibre über Proxy mit SSL bereitgestellt wird

Wir müssen die Nginx-Konfigurationsdatei bearbeiten, um die SSL-Konfiguration hinzuzufügen.

Führen Sie den folgenden Befehl aus, um eine Konfigurationsdatei für den Calibre-Server hinzuzufügen.

$ sudo nano /etc/nginx/sites-available/calibre.conf

Fügen Sie den folgenden Code in den Editor ein.

server {
    listen 80;
    listen [::]:80;
    server_name calibre.yourdomain.com;
    # enforce https
    return 301 https://$server_name:443$request_uri;
}

server {
    listen 443 ssl http2;
    listen [::]:443 ssl http2;
    server_name calibre.yourdomain.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }

    # Use Mozilla's guidelines for SSL/TLS settings
    # https://mozilla.github.io/server-side-tls/ssl-config-generator/
    ssl_certificate /etc/letsencrypt/live/calibre.yourdomain.com/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/calibre.yourdomain.com/privkey.pem;
    ssl_protocols TLSv1.2 TLSv1.3;
    ssl_session_timeout 1d;
    ssl_session_cache shared:MozSSL:10m;  # about 40000 sessions
    ssl_session_tickets off;
    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_prefer_server_ciphers off;
    ssl_dhparam /etc/ssl/certs/dhparam.pem;
}

Drücken Sie Strg + X um den Editor zu schließen und drücken Sie Y wenn Sie aufgefordert werden, die Datei zu speichern.

Aktivieren Sie diese Konfigurationsdatei, indem Sie sie mit sites-enabled verknüpfen Verzeichnis.

$ sudo ln -s /etc/nginx/sites-available/calibre.conf /etc/nginx/sites-enabled/

Testen Sie die Nginx-Konfiguration.

$ sudo nginx -t

Sie sollten die folgende Ausgabe sehen, die anzeigt, dass Ihre Konfiguration korrekt ist.

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Laden Sie den Nginx-Dienst neu.

$ sudo systemctl reload nginx

Sie können die Seite jetzt über die URL https://calibre.yourdomain.com starten .

Schlussfolgerung

In diesem Tutorial haben Sie gelernt, wie Sie den Calibre-E-Book-Server installieren und ausführen und über Nginx ausführen, zusammen mit der Benutzerauthentifizierung und der Möglichkeit, Bücher automatisch hinzuzufügen. Wenn Sie Fragen haben, posten Sie diese in den Kommentaren unten.


Ubuntu
  1. So installieren Sie MySQL unter Ubuntu 18.04

  2. So installieren Sie Minecraft Server auf Ubuntu 18.04

  3. So installieren Sie Nginx unter Ubuntu 20.04

  4. So installieren Sie MariaDB unter Ubuntu 20.04

  5. So installieren Sie Zimbra 8.6 auf einem Ubuntu 14.04-Server

So installieren Sie Cockpit unter Ubuntu 20.04

So installieren Sie den VNC-Server unter Ubuntu 20.04

So installieren Sie den HTTrack-Server unter Ubuntu 20.04

So installieren Sie Snappass auf Ubuntu

So installieren Sie Virtualmin unter Ubuntu 20.04

So installieren Sie TeamSpeak Server auf Ubuntu 20.04