add new blog post
This commit is contained in:
parent
c12d8c4168
commit
cc96c1166e
1 changed files with 165 additions and 0 deletions
165
content/blog/kavita-tu-biblioteca-digital-en-linea.md
Normal file
165
content/blog/kavita-tu-biblioteca-digital-en-linea.md
Normal file
|
@ -0,0 +1,165 @@
|
|||
+++
|
||||
date = '2025-04-15T20:39:47-04:00'
|
||||
draft = false
|
||||
title = 'Kavita: tu biblioteca digital en línea'
|
||||
description = 'Construye una biblioteca virtual con Kavita para organizar y leer tus libros de manera remota'
|
||||
categories = ['Linux', 'Software']
|
||||
tags = ['Linux', 'Software', 'Kavita', 'Lector', 'Libros', 'Manga', 'Comics', 'Servidor', 'Kindle', 'Kobo']
|
||||
+++
|
||||
|
||||
Con frecuencia dependemos más de nuestros dispositivos electrónicos para consumir contenido, y hoy en día es común armar una colección de libros digitales; sin embargo, puede resultar tedioso tener que estar transfiriendo estos archivos entre distintos equipos e instalar un programa que nos permita abrirlos en cada uno; con un lector web es posible hacerlos disponible desde la red y así evitar esa clase de inconvenientes.
|
||||
|
||||
<!--more-->
|
||||
|
||||
En mi caso, he elegido [Kavita](https://kavitareader.com), aunque existen otras opciones tales como [Calibre Web](https://github.com/janeczku/calibre-web?tab=readme-ov-file) o [Komga](https://komga.org); mi decisión se debe a que lo considero el más sencillo de instalar y configurar, y porque tiene amplias funciones; aunque el lector web te permite leer tus libros con un navegador de internet, en muchos casos también podrás conectarte mediante otros clientes: desde programas hasta tabletas y similares.
|
||||
|
||||
### Instalando Kavita en tu servidor
|
||||
|
||||
Por suerte, instalar Kavita resulta bastante fácil: en Linux, se trata de descargar el ejecutable que se encuentra en [la página de Github del proyecto](https://github.com/Kareadita/Kavita/releases/latest); asegúrate de seleccionar el archivo que sea compatible con la arquitectura de tu servidor en cuestión. Para este ejemplo, asumiré que se trata de Linux amd64; en ese caso, decimos:
|
||||
|
||||
```bash
|
||||
wget https://github.com/Kareadita/Kavita/releases/download/v0.8.6/kavita-linux-x64.tar.gz
|
||||
```
|
||||
|
||||
### Extrae el ejecutable
|
||||
|
||||
Lo siguiente es extraerlo para que podamos utilizarlo; a mí me gusta el comando `unzip`, aunque una forma más universal sería mediante `tar`:
|
||||
|
||||
```bash
|
||||
tar -xzf kavita-linux-x64.tar.gz
|
||||
```
|
||||
|
||||
### Crea un usuario y grupo para manejar Kavita
|
||||
|
||||
Debemos crear un usuario de sistema para que se encargue de administrar el servicio de Kavita:
|
||||
|
||||
```bash
|
||||
sudo useradd --system -s /usr/bin/nologin kavita
|
||||
```
|
||||
|
||||
Y luego un grupo al que agregaremos a dicho usuario:
|
||||
|
||||
```bash
|
||||
sudo groupadd kavita
|
||||
sudo usermod -aG kavita kavita
|
||||
```
|
||||
|
||||
### Configura su directorio y otorga los permisos necesarios
|
||||
|
||||
Necesitamos definir el directorio en que alojaremos los archivos del servicio de Kavita; podemos hacerlo de la siguiente manera:
|
||||
|
||||
```bash
|
||||
sudo move Kavita /opt/Kavita
|
||||
```
|
||||
|
||||
Luego, tenemos que otorgarle los permisos necesarios:
|
||||
|
||||
```bash
|
||||
sudo chmod -R 755 /opt/Kavita
|
||||
sudo chown -R kavita:kavita /opt/Kavita
|
||||
```
|
||||
|
||||
### Escribe una unidad de systemd para administrar el servicio
|
||||
|
||||
Por último, nos queda hacer una unidad de systemd que nos permita habilitar y correr el servicio que ejecutará a Kavita; para este ejemplo, podemos utilizar el modelo que sugiere [la wiki](https://wiki.kavitareader.com/installation/native).
|
||||
|
||||
Podemos crearla con cualquier editor de texto, aunque en este ejemplo usaré `vim`. Sería entonces:
|
||||
|
||||
```bash
|
||||
sudo vim /etc/systemd/system/kavita.service
|
||||
```
|
||||
|
||||
Dentro, colocaremos:
|
||||
|
||||
```SYSTEMD
|
||||
[Unit]
|
||||
Description=Kavita Server
|
||||
After=network.target
|
||||
|
||||
[Service]
|
||||
User=kavita
|
||||
Group=kavita
|
||||
Type=simple
|
||||
WorkingDirectory=/opt/Kavita
|
||||
ExecStart=/opt/Kavita/Kavita
|
||||
TimeoutStopSec=20
|
||||
KillMode=process
|
||||
Restart=on-failure
|
||||
|
||||
[Install]
|
||||
WantedBy=multi-user.target
|
||||
```
|
||||
|
||||
Y luego pasamos a habilitarlo y ejecutarlo con:
|
||||
|
||||
```bash
|
||||
sudo systemctl enable --now kavita
|
||||
```
|
||||
|
||||
Eso es todo; ahora puedes visitar la interfaz web yendo a http://ip.de.tu.servidor:5000.
|
||||
|
||||
### Configura el servidor web
|
||||
|
||||
Yo siempre instalo `apache2`, aunque puedes utilizar otro servidor web si lo deseas como `nginx` o `lighttpd`. Para `apache2` ejecutamos:
|
||||
|
||||
```bash
|
||||
sudo apt update && sudo apt upgrade
|
||||
sudo apt install apache2 certbot
|
||||
```
|
||||
|
||||
Debes crear un archivo de configuración del sitio en `/etc/apache2/sites-available/kavita.conf`, y en éste utilizaremos un proxy inverso:
|
||||
|
||||
```ApacheConf
|
||||
<VirtualHost *:80>
|
||||
ServerName lector.tupagina.com
|
||||
Redirect permanent / https://lector.tupagina.com
|
||||
</VirtualHost>
|
||||
<VirtualHost *:443>
|
||||
ServerName lector.tupagina.com
|
||||
ErrorLog ${APACHE_LOG_DIR}/error.log
|
||||
CustomLog ${APACHE_LOG_DIR}/access.log combined
|
||||
|
||||
SSLEngine on
|
||||
SSLProxyEngine on
|
||||
SSLProxyVerify none
|
||||
SSLProxyCheckPeerCN off
|
||||
SSLProxyCheckPeerName off
|
||||
SSLProxyCheckPeerExpire off
|
||||
SSLCertificateFile /etc/letsencrypt/live/lector.tupagina.com/fullchain.pem
|
||||
SSLCertificateKeyFile /etc/letsencrypt/live/lector.tupagina.com/privkey.pem
|
||||
Include /etc/letsencrypt/options-ssl-apache.conf
|
||||
|
||||
ProxyPreserveHost On
|
||||
ProxyRequests Off
|
||||
ProxyPass / http://127.0.0.1:5000/
|
||||
ProxyPassReverse / http://127.0.0.1:5000/
|
||||
RewriteCond %{HTTP:UPGRADE} ^.*WebSocket.*$ [NC]
|
||||
RewriteCond %{HTTP:CONNECTION} ^.*Upgrade.*$ [NC]
|
||||
RewriteRule .* ws://127.0.0.1:5000%{REQUEST_URI} [P]
|
||||
|
||||
</VirtualHost>
|
||||
```
|
||||
|
||||
Recuerda habilitar los módulos necesarios para `apache2`; en el caso de Debian, decimos:
|
||||
|
||||
```bash
|
||||
sudo a2enmod proxy && sudo a2enmod proxy_http
|
||||
```
|
||||
|
||||
Ahora nos toca habilitar el sitio con la configuración anterior:
|
||||
|
||||
```bash
|
||||
sudo a2ensite kavita
|
||||
```
|
||||
|
||||
Y por último, solicitar el certificado SSL con `certbot`:
|
||||
|
||||
```bash
|
||||
sudo certbot certonly --apache -d lector.tupagina.com
|
||||
```
|
||||
|
||||
### Conclusión: Tu biblioteca digital, disponible en línea
|
||||
|
||||
Con Kavita es mucho más fácil tener acceso a nuestros libros desde la web, y además se encarga de seguir el progreso leído y sincronizarlo entre diferentes dispositivos; incluso, puedes usarlo con un Kindle o Kobo si necesitas algo más portátil que puedas transportar a mano.
|
||||
|
||||
Dicho esto, no es una solución perfecta y tendrás que editar parte de la metadata de manera manual; por suerte la interfaz web es fácil e intuitiva, así que no será mucho problema. Cabe destacar que puedes conseguir beneficios extra con una suscripción a [Kavita+](https://wiki.kavitareader.com/kavita+), incluyendo algunas facilidades adicionales para obtener metadata, entre otras cosas. He quedado bastante impresionado con este proyecto y me parece excelente; si te ha gustado, considera brindarle apoyo mediante el servicio antes mencionado.
|
Loading…
Add table
Add a link
Reference in a new issue