Server obsahu calibre

Server obsahu calibre vám umožňuje pristupovať k vašim knižniciam calibre a čítať knihy priamo v prehliadači na svojom obľúbenom mobilnom telefóne alebo tablete. Vďaka tomu nemusíte do telefónu inštalovať žiadne špecializované aplikácie na čítanie či správu kníh. Stačí použiť prehliadač. Server stiahne a uloží knihu, ktorú čítate, do offline vyrovnávacej pamäte, takže ju môžete čítať aj vtedy, keď nemáte internetové pripojenie.

Ak chcete server spustiť, kliknite na tlačidlo Pripojiť/zdieľať a vyberte Spustiť server obsahu. Môže sa zobraziť správa od brány firewall alebo antivírusového programu vášho počítača s otázkou, či je v poriadku povoliť prístup k súboru calibre.exe. Kliknite na tlačidlo Povoliť alebo OK. Potom otvorte prehliadač (najlepšie Chrome alebo Firefox) vo svojom počítači a zadajte nasledujúcu adresu:

http://127.0.0.1:8080

Otvorí sa stránka v prehliadači, ktorá vám zobrazí vaše knižnice calibre; kliknite na ktorúkoľvek z nich a prehliadajte knihy v nej. Kliknutím na knihu sa zobrazia všetky metadáta o knihe spolu s tlačidlami Čítať a Stiahnuť. Ak chcete začať čítať knihu, kliknite na tlačidlo Čítať.

Poznámka

Vyššie uvedená adresa http://127.0.0.1:8080 bude fungovať iba na počítači, na ktorom beží calibre. Ak chcete pristupovať k serveru z iných počítačov, telefónov, tabletov atď., budete musieť vykonať trochu viac práce, ako je opísané v ďalšej sekcii.

Prístup k serveru obsahu z iných zariadení

Zvyčajne budete potrebovať dva typy vzdialeného prístupu k zariadeniam. Prvý, jednoduchší typ, je z vašej domácej siete. Ak prevádzkujete calibre na počítači vo svojej domácej sieti a svoje ďalšie zariadenia ste pripojili k tej istej domácej sieti, mali by ste mať k serveru na týchto zariadeniach jednoduchý prístup.

Prístup k serveru zo zariadení vo vašej domácej sieti

Po spustení servera v calibre podľa vyššie uvedeného postupu znova kliknite na tlačidlo Pripojiť/zdieľať. Namiesto akcie Spustiť server obsahu by ste mali vidieť akciu Zastaviť server obsahu. Napravo od tejto akcie bude uvedená IP adresa a číslo portu. Vyzerajú ako množina čísel oddelených bodkami. Napríklad:

Stop Content server [192.168.1.5, port 8080]

Tieto čísla vám hovoria, akú adresu použiť na pripojenie k serveru vo vašich zariadeniach. Podľa vyššie uvedeného príkladu bude adresa:

http://192.168.1.5:8080

Prvá časť adresy je vždy http://, ďalšou časťou je IP adresa, čo sú čísla pred čiarkou, a nakoniec máme číslo portu, ktoré sa musí pridať k IP adrese s dvojbodkou (:). Ak máte šťastie, to by malo byť všetko, čo potrebujete, a uvidíte knižnice calibre vo svojom zariadení. Ak nie, čítajte ďalej.

Riešenie problémov s pripojením v domácej sieti

Ak sa nemôžete pripojiť k serveru zo svojho zariadenia, vyskúšajte nasledujúce kroky:

  1. Skontrolujte, či server beží, otvorením adresy http://127.0.0.1:8080 v prehliadači na tom istom počítači, na ktorom beží server.

  2. Skontrolujte, či váš firewall alebo antivírusový program povoľuje pripojenia k vášmu počítaču na porte 8080 a k programu calibre. Najjednoduchší spôsob, ako vylúčiť firewall alebo antivírusový program ako zdroj problémov, je dočasne ich oba vypnúť a potom skúsiť pripojenie. Ak chcete zachovať bezpečnosť počítača, mali by ste sa najprv odpojiť od internetu a až potom vypnúť firewall.

  3. Skontrolujte, či sú vaše zariadenie a počítač v tej istej sieti. To znamená, že obe by mali byť pripojené k rovnakému bezdrôtovému routeru. Najmä ani jedno z nich by nemalo používať mobilné pripojenie alebo priame WiFi pripojenie poskytované poskytovateľom internetu.

  4. Ak máte neštandardné sieťové nastavenie, môže sa stať, že IP adresa zobrazená v ponuke Pripojiť/zdieľať je nesprávna. V takom prípade si budete musieť správnu IP adresu zistiť sami. Žiaľ, vzhľadom na nekonečnú rozmanitosť možných sieťových konfigurácií vám nemôžeme poskytnúť konkrétny návod, ako na to.

  5. Ak ste nastavili používateľské meno a heslo, najprv to skúste bez nich, aby ste zistili, či nespôsobujú problémy. Niektoré e-ink zariadenia majú prehliadače, ktoré nezvládajú overovanie. Niekedy to môžete obísť tak, že používateľské meno a heslo zahrniete do URL adresy, napríklad: http://username:password@192.168.1.2:8080.

  6. Ak sa zaseknete, vždy môžete požiadať o pomoc na fórach používateľov calibre.

