De calibre Content server

De calibre: guilabel: inhoudsserver geeft u toegang tot uw calibre bibliotheken en leest boeken direct in een browser op uw favoriete mobiele telefoon of tablet. Als gevolg hiervan hoeft u geen speciale apps voor het lezen/beheren van boeken op uw telefoon te installeren. Gebruik gewoon de browser. De server downloadt en bewaart het boek dat u leest in een off-line buffer, zodat u het kunt lezen, zelfs als er geen internetverbinding is.

Om de server te starten, klikt u op de: guilabel: verbinden/delen ` knop en kiest: guilabel: Start inhoudsserver`. Mogelijk ontvangt u een bericht van de firewall of het antivirusprogramma van uw computer met de vraag of het OK is om toegang te verlenen tot `` calibre.exe``. Klik op de knop `` Toestaan`` of `` OK``. Open vervolgens een browser (bij voorkeur Chrome of Firefox) op uw computer en typ het volgende adres:

http://127.0.0.1:8080

This will open a page in the browser showing you your calibre libraries, click on any one and browse the books in it. Click on a book, and it will show you all the metadata about the book, along with buttons to Read and Download the book. Click the Read button to start reading the book.

Notitie

Het adres dat boven `` http: //127.0.0.1: 8080`` wordt gebruikt, werkt alleen op de computer die calibre draait. Om toegang te krijgen tot de server vanaf andere computers/telefoons/tablets/enz. u zult wat meer werk moeten doen, zoals beschreven in de volgende sectie.

Toegang krijgen tot de Content server vanaf andere toestellen

Er zijn twee typen van externe apparaat toegang die u normaal gesproken nodig heeft. De eerste, eenvoudigere soort is vanuit uw thuisnetwerk. Als u calibre draait op een computer in uw thuisnetwerken en ook uw andere apparaten op hetzelfde thuisnetwerk hebt aangesloten, moet u gemakkelijk toegang hebben tot de server op die apparaten.

Toegang krijgen tot de server vanaf apparaten in uw thuisnetwerk

Na starten van de server in calibre zoals boven beschreven, klik terug op de Verbinden/delen knop. In plaats van de Start Content server zou u een Stop Content server actie moeten zien. Rechts van deze actie staat een IP adres en een poort nummer. Deze lijken op een hoop getallen gescheiden door punten. Bijvoorbeeld:

Stop Content server [192.168.1.5, port 8080]

Deze getallen zeggen u welk adres te gebruiken om te verbinden met de server in uw toestel. Volgens het voorbeeld boven wordt het adres:

http://192.168.1.5:8080

Het eerste deel van het adres is altijd http:// het volgende deel is het IP adres, de nummers voor de komma, en tenslotte het poortnummer dat wordt toegevoegd aan het IP adres met een dubbel punt (:). Als u geluk hebt, is dit alles dat u nodig hebt en kijkt u nu naar de calibre bibliotheken op uw toestel. Indien niet, lees verder.

Problemen oplossen voor de thuisnetwerkverbinding

Als u niet met de server kan verbinden vanop uw toestel, probeer volgende stappen:

  1. Controleer of de server draait door naar http://127.0.0.1:8080 te gaan in een browser op dezelfde computer als de server.

  2. Controleer of uw firewall en anti-virus verbindingen toelaten naar uw computer op poort 8080 en het calibre programma. De gemakkelijkste manier om firewall en anti-virus als bron van problemen te elimineren is ze tijdelijk uit te schakelen en dan proberen te verbinden. U moet eerst de internet verbinding verbreken vóór de firewall uit te schakelen om uw computer niet onbeschermd te laten.

  3. Controleer of uw computer en toestel op hetzelfde netwerk zitten. Dit betekent dat ze beiden met dezelfde draadloze router verbonden zijn. Vooral, ze mogen geen mobiele telefoon of ISP geleverde WiFi verbinding gebruiken.

  4. Als u een niet-standaard netwerkopstelling hebt, kan het zijn dat het IP adres, getoond in het Verbinden/delen menu fout is. In zulk geval moet u zelf uitzoeken wat het correcte te gebruiken IP adres is. Spijtig genoeg is het onmogelijk u daarvoor een stappenplan te geven gezien het oneindige aantal mogelijke configuraties.

  5. Als u een gebruikersnaam en wachtwoord hebt ingesteld, probeer eerst zonder om te zien of dat problemen oplevert. Sommige e-inkt toestellen hebben browsers die geen authenticatie kunnen afhandelen. U kan dit soms omzeilen door gebruikersnaam en wachtwoord in te sluiten in de URL, bv.: http://gebruikersnaam:wachtwoord@192.168.1.2:8080.

  6. Als u vast zit kan u altijd hulp vragen in de calibre gebruikersforums.

Toegang krijgen tot de server van overal op het internet

Waarschuwing

