Biblioteca Calibre en Raspberry con OPDS
Como no tengo muchos libros almacenados (Para bibliotecas mayores recomiendo usar mi “Manual para aumentar el rendimiento de la Raspberry mediante arranque mixto SD y HD (o USB)” que podéis encontrar en viewtopic.php?f=6&t=6360&p=53542#p53542) decidí dejarlo en la tarjeta SD.
Los programas para “Android” e “iPhone/iPad” que soportan OPDS son: Aldiko, AlReader, Book Bazaar Reader, BookMaster CE, BookMaster SE, Bookviser, Coffee Reader, Document Viewer, eBook Search, eBook Search Pro, EPUBReader, FBReader, iBouquiniste, IDEAL Group Reader, KOReader, Mantano Reader, Marvin, MegaReader, Moon+ Reader Pro, QuickReader y Stanza. En los demás programas se pueden descargar los libros desde la página web del servidor.
Prácticamente todos los eBooks con wifi aceptan el formato OPDS, aunque también podemos acceder y descargar desde la web.
Desde Windows, Linux o MacOS podemos leerlos directamente desde un navegador.
Para añadir como catalogo nuestro servidor OPDS desde nuestra red interna a los programas de Android, iPhone/iPad o eBooks:
http://ip_servidor/feed.php
También podemos acceder desde cualquier navegador web en la dirección:
http://ip_servidor
INFORME TÉCNICO
He utilizado una PI3 con SD de 16GB, SO 2017-07-05-raspbian-jessie-lite, PHP7 y Apache2.
PARA LOS PURISTAS: Aunque he instalado casi todas las librerías de PHP7, realmente sólo se necesitaría instalar Apache2 (o Nginx) y las librerías de PHP7 siguientes: php7.0-gd php7.0-sqlite3 php7.0-json php7.0-intl php7.0-xml php7.0-mbstring php7.0-zip. Para PHP5 las librerías serían: php5-gd php5-sqlite php5-json php5-intl.


ACTUALIZAMOS EL SISTEMA
Código: Seleccionar todo
sudo apt-get update && sudo apt-get upgrade
INSTALAMOS REPOSITORIOS
Código: Seleccionar todo
sudo su
Código: Seleccionar todo
echo "deb http://mirrordirector.raspbian.org/raspbian/ stretch main contrib non-free rpi" >> /etc/apt/sources.list
Código: Seleccionar todo
echo "Package: *" >> /etc/apt/preferences
Código: Seleccionar todo
echo "Pin: release n=jessie" >> /etc/apt/preferences
Código: Seleccionar todo
echo "Pin-Priority: 600" >> /etc/apt/preferences
Código: Seleccionar todo
exit
Código: Seleccionar todo
sudo apt-get update
INSTALAMOS SERVIDOR WEB
Código: Seleccionar todo
sudo apt-get install -t stretch php7.0 php7.0-bz2 php7.0-cli php7.0-curl php7.0-gd php7.0-sqlite3 php7.0-fpm php7.0-intl php7.0-json php7.0-mbstring php7.0-mcrypt php-pear php7.0-imap php-memcache php7.0-pspell php7.0-recode php7.0-tidy php7.0-xmlrpc php7.0-xsl php7.0-mysql php7.0-opcache php7.0-xml php7.0-zip php-imagick php-redis libapache2-mod-php7.0 apache2
- Cuando te aparezca (:) dos puntos en la parte inferior izquierda deberás pulsar ENTER hasta que aparezca (q to quit) entonces pulsas "q"
- Después te aparecerán varias pantallas azules
"Restart services during package upgrades without asking?" ----> NO
"Services to restart for GNU library upgrade: ssh cron" -----------> OK
Código: Seleccionar todo
sudo apt-get autoremove
EDITAR php.ini
Código: Seleccionar todo
sudo cp /etc/php/7.0/fpm/php.ini /etc/php/7.0/fpm/php.ini.viejo
Código: Seleccionar todo
sudo nano /etc/php/7.0/fpm/php.ini
BUSCAMOS Y HABILITAMOS LOS SIGUIENTES COMPLEMENTOS
Buscamos ";extension=php_gd2.dll" mediante CRTL+W y le quitamos el (;) inicial.
Y lo modificamos;extension=php_gd2.dll
Buscamos ";extension=php_intl.dll" que estará un poco más abajo del anterior y le quitamos el (;) inicial.extension=php_gd2.dll
Y lo modificamos;extension=php_intl.dll
Buscamos ";extension=php_pdo_sqlite.dll" que también estará un poco más abajo y le quitamos el (;) inicial.extension=php_intl.dll
Y lo modificamos;extension=php_pdo_sqlite.dll
Guardamos CRTL+O y cerramos CRTL+Xextension=php_pdo_sqlite.dll
REINICIAMOS
Código: Seleccionar todo
sudo reboot
INSTALACIÓN DE COPS Y CONFIGURACIÓN
Código: Seleccionar todo
sudo apt-get install git
Código: Seleccionar todo
git clone https://github.com/seblucas/cops.git
Código: Seleccionar todo
cd cops
Código: Seleccionar todo
wget https://getcomposer.org/composer.phar
Código: Seleccionar todo
php composer.phar global require "fxp/composer-asset-plugin:~1.1"
Código: Seleccionar todo
php composer.phar install --no-dev --optimize-autoloader
Código: Seleccionar todo
cd ..
Código: Seleccionar todo
sudo cp -R /var/www/html /var/www/htmlviejo
Código: Seleccionar todo
sudo rm -R /var/www/html
Código: Seleccionar todo
sudo mv cops /var/www/html
Código: Seleccionar todo
sudo chmod 777 -R /var/www/html
LE DECIMOS AL SERVIDOR DONDE SE ENCUENTRA LA BIBLIOTECA
Código: Seleccionar todo
sudo cp /var/www/html/config_local.php.example /var/www/html/config_local.php
Código: Seleccionar todo
sudo nano /var/www/html/config_local.php
Y lo modificamos$config['calibre_directory'] = './';
Guardamos CRTL+O y cerramos CRTL+X$config['calibre_directory'] = '/var/www/html/Calibre Library/';
CAMBIAMOS LENGUAJE QUE POR DEFECTO ESTÁ EN INGLÉS
Código: Seleccionar todo
sudo cp /var/www/html/config_default.php /var/www/html/config_default.php.viejo
Código: Seleccionar todo
sudo nano /var/www/html/config_default.php
Y lo modificamos$config['cops_language'] = '';
Guardamos CRTL+O y cerramos CRTL+X$config['cops_language'] = 'es';
También podéis cambiar otros muchos parámetros, pero eso lo dejo a vuestra elección.
REINICIAMOS
Código: Seleccionar todo
sudo reboot
:mareado TERMINADO :mareado
Ahora podremos usar nuestra Biblioteca, añadiéndola como catálogo a cualquier programa de Smartphone, Tablet o eBook que soporte OPDS o usándola directamente desde cualquier navegador.
Espero que os sea útil. Si alguien tiene alguna duda, sugerencia o comentario no dudeis en hacermelo saber.
Abrazos
