Instalación de Software · 12 min read · Oct 11, 2025
Cómo instalar el servidor de Calibre Ebook en Ubuntu 22.04

Calibre es un gestor de libros electrónicos gratuito y de código abierto. Funciona como una aplicación de escritorio multiplataforma junto con un componente de servidor. El componente de escritorio puede gestionar tu biblioteca de ebooks en un solo dispositivo. Y el componente del servidor te permite:
- Acceder a tus libros desde cualquier parte del mundo.
- Transferir fácilmente tus libros a dispositivos móviles.
- Compartir libros con tus amigos y familiares.
- Leer ebooks directamente en la web.
En este tutorial, aprenderás a instalar el servidor de Calibre en una máquina con Ubuntu 22.04.
Prerrequisitos
- Un servidor que ejecute Ubuntu 22.04.
- Un usuario no root con privilegios sudo.
- El Firewall sin complicaciones (UFW) está habilitado y en funcionamiento.
- Un nombre de dominio completamente calificado apuntado al servidor. Para nuestro tutorial, utilizaremos el dominio
calibre.example.com. - Todo está actualizado.
$ sudo apt update && sudo apt upgrade
Paso 1 - Configurar el Firewall
El primer paso antes de instalar cualquier paquete es configurar el firewall para permitir conexiones HTTP y HTTPS.
Verifica el estado del firewall.
$ sudo ufw status
Deberías ver algo como lo siguiente.
Estado: activo
Para Acción Desde
-- ------ ----
OpenSSH PERMITIR En cualquier lugar
OpenSSH (v6) PERMITIR En cualquier lugar (v6)
Permitir los puertos HTTP y HTTPS.
$ sudo ufw allow http
$ sudo ufw allow https
Verifica el estado nuevamente para confirmar.
$ sudo ufw status
Estado: activo
Para Acción Desde
-- ------ ----
OpenSSH PERMITIR En cualquier lugar
80/tcp PERMITIR En cualquier lugar
443/tcp PERMITIR En cualquier lugar
OpenSSH (v6) PERMITIR En cualquier lugar (v6)
80/tcp (v6) PERMITIR En cualquier lugar (v6)
443/tcp (v6) PERMITIR En cualquier lugar (v6)
Paso 2 - Descargar e instalar el servidor de Calibre
Ubuntu 22.04 incluye Calibre, pero es mejor instalarlo directamente para obtener la última versión.
El primer paso es instalar algunas dependencias.
$ sudo apt install libopengl0 libxkbcommon-x11-0 libegl1 libfontconfig libgl1-mesa-glx
Descarga el instalador del servidor de Calibre.
$ wget https://download.calibre-ebook.com/linux-installer.sh
Haz que el script del instalador sea ejecutable.
$ chmod +x ./linux-installer.sh
Ejecuta el instalador.
$ sudo ./linux-installer.sh
Recibirás algunas advertencias porque el instalador espera un escritorio y no un servidor. Es seguro ignorar las advertencias.
Paso 3 - Crear una biblioteca de Calibre y agregar tu primer libro
El siguiente paso es configurar una biblioteca de Calibre y agregar algunos libros a ella. Para nuestro tutorial, descargaremos el libro Las aventuras de Sherlock Holmes de Arthur Conan Doyle desde Project Gutenberg.
$ wget http://www.gutenberg.org/ebooks/1661.kindle.noimages -O adventuresofsherlockholmes.mobi
Siempre descarga la versión Kindle del libro desde el sitio. Aquí, estamos renombrando la versión Kindle a filename.mobi porque el formato Mobi es compatible de forma nativa en Kindle, razón por la cual se llama así en el sitio. También ofrece mejores opciones de formato que la versión Epub.
Crea un directorio para la biblioteca de Calibre.
$ mkdir calibre-library
Agrega el libro que acabas de descargar a la biblioteca usando el comando calibredb. Especificamos la ubicación de la biblioteca en el propio comando.
$ calibredb add adventuresofsherlockholmes.mobi --with-library calibre-library/
Agregados ids de libro: 1
Puedes agregar múltiples libros a la vez de la siguiente manera.
$ calibredb add *.mobi --with-library calibre-library/
Paso 4 - Iniciar el servidor de Calibre
Ahora que tenemos nuestros libros listos, es hora de iniciar el servidor de Calibre.
$ calibre-server calibre-library
El comando calibre-server toma la ubicación de la biblioteca como su argumento. Deberías ver una salida similar.
calibre server escuchando en 0.0.0.0:8080
Los feeds OPDS se anuncian a través de BonJour en: your_server_ip puerto: 8080
Esto expone el servidor de Calibre en el puerto 8080. Para ver el servidor, primero necesitas abrir el puerto. Ejecuta el siguiente comando para abrir el puerto 8080.
$ sudo ufw allow 8080
Abre la URL http:// en tu navegador y obtendrás la siguiente pantalla. La pantalla aparecerá en oscuro o claro dependiendo de la elección del tema de tu sistema operativo.