Alvorens dit te doen, moet u gebruikersnaam/wachtwoord bescherming op de server aanzetten anders heeft iedereen ter wereld toegang tot uw boeken. Ga naar Voorkeuren → Delen → Delen via (inter)net en schakel de optie Gebruikersnaam en wachtwoord vereisen voor toegang tot de content server in.

Terwijl de specifieke details om internet toegang in te stellen variëren afhankelijk van de netwerkconfiguratie en het type computer u gebruikt, is het basisschema als volgt.

  1. Vind het externe IP adres van de computer waar u de server zal op draaien. Dit kan door de site What is my IP address te bezoeken met een browser op de computer.

  2. Als de computer achter een router zit, schakel port forwarding in om poort 8080 (of eender welke poort die u kiest om de calibre Content server op te draaien) te forwarden.

  3. Zorg ervoor dat de calibre server wordt doorgelaten door alle firewall/anti-virus programma’s op uw computer.

  4. Nu zou u toegang moeten hebben tot de server via elk met internet verbonden toestel met het IP adres dat u vond in de eerste stap. Bv. als het gevonden IP adres 123.123.123.123 was en de poort die u gebruikt voor de calibre server 8080, het adres om te gebruiken op toestel wordt: http://123.123.123.123:8080.

  5. Als optie kan u een dienst gebruiken als no-ip om een gemakkelijk te herinneren adres in te stellen i.p.v. het adres dat u vond in de eerste stap.

Notitie

Voor maximale veiligheid moet u ook HTTPS inschakelen op de Content server. U kan dit doen ofwel direct op de server door het pad te voorzien naar het te gebruiken HTTPS certificaat in de geavanceerde configuratie opties voor de server ofwel kan u een omgekeerde proxy instellen zoals onder beschreven, om een bestaande HTTPS setup te gebruiken.

De server interface

De server interface is een vereenvoudigde versie van de calibre hoofdinterface, geoptimaliseerd voor gebruik met aanraakschermen. Het startscherm toont u boeken die u aan het lezen bent en geeft de mogelijkheid een calibre bibliotheek te kiezen om te doorbladeren. De server in calibre geeft u toegang tot al uw bibliotheken, niet maar een enkele zoals vroeger.

De boekenlijst

De server boekenlijst is een eenvoudig raster met boeken. Tik op een omslag om de detail metadata voor een boek te zien. Als u een meer gedetailleerde lijst verkiest, kan u het standaard beeld veranderen door op de drie verticale punten rechtsboven te klikken.

Sorteren en doorzoeken van de boekenlijst zou bekend moeten zijn voor calibre gebruikers. Starten kan door klikken op hun iconen rechtsboven. Ze werken beiden exact hetzelfde als in het calibre hoofdprogramma. De zoekpagina laat u zelfs zoekqueries maken te klikken op auteurs/labels.enz., net zoals in de Labelbrowser in het hoofdprogramma.

Een geliefde functie in het hoofdprogramma, Virtuele bibliotheken is ook aanwezig in de server interface. Klik op de drie verticale punten rechtsboven om een Virtuele bibliotheek te kiezen.

De boekreader

You can read any book in your calibre library by simply tapping on it and then tapping the Read button. The book reader is very simple to operate. You can both tap and swipe to turn pages. Swiping up/down skips between chapters. Tapping the top quarter of the screen gets you the detailed controls and viewer preferences.

Als u de server laat draaien, kan u zelfs hetzelfde boek op verschillende toestellen openen en het herinnert uw laatste leespositie. Indien niet kan u een synchronisatie afdwingen door tikken in het bovenste kwart en Sync kiezen.

Browserondersteuning

De nieuwe calibre server maakt veel gebruik van geavanceerde HTML 5 en CSS 3 functies. Daarom heeft het een up-to-date browser nodig. Het is getest op Android Chrome en iOS Safari en op Chrome en Firefox op de desktop.

De server is oplettend om functionaliteit te gebruiken die al standaard is of op weg ernaar toe. Als hij dus momenteel niet werkt met uw favoriete browser, zal hij dat waarschijnlijk wel doen zo gauw uw browser bijgebeend is.

Als u een bijzonder oude of beperkte browser gebruikt of u houdt niet van Javascript kan u de mobiele versie gebruiken door simpelweg /mobile aan het server adres toe te voegen.

Notitie

Op iOS laat Apple slechts één browser engine toe, dus Firefox, Chrome en Safari zijn allemaal hetzelfde onder de motorkap. De nieuwe server interface vereist iOS 10.3.2 of nieuwer. Op Android is de server getest met Chrome versie 58 en nieuwer.

Offline support inschakelen

Browser makers have been trying to force people to use SSL by disabling advanced features in their browsers for plain HTTP connections. One such casualty is ApplicationCache, which was what was used in calibre for offline support. As a result now-a-days sadly, offline mode works only as long as you keep the browser tab open. In addition, in Firefox on Android, you will need to type about:config and create a preference called browser.tabs.useCache and set it to true.

Gebruikersaccounts enkel beheren vanop de commandoregel

