Installazione software · 11 min read · Oct 11, 2025
Come installare il server Calibre Ebook su Ubuntu 22.04

Calibre è un gestore di e-book gratuito e open-source. Funziona come un’applicazione desktop multipiattaforma insieme a un componente server. Il componente desktop può gestire la tua libreria di ebook su un singolo dispositivo. E il componente server ti consente di:
- Accedere ai tuoi libri da qualsiasi parte del mondo.
- Trasferire facilmente i tuoi libri su dispositivi mobili.
- Condividere libri con amici e familiari.
- Leggere ebook direttamente sul web.
In questo tutorial, imparerai a installare il server Calibre su una macchina Ubuntu 22.04.
Prerequisiti
- Un server che esegue Ubuntu 22.04.
- Un utente non root con privilegi sudo.
- Il firewall Uncomplicated Firewall (UFW) è abilitato e in esecuzione.
- Un nome di dominio completamente qualificato puntato al server. Per il nostro tutorial, utilizzeremo il dominio
calibre.example.com. - Tutto è aggiornato.
$ sudo apt update && sudo apt upgrade
Passo 1 - Configurare il firewall
Il primo passo prima di installare qualsiasi pacchetto è configurare il firewall per consentire connessioni HTTP e HTTPS.
Controlla lo stato del firewall.
$ sudo ufw status
Dovresti vedere qualcosa di simile al seguente.
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
Consenti le porte HTTP e HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Controlla di nuovo lo stato per confermare.
$ sudo ufw status
Status: active
To Action From
-- ------ ----
OpenSSH ALLOW Anywhere
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH (v6) ALLOW Anywhere (v6)
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
Passo 2 - Scarica e installa il server Calibre
Ubuntu 22.04 include Calibre, ma è meglio installarlo direttamente per ottenere l’ultima versione.
Il primo passo è installare alcune dipendenze.
$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glx
Scarica l’installer del server Calibre.
$ wget https://download.calibre-ebook.com/linux-installer.sh
Rendi eseguibile lo script dell’installer.
$ chmod +x ./linux-installer.sh
Esegui l’installer.
$ sudo ./linux-installer.sh
Riceverai alcuni avvisi perché l’installer si aspetta un desktop e non un server. È sicuro ignorare gli avvisi.
Passo 3 - Crea una libreria Calibre e aggiungi il tuo primo libro
Il passo successivo è impostare una libreria Calibre e aggiungere alcuni libri. Per il nostro tutorial, scaricheremo il libro Le avventure di Sherlock Holmes di Arthur Conan Doyle da Project Gutenberg.
$ wget http://www.gutenberg.org/ebooks/1661.kindle.noimages -O adventuresofsherlockholmes.mobi
Prendi sempre la versione Kindle del libro dal sito. Qui, stiamo rinominando la versione Kindle in filename.mobi perché il formato Mobi è supportato nativamente in Kindle, motivo per cui è così chiamato sul sito. Offre anche migliori opzioni di formattazione rispetto alla versione Epub.
Crea una directory per la libreria Calibre.
$ mkdir calibre-library
Aggiungi il libro che hai appena scaricato alla libreria utilizzando il comando calibredb. Abbiamo specificato la posizione della libreria nel comando stesso.
$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library/
Aggiunto id libro: 1
Puoi aggiungere più libri contemporaneamente nel seguente modo.
$ calibredb add *.mobi --with-library calibre-library/
Passo 4 - Avvia il server Calibre
Ora che abbiamo i nostri libri pronti, è tempo di avviare il server Calibre.
$ calibre-server calibre-library
Il comando calibre-server prende la posizione della libreria come suo argomento. Dovresti vedere un output simile.
calibre server listening on 0.0.0.0:8080
OPDS feeds advertised via BonJour at: your_server_ip port: 8080
Questo espone il server Calibre sulla porta 8080. Per visualizzare il server, devi prima aprire la porta. Esegui il seguente comando per aprire la porta 8080.
$ sudo ufw allow 8080
Apri l’URL http:// nel tuo browser e vedrai la seguente schermata. La schermata apparirà scura o chiara a seconda della scelta del tema del tuo sistema operativo.

Clicca sul link calibre-library per visualizzare il libro che hai aggiunto nel passo precedente.