Haz clic en el enlace calibre-library para ver el libro que agregaste en el paso anterior.

Cierra el servidor presionando las teclas Ctrl + C en tu terminal.
Puedes usar un puerto diferente para exponer el servidor de Calibre. Para hacerlo, usa el siguiente comando. Necesitarás asegurarte de que el puerto esté abierto en el firewall.
$ calibre-server calibre-library --port 7654
Paso 5 - Crear un archivo de servicio systemd
Para hacer que el proceso del servidor de Calibre sea persistente y sobreviva a los reinicios, necesitas crear un archivo de servicio systemd para el mismo.
Crea un archivo llamado calibre-server.service en el directorio /etc/systemd/system/ y ábrelo para editar.
$ sudo nano /etc/systemd/system/calibre-server.service
Pega el siguiente código en él.
[Unit]
Description=Servidor Calibre
After=network.target
[Service]
Type=simple
User=
Group=
ExecStart=/opt/calibre/calibre-server /home//calibre-library --enable-local-write
[Install]
WantedBy=multi-user.target
La bandera --enable-local-write le da al servidor acceso de escritura para agregar nuevos libros a la biblioteca. Esto se debe a que no puedes agregar libros usando el comando calibredb mientras el servidor está en funcionamiento.
Reemplaza con tu nombre de usuario del sistema Linux en el código anterior. Guarda y cierra el archivo presionando Ctrl+W y entrando Y cuando se te pida.
Recarga el demonio del servicio para activar el archivo de servicio.
$ sudo systemctl daemon-reload
Habilita e inicia el servicio de Calibre.
$ sudo systemctl enable calibre-server
$ sudo systemctl start calibre-server
Verifica el estado del servicio.
$ sudo systemctl status calibre-server
? calibre-server.service - Servidor Calibre
Cargado: cargado (/etc/systemd/system/calibre-server.service; habilitado; preset del proveedor: habilitado)
Activo: activo (en ejecución) desde Lun 2022-07-25 07:23:42 UTC; hace 15s
PID principal: 1877 (BonJour)
Tareas: 13 (límite: 2241)
Memoria: 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]: Iniciado el servidor de Calibre.
Jul 25 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR no establecido, predeterminado a '/tmp/runtime-'
Jul 25 07:23:42 calibre calibre-server[1877]: servidor calibre escuchando en 0.0.0.0:8080
Jul 25 07:23:43 calibre calibre-server[1877]: feeds OPDS anunciados a través de BonJour en: 69.28.84.201 puerto: 8080
Paso 6 - Habilitar la autenticación de usuario
Puedes agregar autenticación de usuario a Calibre para proteger tu biblioteca de estar disponible para cualquiera. Primero, detén el servidor de Calibre.
$ sudo systemctl stop calibre-server
Calibre utiliza una base de datos SQLite para almacenar las credenciales de usuario. Inicia el script de gestión de usuarios de Calibre para agregar un usuario.
$ sudo calibre-server --manage-users
Se te darán cuatro opciones y se te pedirá tu elección. Presiona 1 para agregar un nuevo usuario y proporciona el nombre de usuario y la contraseña para terminar de agregar un nuevo usuario.
1) Agregar un nuevo usuario
2) Editar un usuario existente
3) Eliminar un usuario
4) Cancelar
¿Qué quieres hacer? [1-4]: (Presiona 1)
Ingresa el nombre de usuario: howtoforge
Ingresa la nueva contraseña para howtoforge:
Vuelve a ingresar la nueva contraseña para howtoforge, para verificar:
¡Usuario howtoforge agregado con éxito!
A continuación, necesitas editar el archivo de servicio para verificar la autenticación. Abre el archivo para editar.
$ sudo nano /etc/systemd/system/calibre-server.service
Agrega la bandera --enable-auth al final de la línea que comienza con ExecStart para habilitar la autenticación de usuario.
...
ExecStart=/opt/calibre/calibre-server "/home//calibre-library" --userdb "/home//.config/calibre/server-users.sqlite" --enable-local-write --enable-auth
...
Guarda y cierra el archivo presionando Ctrl+W y entrando Y cuando se te pida.
Recarga el demonio del servicio e inicia el servicio.
$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-server
Si abres la URL de la biblioteca, se te pedirá tu nombre de usuario y contraseña antes de permitirte acceder. Ingresa tus credenciales y presiona el botón Iniciar sesión para acceder a la biblioteca.

