Aller au contenu

Installation de Calibre Server

logo calibre

Pour installer Calibre et Calibre server sur un Raspberry, il faut utiliser les dépôts. Ils ne sont pas à jour mais sur le site de Calibre, il n’y a pas de ressources pour processeur ARM. Pour les autres machines, l’auteur indique la méthode sur son site.

Installer calibre

Vérifier les mises à jour puis installer calibre par les dépôts.

sudo apt update
sudo apt upgrade
sudo apt install calibre

Installer un service au démarrage

Il faut seulement créer un fichier /etc/systemd/system/calibre-server.service avec le contenu affiché ci-dessous :

[Unit]
Description=serveur calibre
After=network.target

[Service]
Type=simple
User=root
Group=root
ExecStart=/usr/bin/calibre-server \
	--userdb /srv/calibre/users.sqlite \
	--enable-auth \
	--port 8080 \
	--url-prefix /calibre \
	--ssl-certfile /etc/letsencrypt/live/domaine.tld/fullchain.pem \
	--ssl-keyfile /etc/letsencrypt/live/domaine.tld/privkey.pem \
	--access-log /var/log/calibre/acces-log \
	--log /var/log/calibre/log \
	"/media/datas/Bibliotheque" "/media/datas/BibliothequeBD" "/media/datas/Biblio2"


[Install]
WantedBy=multi-user.target

Il faut créer un certificat de sécurité avec Let’s Encrypt pour votre nom de domaine « domaine.tld ».

Démarrer le service

Maintenant pour démarrer le service, exécutez :

sudo systemctl start calibre-server 

Pour vérifiez son statut :

sudo systemctl status calibre-server

Et pour le faire démarrer au démarage, exécutez :

sudo systemctl enable calibre-server 

Calibre server sera disponible à l’adresse https://domaine.tld:8080

Utilisation d’un sous domaine ( vhost pour apache )

Il faut créer et éditer le fichier /etc/apache2/sites-available/calibre.conf

Je mets directement le vhost du port 80 ( http ) et celui du port https ( 443 ) dans le même fichier. Avec une redirection du http en https.

Il faudra créer un autre certificats de sécurité Let’s encrypt pour le sous domaine « calibre.domaine.tld ».

<VirtualHost *:80>
	ServerName calibre.domaine.tld
	ServerAlias *calibre.domaine.tld

	ServerAdmin webmaster@localhost
#	DocumentRoot /var/www/html

	ErrorLog ${APACHE_LOG_DIR}/calibre_error.log
	CustomLog ${APACHE_LOG_DIR}/calibre_access.log combined

RewriteEngine on
RewriteCond %{SERVER_NAME} =calibre.domaine.tld [OR]
RewriteCond %{SERVER_NAME} =www.calibre.domaine.tld
RewriteRule ^ https://%{SERVER_NAME}%{REQUEST_URI} [END,NE,R=permanent]
</VirtualHost>

<IfModule mod_ssl.c>
<VirtualHost *:443>
	ServerName calibre.domaine.tld
	ServerAlias *.calibre.domaine.tld
	ServerAdmin webmaster@localhost
	
	DocumentRoot /var/www/html/calibre

	ErrorLog ${APACHE_LOG_DIR}/calibre_error.log
	CustomLog ${APACHE_LOG_DIR}/calibre_access.log combined

Include /etc/letsencrypt/options-ssl-apache.conf
SSLCertificateFile /etc/letsencrypt/live/calibre.domaine.tld/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/calibre.domaine.tld/privkey.pem


RewriteEngine on
RewriteRule ^ https://domaine.tld:8080/ [R,L]

</VirtualHost>
</IfModule>

Ensuite il faut activer le site :

sudo a2ensite calibre.conf

Un lien symbolique est alors créé vers le fichier /etc/apache2/sites-available/calibre.conf dans le dossier /etc/apache2/sites-enabled

Pour désactiver le site, il suffira de taper :

sudo a2dissite calibre.conf

Ensuite on recharge apache :

sudo service apache2 reload

Création de la base utilisateurs

Pour gérer les comptes utilisateur , il faut utiliser l’option --manage-users sur le programme calibre-server . Avec la base de données utilisateur dans le répertoire /srv/calibre, alors créez-le en exécutant

calibre-server --userdb /srv/calibre/users.sqlite --manage-users