calibre-innehållsservern

calibre-innehållsservern gör att du kan komma åt dina calibre bibliotek och läsa böcker direkt i en webbläsare på din favorit mobiltelefon eller surfplatta. Som ett resultat behöver du inte installera några dedikerade bokläsnings-/hanteringsappar på din telefon. Använd bara webbläsaren. Servern hämtar och lagrar boken du läser i ett frånkopplat cache så att du kan läsa den även när det inte finns någon internetuppkoppling.

För att starta servern klickar du på knappen Anslut/dela och välj Starta innehållsserver. Det kan hända att du får ett meddelande från datorns brandvägg eller antivirusprogram om det är OK att tillåta tillgång till calibre.exe. Klicka på knappen Tillåt eller OK. Öppna sedan en webbläsare (helst Chrome eller Firefox) i din dator och skriv in följande adress:

http://127.0.0.1:8080

Detta öppnar en sida i webbläsaren som visar dina calibre-bibliotek, klicka på ett och bläddra bland böckerna i det. Klicka på en bok så kommer den att visa dig all metadata om boken, tillsammans med knappar för att Läsa och Hämta boken. Klicka på knappen Läsa för att börja läsa boken.

Observera

Adressen som används ovan http://127.0.0.1: 8080 fungerar bara på datorn som kör calibre. För att komma åt servern från andra datorer/telefoner/surfplattor/etc. kommer du att behöva göra lite mer arbete, som beskrivs i nästa avsnitt.

Åtkomst till innehållsservern från andra enheter

Det finns två typer av fjärråtkomst som du normalt behöver. Den första, enklare sorten är från ditt hemnätverk. Om du kör calibre på en dator i ditt hemnätverk och du också har anslutit dina andra enheter till samma hemnätverk, borde du enkelt kunna komma åt servern på de här enheterna.

Åtkomst till servern från enheter i ditt hemnätverk

När du har startat servern i calibre som beskrivits ovan klickar du på knappen Anslut/dela igen. Istället för åtgärden guilabel:Starta innehållserver, bör du se en Stoppa Innehållsservern-åtgärd istället. Till höger om denna åtgärd visas en IP-adress och portnummer. Dessa ser ut som en massa siffror åtskilda av perioder. Till exempel:

Stop Content server [192.168.1.5, port 8080]

Dessa siffror berättar vilken adress som ska användas för att ansluta till servern på dina enheter. Efter exemplet ovan blir adressen:

http://192.168.1.5:8080

Den första delen av adressen är alltid http://, nästa delen är IP-adressen, vilken är siffrorna före kommatecken och till sist har vi portnumret som måste läggas till IP-adressen med ett kolon (:). Om du har tur ska det vara allt du behöver och du kommer att se calibre-biblioteken på din enhet. Om inte, läs vidare.

Problemlösning av hemnätverksanslutningen

Om du inte kan komma åt servern från din enhet kan du försöka med följande steg:

  1. Kontrollera att servern körs genom att öppna adressen http://127.0.0.1:8080 i en webbläsare som körs på samma dator som servern.

  2. Kontrollera att din brandvägg/antivirusprogram tillåter anslutningar till din dator på porten 8080 och till calibre-programmet. Det enklaste sättet att eliminera brandväggen/antivirusprogrammet som källan till problem är att tillfälligt stänga av dem och sedan försöka ansluta. Du bör först koppla från internet, innan du slår av brandväggen, för att hålla datorn säker.

  3. Kontrollera att din enhet och dator finns på samma nätverk. Det innebär att de båda ska vara anslutna till samma trådlösa router. I synnerhet bör ingendera använda en mobil- eller ISP tillhandahållen direkt-WiFi-anslutning.

  4. Om du har en icke-standardiserad nätverksinstallation kan det vara att IP-adressen som visas på Anslut/dela-menyn är felaktig. I så fall måste du ta reda på vad den rätta IP-adressen du ska använda är själv. Tyvärr, med tanke på oändliga mångfald av nätverkskonfigurationer är det inte möjligt att ge dig en anvisningar för att göra det.

  5. Om du har anpassat ett användarnamn och lösenord, försök först utan det för att se om det orsakar problem. Vissa e-ink-enheter har webbläsare som inte hanterar autentisering. Ibland kan du lösa det här genom att inkludera användarnamnet och lösenordet i URL:en, till exempel: http://användarnamn:lösenord@192.168.1.2:8080.

  6. Om du har fastnat kan du alltid be om hjälp i calibre-användarforum.

Åtkomst till servern från var som helst på internet

Varning

Innan du gör det bör du aktivera användarnamn/lösenords-skydd i servern, annars kan vem som helst i världen få tillgång till dina böcker. Gå till Inställningar → Delning → Dela via nätet och aktivera alternativet Kräv användarnamn och lösenord för att komma åt innehållsservern.