Paso 7 - Agregar libros automáticamente a la biblioteca
Calibre te permite agregar libros automáticamente a la biblioteca utilizando un trabajo Cron. Lo hace observando un directorio a intervalos regulares en busca de nuevos libros y luego agregándolos a la biblioteca. Esta es la forma más rápida de agregar libros donde solo puedes subirlos al directorio y aparecerán pronto en la biblioteca sin ninguna intervención manual.
El primer paso es crear un directorio de vigilancia.
$ mkdir ~/calibre-watch
$ cd ~/calibre-watch
Descarga el libro Guerra y Paz de León Tolstói a este directorio desde Project Gutenberg.
$ wget https://www.gutenberg.org/ebooks/2600.kindle.images -O warandpeace.mobi
Si notas, esta vez estamos descargando una versión que tiene imágenes. Varía de libro a libro en Project Gutenberg. Algunos tienen versiones con imágenes disponibles mientras que otros no. Calibre funciona bien con cualquiera de los formatos.
Abre el editor de Crontab.
$ crontab -e
Si esta es la primera vez que usas el Crontab, se te pedirá que elijas un editor.
no crontab para - usando uno vacío
Selecciona un editor. Para cambiar más tarde, ejecuta 'select-editor'.
1. /bin/nano <---- el más fácil
2. /usr/bin/vim.basic
3. /usr/bin/vim.tiny
4. /bin/ed
Elige 1-4 [1]:
Ingresa 1 para elegir el editor Nano, ya que es el más fácil de operar.
Agrega el siguiente comando al final del archivo.
*/5 * * * * calibredb add /home//calibre-watch/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home//calibre-watch/*
Este script agregará todos los archivos en el directorio /home/ a la biblioteca de calibre y eliminará todos los archivos originales ya que ya no son necesarios. El trabajo anterior se ejecutará cada 5 minutos. Reemplaza con tu nombre de usuario del sistema Linux y agrega tus credenciales de Calibre en los lugares apropiados.
Guarda y cierra el archivo presionando Ctrl+W y entrando Y cuando se te pida. Espera unos minutos y recarga el sitio del servidor de calibre para ver el libro que acabas de agregar aparecer en la biblioteca.
Paso 8 - Instalar Nginx
Ubuntu 22.04 incluye una versión más antigua de Nginx. Para instalar la última versión, necesitas descargar el repositorio oficial de Nginx.
Importa la clave de firma de Nginx.
$ curl https://nginx.org/keys/nginx_signing.key | gpg --dearmor \
| sudo tee /usr/share/keyrings/nginx-archive-keyring.gpg >/dev/null
Agrega el repositorio para la versión estable de 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
Actualiza los repositorios del sistema.
$ sudo apt update
Instala Nginx.
$ sudo apt install nginx
Verifica la instalación.
$ nginx -v
nginx version: nginx/1.22.0
Paso 9 - Instalar SSL
En este momento, Calibre está expuesto en un puerto HTTP a través de una dirección IP. Para asegurar mejor, habilitaremos el acceso a través de un dominio dedicado utilizando un certificado SSL.
Necesitamos instalar Certbot para generar el certificado SSL para Calibre. Puedes instalar Certbot utilizando el repositorio de Ubuntu o obtener la última versión utilizando la herramienta Snapd. Usaremos la versión de Snapd.
Ubuntu 22.04 viene con Snapd instalado por defecto. Ejecuta los siguientes comandos para asegurarte de que tu versión de Snapd esté actualizada.
$ sudo snap install core
Instala Certbot.
$ sudo snap install --classic certbot
Usa el siguiente comando para asegurarte de que el comando Certbot pueda ejecutarse creando un enlace simbólico al directorio /usr/bin.
$ sudo ln -s /snap/bin/certbot /usr/bin/certbot
Ejecuta el siguiente comando para generar un certificado SSL.
$ sudo certbot certonly --standalone --agree-tos --no-eff-email --staple-ocsp --preferred-challenges http -m [email protected] -d calibre.example.com
El comando anterior descargará un certificado en el directorio /etc/letsencrypt/live/calibre.example.com en tu servidor.
Genera un certificado de grupo Diffie-Hellman.
$ sudo openssl dhparam -dsaparam -out /etc/ssl/certs/dhparam.pem 4096
Abre el archivo /etc/letsencrypt/renewal/calibre.example.com.conf para editar.
$ sudo nano /etc/letsencrypt/renewal/calibre.example.com.conf
Pega el siguiente código al final.
pre_hook = systemctl stop nginx
post_hook = systemctl start nginx
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Hemos generado el certificado SSL utilizando la opción independiente de Certbot. Ejecuta su servidor web para crear el certificado, lo que significa que Nginx debe estar apagado durante la renovación. Los comandos pre_hook y post_hook se ejecutan antes y después de la renovación para apagar y reiniciar automáticamente el servidor Nginx, por lo que no se requiere intervención manual.
Para verificar si la renovación de SSL está funcionando bien, haz una prueba en seco del proceso.
$ sudo certbot renew --dry-run
Si no ves errores, estás listo. Tu certificado se renovará automáticamente.
Paso 10 - Configurar Nginx
Abre el archivo /etc/nginx/nginx.conf para editar.
$ sudo nano /etc/nginx/nginx.conf
Agrega la siguiente línea antes de la línea include /etc/nginx/conf.d/*.conf;.
server_names_hash_bucket_size 64;
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Crea y abre el archivo /etc/nginx/conf.d/calibre.conf para editar.
$ sudo nano /etc/nginx/conf.d/calibre.conf
Pega el siguiente código en él. Reemplaza calibre.example.com con tu nombre de dominio. Hemos establecido el valor de la variable client_max_body_size en 50MB. Puedes cambiarlo según tus requisitos.
server {
listen 443 ssl http2;
listen [::]:443 ssl http2;
http2_push_preload on; # Habilitar HTTP/2 Server Push
# Habilitar 0-RTT de TLSv1.3. Usa $ssl_early_data al hacer proxy inverso para
# prevenir ataques de repetición.
#
# @ver: 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;
}
}
# forzar HTTPS
server {
listen 80;
listen [::]:80;
server_name calibre.example.com;
return 301 https://$host$request_uri;
}
Guarda el archivo presionando Ctrl + X y entrando Y cuando se te pida.
Verifica tu configuración de Nginx.
$ sudo nginx -t
Reinicia el servidor Nginx para habilitar los archivos de configuración.
$ sudo systemctl restart nginx
Visita https://calibre.example.com en tu navegador para acceder a Calibre. Puedes ver que el libro agregado a través de Cron también está disponible en la biblioteca.

Conclusión
Esto concluye nuestro tutorial sobre la instalación del servidor de Calibre en una máquina con Ubuntu 22.04 utilizando Nginx. También configuramos Calibre para habilitar la autenticación básica y agregar soporte para agregar nuevos libros automáticamente. El servidor de Calibre incluye muchas herramientas de línea de comandos. Para aprender más sobre ellas, puedes visitar la Documentación de Calibre. Si tienes alguna pregunta, publícalas en los comentarios a continuación.
Recibe nuevas publicaciones en tu bandeja de entrada.
No spam. Cancela la suscripción en cualquier momento.