Chiudi il server premendo i tasti Ctrl + C nel tuo terminale.
Puoi utilizzare una porta diversa per esporre il server Calibre. Per farlo, usa il seguente comando. Dovrai assicurarti che la porta sia aperta nel firewall.
$ calibre-server calibre-library --port 7654
Passo 5 - Crea un file di servizio systemd
Per rendere il processo del server Calibre persistente e sopravvivere ai riavvii, devi creare un file di servizio systemd per lo stesso.
Crea un file chiamato calibre-server.service nella directory /etc/systemd/system/ e aprilo per la modifica.
$ sudo nano /etc/systemd/system/calibre-server.service
Incolla il seguente codice in esso.
[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
Il flag --enable-local-write dà al server accesso in scrittura per aggiungere nuovi libri alla libreria. Questo perché non puoi aggiungere libri utilizzando il comando calibredb mentre il server è in esecuzione.
Sostituisci con il tuo nome utente del sistema Linux nel codice sopra. Salva e chiudi il file premendo Ctrl+W e inserendo Y quando richiesto.
Ricarica il demone del servizio per attivare il file di servizio.
$ sudo systemctl daemon-reload
Abilita e avvia il servizio Calibre.
$ sudo systemctl enable calibre-server
$ sudo systemctl start calibre-server
Controlla lo stato del servizio.
$ 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
Passo 6 - Abilita l’autenticazione utente
Puoi aggiungere l’autenticazione utente a Calibre per proteggere la tua libreria dall’essere disponibile a chiunque. Prima, ferma il server Calibre.
$ sudo systemctl stop calibre-server
Calibre utilizza un database SQLite per memorizzare le credenziali degli utenti. Avvia lo script di gestione utenti di Calibre per aggiungere un utente.
$ sudo calibre-server --manage-users
Ti verranno date quattro opzioni e ti verrà chiesto di fare la tua scelta. Premi 1 per aggiungere un nuovo utente e fornisci il nome utente e la password per completare l’aggiunta di un nuovo utente.
1) Aggiungi un nuovo utente
2) Modifica un utente esistente
3) Rimuovi un utente
4) Annulla
Cosa vuoi fare? [1-4]: (Premi 1)
Inserisci il nome utente: howtoforge
Inserisci la nuova password per howtoforge:
Reinserisci la nuova password per howtoforge, per verificare:
Utente howtoforge aggiunto con successo!
Successivamente, devi modificare il file di servizio per controllare l’autenticazione. Apri il file per la modifica.
$ sudo nano /etc/systemd/system/calibre-server.service
Aggiungi il flag --enable-auth alla fine della riga che inizia con ExecStart per abilitare l’autenticazione utente.
...
ExecStart=/opt/calibre/calibre-server "/home//calibre-library" --userdb "/home//.config/calibre/server-users.sqlite" --enable-local-write --enable-auth
...
Salva e chiudi il file premendo Ctrl+W e inserendo Y quando richiesto.
Ricarica il demone del servizio e avvia il servizio.
$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-server
Se apri l’URL della libreria, ti verrà chiesto il nome utente e la password prima di consentirti di accedervi. Inserisci le tue credenziali e premi il pulsante Accedi per accedere alla libreria.