Het calibre programma heeft een leuke sectie in Voorkeuren dat u gebruikersaccounts laat beheren voor de server. Echter, als u de server zelfstandig wilt draaien en het calibre hoofdprogramma niet op dezelfde computer/gebruikersaccount kunt draaien, kunt u ook gebruikers beheren via de commandoregel.

U kan gebruikersaccounts beheren met de --manage-users optie van het zelfstandige calibre-server programma. Veronderstel dat u de gebruikersdatabase wilt opslaan in de map /srv/calibre , dan creëert u die door het draaien van:

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

Volg gewoon de prompts om gebruikersaccounts te creëren, hun toelatingen in te stellen, enz. Als u klaar bent, kan u de server draaien als volgt:

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

Het gebruikt de gebruikersaccounts die u creëerde in de vorige stap.

Integratie van de Calibre Content-server in andere servers

Hier laten we u zien hoe de calibre Content server te integreren in een andere server. Dit gebeurt meestal om gebruik te maken van SSL of om de calibre bibliotheek te gebruiken als deel van een grotere site. De basistechniek is om de calibre server te draaien en een omgekeerde proxy in te stellen van de hoofdserver.

Een omgekeerde proxy betekent dat uw gewone server binnenkomende verzoeken accepteert en die doorgeeft aan de calibre server. Hij leest dan de antwoorden van de calibre server en stuurt die door naar de cliënt. Dit betekent dat u de calibre server gewoon als altijd kunt draaien zonder hem te moeten integreren met uw hoofdserver.

Een volledig virtuele host gebruiken

De eenvoudigste configuratie is om een volledig virtuele host aan de calibre server toe te wijden. In dit geval, draai de calibre server als:

calibre-server

Stel nu uw viruele host in op uw hoofdserver, bijvoorbeeld voor 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;
    }
}

Of voor 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>

Met een URL prefix

Als u geen volledige virtuele host wil toewijden aan calibre kan u hem een URL prefix laten gebruiken. Start de calibre server als:

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

De sleutel parameter hier is --url-prefix /calibre. Dit laat de Content server alle URL’s voorafgegaan door /calibre bedienen. Om dit in actie te zien, bezoek http://localhost:8080/calibre in uw browser. U zou de normale Content server website moeten zien maar hij draait nu onder /calibre.

Met nginx is de vereiste configuratie:

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;
}

Voor Apache, activeer eerst de proxy modules in Apache door het volgende toe te voegen aan httpd.conf:

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

De exacte techniek om de proxy modules in te schakelen hangt af van uw Apache installatie. Als u de proxy modules hebt ingeschakeld, voeg de volgende regels toe aan httpd.conf (of als u virtuele hosts gebruikt, aan het conf bestand voor die virtuele host):

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

Dat is alles, u hebt nu toegang tot de calibre Content server via de /calibre URL in uw hoofdserver. De bovenstaande regels geven alle verzoeken onder /calibre door aan de calibre server draaiend op poort 8080 en dankzij de --url-prefix optie boven, handelt de calibre server ze transparant af.

Notitie

Bij gebruik van een reverse proxy moet u de calibre Content server vertellen om enkel naar localhost te luisteren via --listen-on 127.0.0.1. Op deze manier luistert de server enkel voor verbindingen vanop dezelfde computer, d.w.z. van de reverse proxy.

Notitie

Als u SSL hebt ingesteld voor uw hoofdserver, moet u de calibre server zeggen basis authenticatie te gebruiken i.p.v. digest authenticatie, dat is sneller. Geef hiertoe de --auth-mode=basic optie mee aan de calibre-server.

Een dienst creëren voor de calibre server op een modern Linux systeem

U kan gemakkelijk een dienst creëren om calibre te starten bij booten op een modern (systemd) gebaseerd Linux systeem. Creëer gewoon het bestand /etc/systemd/system/calibre-server.service met de inhoud onder getoond:

[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

Verander mylinuxuser en mylinuxgroup naar eender welke gebruiker en groep die u op de server wil. Dit zou dezelfde gebruiker en groep moeten zijn als de eigenaar van de bestanden in de calibre bibliotheekmap. Merk po dat het gewoonlijk geen goed idee is de server als root te draaien. Verander ook het pad naar de calibre bibliotheekmap volgens uw systeem. U kan meerdere bibliotheken toevoegen indien nodig. Bekijk de help voor het calibre-server commando.

Draai nu:

sudo systemctl start calibre-server

om de server te starten. Controleer z’n status met:

sudo systemctl status calibre-server

Om hem te laten starten bij het booten, draai:

sudo systemctl enable calibre-server

Notitie

De calibre server heeft geen draaiende X server nodig maar wel de X geïnstalleerde bibliotheken omdat sommige componenten die hij nodig heeft eraan linken.

Notitie

De calibre server ondersteunt ook systemd socket activatie, u kan dat dus ook gebruiken indien nodig.