Medan de specifika detaljerna om att ställa in Internet-åtkomst varierar beroende på nätverkskonfigurationen och typen av dator du använder, är grundschemat det som följer.

  1. Ta reda på den externa IP-adressen för den dator du ska köra servern på. Du kan göra det genom att besöka webbplatsen What is my IP address med en webbläsare som körs på datorn.

  2. Om datorn ligger bakom en router, aktivera portvidarebefordring på routern för att vidarebefordra porten 8080 (eller den port du väljer att köra calibre-innehållsservern på) till datorn.

  3. Kontrollera att calibre-servern är tillåten genom alla brandväggar/antivirusprogram på din dator.

  4. Nu bör du kunna komma åt servern på vilken internetansluten enhet som helst med hjälp av den IP-adress du hittade i det första steget. Till exempel om den IP-adressen du hittade var 123.123.123.123 och porten du använder för calibre-servern är 8080, blir adressen som används på din enhet: http://123.123.123.123:8080.

  5. Alternativt kan du använda en tjänst som no-ip för att ställa in en adress som är lätt att komma ihåg att använda istället för den IP-adress som du hittade i det första steget.

Observera

För högsta säkerhet bör du också aktivera HTTPS på innehållsservern. Du kan antingen göra det direkt på servern genom att ange sökvägen till HTTPS-certifikatet som ska användas i de avancerade konfigurationsalternativen för servern, eller så kan du ställa in en omvänd proxy enligt beskrivningen nedan för att använda en befintlig HTTPS-inställning.

Servergränssnittet

Servergränssnittet är en förenklad version av calibres huvudgränssnitt, optimerat för användning med pekskärmar. På startskärmen visas böcker som du håller på att läsa och du kan välja ett calibre-bibliotek att bläddra i. Servern i calibre ger dig tillgång till alla dina bibliotek, inte bara ett enskilt, som tidigare.

Boklistan

Serverns boklista är ett enkelt rutnät av omslag. Tryck på ett omslag för att se detaljerade metadata för en bok eller för att läsa boken. Om du föredrar en mer detaljerad lista kan du ändra standardvyn genom att klicka på de tre vertikala punkterna i övre högra hörnet.

Sortering och sökning i boklistan bör vara en vana för calibre-användare. De kan nås genom att klicka på deras ikoner högst upp till höger. De arbetar båda på exakt samma sätt som i calibre huvudprogrammet. På söksidan kan du även konstruera sökförfrågningar genom att klicka på författare/taggar/etc., precis som du kan med taggbläddraren i huvudprogrammet.

En mycket älskad funktion i huvudprogrammet, virtuella bibliotek finns också i servergränssnittet. Klicka på de tre vertikala prickarna i det övre högra hörnet för att välja ett virtuellt bibliotek.

Bokvisaren

Du kan läsa vilken bok som helst i ditt calibre-bibliotek genom att helt enkelt trycka på den och sedan trycka på Läsa-knappen. Bokvisaren är mycket enkel att använda. Du kan både trycka och svepa för att vända sidor. Genom att svepa upp/ned hoppar du mellan kapitel. Genom att trycka på den övre fjärdedelen av skärmen får du detaljerade kontroller och visarinställningar.

Om du lämnar innehållsservern igång kan du till och med öppna samma bok på flera enheter och den kommer ihåg din senaste läspositionen. Om det inte kan du tvinga ett synkronisering genom att trycka i övre toppkvartalet och välja Synkronisera.

Webbläsarstöd

Den nya calibre-servern använder mycket av avancerade HTML 5- och CSS 3-funktioner. Som sådan krävs en modern webbläsare för användning. Den har testats på Android Chrome och iOS Safari samt Chrome och Firefox på skrivbordet.

Servern är försiktig med att använda funktionalitet som antingen har standardiserats eller kommer att standardiseras. Så om den inte fungerar för närvarande med din favorit webbläsare, kommer det förmodligen att göra det så fort webbläsaren har nått ikapp.

Om du använder en särskilt gammal eller begränsad webbläsare eller om du inte gillar att köra JavaScript kan du använda mobil-vyn genom att helt enkelt lägga till /mobile i serveradressen.

Observera

På iOS tillåter Apple endast en enda webbläsarmotor, så Firefox, Chrome och Safari är alla faktiskt samma webbläsare under huven. Det nya servergränssnittet kräver iOS 10.3.2 eller nyare. På Android har servern testats med Chrome-version 58 och nyare.

Aktivera frånkopplat stöd

Webbläsartillverkare har försökt tvinga människor att använda SSL genom att inaktivera avancerade funktioner i sina webbläsare för vanliga HTTP-anslutningar. En sådan olycka är ApplicationCache, som var det som användes i calibre för offlinesupport. Som ett resultat nu för tiden, tyvärr fungerar offline-läget bara så länge du håller webbläsarfliken öppen. Dessutom, i Firefox på Android, måste du skriva about:config och skapa en inställning som heter browser.tabs.useCache och ställa in den på true.