Prístup k serveru odkiaľkoľvek z internetu

Varovanie

Predtým, ako to urobíte, by ste mali na serveri zapnúť ochranu pomocou používateľského mena a hesla, inak bude mať k vašim knihám prístup ktokoľvek na svete. Prejdite do Nastavenia → Zdieľanie → Zdieľanie cez sieť a povoľte možnosť Vyžadovať používateľské meno a heslo pre prístup k serveru obsahu.

Hoci konkrétne podrobnosti o nastavení prístupu na internet sa líšia v závislosti od konfigurácie siete a typu počítača, ktorý používate, základná schéma je nasledovná.

  1. Zistite externú IP adresu počítača, na ktorom chcete server prevádzkovať. Môžete to urobiť návštevou stránky What is my IP address v prehliadači na tomto počítači.

  2. Ak je počítač za routerom, povoľte na routeri presmerovanie portov, aby sa port 8080 (alebo akýkoľvek port, ktorý si vyberiete na prevádzkovanie servera obsahu calibre) presmeroval na tento počítač.

  3. Uistite sa, že server calibre je povolený cez všetky firewally a antivírusové programy vo vašom počítači.

  4. Teraz by ste mali mať prístup k serveru na akomkoľvek zariadení pripojenom na internet pomocou IP adresy, ktorú ste zistili v prvom kroku. Napríklad, ak zistená IP adresa bola 123.123.123.123 a port, ktorý používate pre server calibre, je 8080, adresa, ktorú použijete vo svojom zariadení, bude: http://123.123.123.123:8080.

  5. Voliteľne môžete použiť službu ako no-ip na nastavenie ľahko zapamätateľnej adresy, ktorú použijete namiesto IP adresy zistenej v prvom kroku.

Poznámka

Pre maximálnu bezpečnosť by ste mali na serveri obsahu povoliť aj HTTPS. Môžete to urobiť buď priamo na serveri poskytnutím cesty k certifikátu HTTPS, ktorý sa má použiť, v rozšírených možnostiach konfigurácie servera, alebo môžete nastaviť reverzný proxy server, ako je opísané nižšie, a použiť existujúce nastavenie HTTPS.

Rozhranie servera

Rozhranie servera je zjednodušená verzia hlavného rozhrania calibre, optimalizovaná na používanie s dotykovými obrazovkami. Domovská obrazovka vám zobrazuje knihy, ktoré práve čítate, a tiež vám umožňuje vybrať si knižnicu calibre, ktorú chcete prehliadať. Server v calibre vám poskytuje prístup ku všetkým vašim knižniciam, nielen k jednej, ako predtým.

Zoznam kníh

Zoznam kníh na serveri je jednoduchá mriežka obálok. Ťuknutím na obálku zobrazíte podrobné metadáta knihy alebo knihu otvoríte na čítanie. Ak uprednostňujete podrobnejší zoznam, môžete predvolené zobrazenie zmeniť kliknutím na tri zvislé bodky v pravom hornom rohu.

Triedenie a vyhľadávanie v zozname kníh by malo byť používateľom calibre známe. Môžete k nim pristúpiť kliknutím na ich ikony v pravej hornej časti. Obe fungujú presne rovnako ako v hlavnom programe calibre. Stránka vyhľadávania vám dokonca umožňuje zostavovať vyhľadávacie dopyty kliknutím na autorov, značky atď., rovnako ako môžete použiť prehliadač značiek v hlavnom programe.

Obľúbená funkcia hlavného programu, Virtuálne knižnice, je prítomná aj v rozhraní servera. Kliknutím na tri zvislé bodky v pravom hornom rohu vyberte virtuálnu knižnicu.

Prehliadač kníh