Passo 7 - Aggiungi automaticamente libri alla libreria
Calibre ti consente di aggiungere libri automaticamente alla libreria utilizzando un lavoro Cron. Lo fa monitorando una directory a intervalli regolari per nuovi libri e poi aggiungendoli alla libreria. Questo è il modo più veloce per aggiungere libri, dove puoi semplicemente caricarli nella directory e appariranno presto nella libreria senza alcun intervento manuale.
Il primo passo è creare una directory di monitoraggio.
$ mkdir ~/calibre-watch
$ cd ~/calibre-watch
Scarica il libro Guerra e Pace di Leo Tolstoy in questa directory da Project Gutenberg.
$ wget https://www.gutenberg.org/ebooks/2600.kindle.images -O warandpeace.mobi
Se noti, questa volta stiamo scaricando una versione che ha immagini. Varia da libro a libro su Project Gutenberg. Alcuni hanno versioni con immagini disponibili mentre altri no. Calibre funziona bene con entrambi i formati.
Apri l’editor Crontab.
$ crontab -e
Se è la prima volta che utilizzi il Crontab, ti verrà chiesto di scegliere un editor.
no crontab for - using an empty one
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- più facile
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Scegli 1-4 [1]:
Inserisci 1 per scegliere l’editor Nano poiché è il più facile da usare.
Aggiungi il seguente comando in fondo al file.
*/5 * * * * calibredb add /home//calibre-watch/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home//calibre-watch/*
Questo script aggiungerà tutti i file nella directory /home/ alla libreria Calibre e eliminerà tutti i file originali poiché non sono più necessari. Il lavoro sopra verrà eseguito ogni 5 minuti. Sostituisci con il tuo nome utente del sistema Linux e aggiungi le tue credenziali Calibre nei posti appropriati.
Salva e chiudi il file premendo Ctrl+W e inserendo Y quando richiesto. Aspetta qualche minuto e ricarica il sito del server Calibre per vedere il libro che hai appena aggiunto apparire nella libreria.
Passo 8 - Installa Nginx
Ubuntu 22.04 include una versione più vecchia di Nginx. Per installare l’ultima versione, devi scaricare il repository ufficiale di Nginx.
Importa la chiave di firma di Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Aggiungi il repository per la versione stabile di Nginx.
$ 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
Aggiorna i repository di sistema.
$ sudo apt update
Installa Nginx.
$ sudo apt install nginx
Verifica l’installazione.
$ nginx -v
nginx version: nginx/1.22.0
Passo 9 - Installa SSL
In questo momento, Calibre è esposto su una porta HTTP tramite un indirizzo IP. Per meglio proteggerlo, abiliteremo l’accesso tramite un dominio dedicato utilizzando un certificato SSL.
Dobbiamo installare Certbot per generare il certificato SSL per Calibre. Puoi installare Certbot utilizzando il repository di Ubuntu o scaricare l’ultima versione utilizzando lo strumento Snapd. Utilizzeremo la versione Snapd.
Ubuntu 22.04 viene fornito con Snapd installato per impostazione predefinita. Esegui i seguenti comandi per assicurarti che la tua versione di Snapd sia aggiornata.
$ sudo snap install core
Installa Certbot.
$ sudo snap install --classic certbot
Usa il seguente comando per assicurarti che il comando Certbot possa essere eseguito creando un collegamento simbolico alla directory /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Esegui il seguente comando per generare un certificato SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d calibre.example.com
Il comando sopra scaricherà un certificato nella directory /etc/letsencrypt/live/calibre.example.com sul tuo server.
Genera un certificato di gruppo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Apri il file /etc/letsencrypt/renewal/calibre.example.com.conf per la modifica.
$ sudo nano /etc/letsencrypt/renewal/calibre.example.com.conf
Incolla il seguente codice in fondo.
pre_hook = systemctl stop nginx
post_hook = systemctl start nginx
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Abbiamo generato il certificato SSL utilizzando l’opzione standalone di Certbot. Esegue il proprio server web per creare il certificato, il che significa che Nginx dovrebbe essere spento durante il rinnovo. I comandi pre_hook e post_hook vengono eseguiti prima e dopo il rinnovo per spegnere e riavviare automaticamente il server Nginx, richiedendo quindi nessun intervento manuale.
Per controllare se il rinnovo SSL funziona correttamente, esegui un tentativo di rinnovo.
$ sudo certbot renew --dry-run
Se non vedi errori, sei a posto. Il tuo certificato si rinnoverà automaticamente.
Passo 10 - Configura Nginx
Apri il file /etc/nginx/nginx.conf per la modifica.
$ sudo nano /etc/nginx/nginx.conf
Aggiungi la seguente riga prima della riga include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Crea e apri il file /etc/nginx/conf.d/calibre.conf per la modifica.
$ sudo nano /etc/nginx/conf.d/calibre.conf
Incolla il seguente codice in esso. Sostituisci calibre.example.com con il tuo nome di dominio. Abbiamo impostato il valore della variabile client_max_body_size a 50MB. Puoi cambiarlo in base alle tue esigenze.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
http2_push_preload on; # Abilita HTTP/2 Server Push
# Abilita 0-RTT di TLSv1.3. Usa $ssl_early_data quando si fa reverse proxy per
# prevenire attacchi di replay.
#
# @see: 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;
}
}
# forzare HTTPS
server {
listen 80;
listen [::]:80;
server_name calibre.example.com;
return 301 https://$host$request_uri;
}
Salva il file premendo Ctrl + X e inserendo Y quando richiesto.
Verifica la tua configurazione Nginx.
$ sudo nginx -t
Riavvia il server Nginx per abilitare i file di configurazione.
$ sudo systemctl restart nginx
Visita https://calibre.example.com nel tuo browser per accedere a Calibre. Puoi vedere che il libro aggiunto tramite Cron è anche disponibile nella libreria.

Conclusione
Questo conclude il nostro tutorial su come installare il server Calibre su una macchina Ubuntu 22.04 utilizzando Nginx. Abbiamo anche configurato Calibre per abilitare l’autenticazione di base e per aggiungere supporto per l’aggiunta automatica di nuovi libri. Il server Calibre include molti strumenti da riga di comando. Per saperne di più su di essi, puoi visitare la Documentazione di Calibre. Se hai domande, postale nei commenti qui sotto.
Ricevi i nuovi post nella tua casella di posta.
Nessuno spam. Disiscriviti in qualsiasi momento.