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:
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:
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.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.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.
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.
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
.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.
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.
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.Kontrollera att calibre-servern är tillåten genom alla brandväggar/antivirusprogram på din dator.
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 är8080
, blir adressen som används på din enhet:http://123.123.123.123:8080
.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.