Akúkoľvek knihu vo svojej knižnici calibre môžete čítať jednoduchým ťuknutím na ňu a následným ťuknutím na tlačidlo Čítať. Ovládanie prehliadača kníh je veľmi jednoduché. Na otáčanie strán môžete používať ťuknutie aj potiahnutie prstom. Potiahnutím nahor/nadol preskočíte medzi kapitolami. Ťuknutím na hornú štvrtinu obrazovky získate podrobné ovládacie prvky a predvoľby prehliadača.

Ak necháte server obsahu spustený, môžete dokonca otvoriť tú istú knihu na viacerých zariadeniach a server si zapamätá vašu poslednú prečítanú pozíciu. Ak sa tak nestane, môžete vynútiť synchronizáciu ťuknutím na hornú štvrtinu obrazovky a výberom možnosti Synchronizovať.

Podpora prehliadačov

Nový server calibre vo veľkej miere využíva pokročilé funkcie HTML 5 a CSS 3. Preto na používanie vyžaduje aktuálny prehliadač. Bol testovaný na Android Chrome a iOS Safari, ako aj na Chrome a Firefox na počítači.

Server sa snaží používať iba funkcie, ktoré už boli štandardizované alebo sú na ceste k štandardizácii. Ak teda v súčasnosti nefunguje s vaším obľúbeným prehliadačom, pravdepodobne bude fungovať, keď ho tento prehliadač dobehne.

Ak používate obzvlášť starý alebo obmedzený prehliadač, alebo nechcete spúšťať JavaScript, môžete použiť mobilné zobrazenie jednoduchým pridaním /mobile k adrese servera.

Poznámka

V systéme iOS Apple povoľuje iba jeden engine prehliadača, takže Firefox, Chrome a Safari sú v skutočnosti pod kapotou ten istý prehliadač. Nové rozhranie servera vyžaduje iOS 10.3.2 alebo novší. V systéme Android bol server testovaný s prehliadačom Chrome verzie 58 a novším.

Povolenie offline podpory

Server má plnú podporu offline režimu; môžete otvoriť knihu a po jej načítaní ju môžete čítať offline. Typické prehliadače však na povolenie offline režimu (service workers) vyžadujú používanie HTTPS pripojení. Preto nastavte podporu HTTPS, ako je opísané vyššie. Posuňte sa na koniec domovskej stránky a uvidíte správu o stave offline režimu.

Prípadne môžete otvoriť knihu a nechať kartu prehliadača otvorenú. Pokiaľ karta zostane otvorená, môžete v čítaní knihy pokračovať aj offline.

Správa používateľských účtov iba z príkazového riadka

Program calibre má peknú sekciu v Nastaveniach, ktorá vám umožňuje spravovať používateľské účty pre server. Ak však chcete prevádzkovať samostatný server a nemôžete spustiť hlavný program calibre na tom istom počítači alebo používateľskom účte, môžete používateľov spravovať aj iba z príkazového riadka.

Používateľské účty môžete spravovať pomocou voľby --manage-users v samostatnom programe calibre-server. Predpokladajme, že chcete uložiť databázu používateľov do priečinka /srv/calibre; vytvoríte ju spustením:

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

Jednoducho postupujte podľa výziev na vytvorenie používateľských účtov, nastavenie ich oprávnení atď. Keď budete hotoví, môžete server spustiť ako:

calibre-server --userdb /srv/calibre/users.sqlite --enable-auth

Použije používateľské účty, ktoré ste vytvorili v predchádzajúcom kroku.

Integrácia servera obsahu calibre do iných serverov

Tu vám ukážeme, ako integrovať server obsahu calibre do iného servera. Najčastejším dôvodom je využitie SSL alebo poskytovanie knižnice calibre ako súčasti väčšej webovej lokality. Základnou technikou je spustiť server calibre a nastaviť k nemu reverzný proxy server z hlavného servera.

Reverzný proxy server znamená, že váš bežný server prijíma prichádzajúce požiadavky a odovzdáva ich serveru calibre. Potom prečíta odpoveď zo servera calibre a prepošle ju klientovi. To znamená, že môžete jednoducho prevádzkovať server calibre ako obvykle bez toho, aby ste sa ho snažili tesne integrovať do hlavného servera.

Použitie plného virtuálneho hostiteľa

Najjednoduchšia konfigurácia je vyhradiť plného virtuálneho hostiteľa pre server calibre. V tomto prípade spustite server calibre ako:

calibre-server

Teraz nastavte virtuálneho hostiteľa v hlavnom serveri, napríklad pre nginx:

http {
    client_max_body_size 64M;  # needed to upload large books
}

server {
    listen [::]:80;
    server_name myserver.example.com;

    location / {
        proxy_pass http://127.0.0.1:8080;
    }
}