Hantera användarkonton endast från kommandoraden

calibre-programmet har en bra sektion i Inställningar så att du kan hantera användarkonton för servern. Om du vill köra den fristående servern och inte kan köra calibre-huvudprogrammet på samma dator/användarkonto kan du också hantera användare som använder bara kommandoraden.

Du kan hantera användarkonton med flaggan --manage-users till det fristående programmet calibre-server. Antag att du vill lagra användardatabasen i mappen /srv/calibre, då skapar du den genom att köra:

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

Följ bara anvisningarna för att skapa användarkonton, ställ in deras behörighet, etc. När du är klar kan du köra servern som:

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

Det kommer att använda användarkonton du skapade i föregående steg.

Integrera calibre-innehållsservern med andra servrar

Här kommer vi att visa hur du integrerar calibre-innehållsservern med en annan server. Den vanligaste orsaken för detta är att använda sig av SSL eller att tjäna calibre-biblioteket som en del av en större plats. Den grundläggande tekniken är att köra calibre servern och anpassa en omvänd proxy till den från huvudservern.

En omvänd proxy är när din vanliga server accepterar inkommande förfrågningar och skickar dem till calibre-servern. Den läser sedan svaret från calibre-servern och vidarebefordrar det till klienten. Det betyder att du enkelt kan köra calibre-servern som normalt utan att försöka integrera den nära din huvudserver.

Använda en fullständig virtuell värd

Den enklaste konfigurationen är att ägna en fullständig virtuell värd till calibre-servern. Kör i så fall calibre-servern som:

calibre-server

Ställ nu in den virtuella värden på din huvudserver, till exempel för 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;
    }
}

Eller för 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>

Använda ett URL-prefix

Om du inte vill ägna en fullständig virtuell värd till calibre kan du låta den använda ett URL-prefix. Starta calibre-servern som:

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

Nyckelparametern här är --url-prefix /calibre. Detta gör att innehållsservern kan betjäna alla webbadresser som prefixas av /calibre. För att se detta i verkligheten, besök http://localhost:8080/calibre i din webbläsare. Du borde se den normala innehållsserverwebbplatsen, men nu kommer den att köras under /calibre.

Med Nginx, är konfigurationen som fodras:

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

För Apache, aktivera först proxymodulerna i Apache genom att lägga till följande i httpd.conf:

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

Den exakta tekniken för att aktivera proxymoduler varierar beroende på din Apache-installation. När du aktiverar proxymodulerna, lägg till följande regler i httpd.conf (eller om du använder virtuella värdar till conf-filen för den virtuella värden i fråga):

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

Det är allt, du kommer nu att kunna komma åt calibre-innehållsservern under /calibre-webbadressen i din huvudserver. Ovanstående regler skickar alla förfrågningar under /calibre till calibre-servern som körs på port 8080 och tack vare alternativet --url-prefix ovan hanterar calibre-servern dem transparent.

Observera

När du använder en omvänd proxy ska du berätta att calibre-innehållsservern bara lyssnar på localhost, genom att använda --listen-on 127.0.0.1. På så sätt lyssnar servern bara på anslutningar som kommer från samma dator, dvs. från omvänd proxyn.

Observera

Om du har ställt in SSL för din huvudserver, bör du berätta för calibre-servern att använda grundläggande autentisering istället för digest autentisering, eftersom den är snabbare. För att göra det, skicka alternativet --auth-mode=basic till calibre server.

Skapa en tjänst för calibre-servern på ett modernt Linux-system

Du kan enkelt skapa en tjänst för att köra calibre vid start på ett modernt (systemd) Linux baserat system. Skapa bara filen /etc/systemd/system/calibre-server.service med innehållet som visas nedan:

[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

Ändra mylinuxuser och mylinuxgroup till vilken användare och grupp du vill att servern ska köras som. Detta bör vara samma användare och grupp som äger filerna i biblioteksmappen för calibre. Observera att det i allmänhet inte är en bra idé att köra servern som root. Ändra också sökvägen till biblioteksmappen för calibre så att den passar ditt system. Du kan lägga till flera bibliotek om det behövs. Se hjälpen för kommandot calibre-server.

Köra nu:

sudo systemctl start calibre-server

för att starta servern. Kontrollera dess status med:

sudo systemctl status calibre-server

För att den ska starta vid uppstart, kör:

sudo systemctl enable calibre-server

Observera

calibre-servern behöver inte en X-server som körs, men den behöver X-biblioteken installerade eftersom vissa komponenter använder dem för att länka mot.

Observera

calibre-servern stöder också systemd-socketaktivering, så du kan också använda det om det behövs.