Alebo pre Apache:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

<VirtualHost *:80>
    ServerName myserver.example.com
    AllowEncodedSlashes On
    ProxyPreserveHost On
    ProxyPass "/"  "http://localhost:8080/"
</VirtualHost>

Použitie predpony URL

Ak nechcete vyhradiť plného virtuálneho hostiteľa pre calibre, môžete použiť predponu URL. Spustite server calibre ako:

calibre-server --url-prefix /calibre --port 8080

Kľúčovým parametrom je --url-prefix /calibre. To spôsobí, že server obsahu bude obsluhovať všetky URL adresy s predponou /calibre. Ak to chcete vidieť v praxi, navštívte vo svojom prehliadači http://localhost:8080/calibre. Mali by ste vidieť bežnú webovú stránku servera obsahu, ale teraz bude bežať pod /calibre.

V prípade nginx je požadovaná konfigurácia:

http {
    client_max_body_size 64M;  # needed to upload large books
}

proxy_set_header X-Forwarded-For $remote_addr;
location /calibre/ {
    proxy_buffering off;
    proxy_pass http://127.0.0.1:8080$request_uri;
}
location /calibre {
    # we need a trailing slash for the Application Cache to work
    rewrite /calibre /calibre/ permanent;
}

V prípade Apache najprv povoľte proxy moduly v Apache pridaním nasledujúceho do httpd.conf:

LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so

Presná technika na povolenie proxy modulov sa bude líšiť v závislosti od vašej inštalácie Apache. Keď budete mať proxy moduly povolené, pridajte nasledujúce pravidlá do httpd.conf (alebo ak používate virtuálnych hostiteľov, do konfiguračného súboru príslušného virtuálneho hostiteľa):

AllowEncodedSlashes On
RewriteEngine on
RewriteRule ^/calibre/(.*) http://127.0.0.1:8080/calibre/$1 [proxy]
RedirectMatch permanent ^/calibre$ /calibre/

To je všetko; teraz budete môcť pristupovať k serveru obsahu calibre pod URL adresou /calibre na svojom hlavnom serveri. Vyššie uvedené pravidlá odovzdávajú všetky požiadavky pod /calibre serveru calibre bežiacemu na porte 8080 a vďaka voľbe --url-prefix vyššie ich server calibre spracúva transparentne.

Poznámka

Pri používaní reverzného proxy servera by ste mali serveru obsahu calibre povedať, aby počúval iba na localhoste, pomocou --listen-on 127.0.0.1. Týmto spôsobom bude server počúvať iba pripojenia prichádzajúce z toho istého počítača, t. j. z reverzného proxy servera.

Poznámka

Ak máte pre hlavný server nastavené SSL, mali by ste serveru calibre povedať, aby namiesto digest overovania používal basic overovanie, pretože je rýchlejšie. Ak to chcete urobiť, odovzdajte voľbu --auth-mode=basic programu calibre-server.

Vytvorenie služby pre server calibre v modernom linuxovom systéme

V modernom linuxovom systéme založenom na systemd môžete jednoducho vytvoriť službu, ktorá spustí calibre pri štarte. Stačí vytvoriť súbor /etc/systemd/system/calibre-server.service s obsahom uvedeným nižšie:

[Unit]
Description=calibre Content server
After=network.target

[Service]
Type=simple
User=mylinuxuser
Group=mylinuxgroup
ExecStart=/opt/calibre/calibre-server "/path/to/calibre library folder"

[Install]
WantedBy=multi-user.target

Zmeňte mylinuxuser a mylinuxgroup na používateľa a skupinu, pod ktorými chcete, aby server bežal. Mal by to byť rovnaký používateľ a skupina, ktorí vlastnia súbory v priečinku knižnice calibre. Upozorňujeme, že vo všeobecnosti nie je dobrý nápad prevádzkovať server ako root. Tiež zmeňte cestu k priečinku knižnice calibre podľa svojho systému. V prípade potreby môžete pridať viacero knižníc. Pozrite si pomocníka pre príkaz calibre-server.

Teraz spustite:

sudo systemctl start calibre-server

na spustenie servera. Skontrolujte jeho stav pomocou:

sudo systemctl status calibre-server

Ak chcete, aby sa spustil pri štarte, spustite:

sudo systemctl enable calibre-server

Poznámka

Server calibre nepotrebuje bežiaci X server, ale potrebuje nainštalované knižnice X, pretože niektoré komponenty, ktoré používa, sú proti nim linkované.

Poznámka

Server calibre tiež podporuje aktiváciu socketu systemd, takže ju môžete v prípade potreby použiť tiež.