Calibre İçerik sunucusu¶
calibre İçerik sunucusu calibre kitaplıklarınıza erişmenizi ve kitapları doğrudan favori cep telefonunuz veya tablet bilgisayarınızdaki bir tarayıcıdan okumanızı sağlar. Sonuç olarak, telefonunuza herhangi bir özel kitap okuma/yönetim uygulaması yüklemenize gerek yoktur. Sadece tarayıcıyı kullanın. Sunucu, okuduğunuz kitabı çevrimdışı bir önbellekte indirir ve saklar, böylece internet bağlantısı olmadığında bile okuyabilirsiniz.
Sunucuyu başlatmak için Bağlan/paylaş düğmesine tıklayın ve İçerik sunucusunu başlat`ı seçin. Bilgisayarınızın güvenlik duvarından veya anti-virüs programından “calibre.exe”ye erişime izin vermenin uygun olup olmadığını soran bir mesaj alabilirsiniz. ``İzin Ver` veya Tamam
düğmesini tıklayın. Daha sonra bilgisayarınızda bir tarayıcı (tercihen Chrome veya Firefox) açın ve aşağıdaki adresi yazın:
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.
Not
Yukarıda kullanılan adres http://127.0.0.1:8080
yalnızca calibre’yi çalıştıran bilgisayarda çalışacaktır. Sunucuya diğer bilgisayarlardan/telefonlardan/tabletlerden vb. erişmek için. Bir sonraki bölümde açıklandığı gibi biraz daha çalışmanız gerekecek.
İçerik sunucusuna diğer cihazlardan erişme¶
Genellikle ihtiyaç duyacağınız iki tür uzaktan cihaz erişimi vardır. İlk, daha basit tür, ev ağınızın içindendir. Calibre’yi ev ağınızdaki bir bilgisayarda çalıştırıyorsanız ve diğer cihazlarınızı da aynı ev ağına bağladıysanız, bu cihazlardaki sunucuya kolayca erişebilmeniz gerekir.
Sunucuya ev ağınızdaki cihazlardan erişme¶
Sunucuyu yukarıda açıklandığı gibi calibre’de başlattıktan sonra Bağlan/paylaş düğmesine tekrar tıklayın. İçerik sunucusunu Başlat eylemi yerine, İçerik sunucusunu Durdur eylemini görmelisiniz. Bu eylemin sağında bir IP adresi ve port numarası listelenecektir. Bunlar noktalarla ayrılmış bir grup sayıya benziyor. Örneğin:
Stop Content server [192.168.1.5, port 8080]
Bu numaralar, cihazlarınızdaki sunucuya bağlanmak için hangi adresi kullanmanız gerektiğini size söyler. Yukarıdaki örneği takip edersek adres şu şekilde olur:
http://192.168.1.5:8080
Adresin ilk kısmı her zaman http://
olur, sonraki kısım IP adresidir, yani virgülden önceki sayılardır ve son olarak IP adresine iki nokta üst üste () eklenmesi gereken port numarasını alırız. :
). Şanslıysanız ihtiyacınız olan tek şey bu olmalı ve cihazınızdaki calibre kitaplıklarına bakıyor olacaksınız. Değilse, okumaya devam edin.
Ev ağı bağlantısında sorun giderme¶
Cihazınızdan sunucuya erişemiyorsanız aşağıdaki adımları deneyin:
Sunucuyla aynı bilgisayarda çalışan bir tarayıcıda
http://127.0.0.1:8080
adresini açarak sunucunun çalışıp çalışmadığını kontrol edin.Güvenlik duvarınızın/anti-virüsünüzün bilgisayarınıza
8080
bağlantı noktasından ve calibre programına bağlantılara izin verdiğini kontrol edin. Sorunların kaynağı olan güvenlik duvarını/antivirüsü ortadan kaldırmanın en kolay yolu, her ikisini de geçici olarak kapatmak ve ardından bağlanmayı denemektir. Bilgisayarınızı güvende tutmak için güvenlik duvarını kapatmadan önce öncelikle internet bağlantısını kesmelisiniz.Cihazınızın ve bilgisayarınızın aynı ağda olup olmadığını kontrol edin. Bu, her ikisinin de aynı kablosuz yönlendiriciye bağlı olması gerektiği anlamına gelir. Özellikle hücresel veya İSS tarafından sağlanan doğrudan WiFi bağlantısı kullanılmamalıdır.
Standart dışı ağ kurulumunuz varsa, Bağlan/paylaş menüsünde gösterilen IP adresi yanlış olabilir. Böyle bir durumda kullanacağınız doğru IP adresinin ne olduğunu kendiniz bulmanız gerekecektir. Ne yazık ki, mümkün olan ağ yapılandırmalarının sonsuz çeşitliliği göz önüne alındığında, bunu yapmak için size bir yol haritası vermek mümkün değildir.
Bir kullanıcı adı ve şifre ayarladıysanız, önce sorun yaratıp yaratmadığını görmek için bunları kullanmadan deneyin. Bazı e-mürekkep cihazlarında kimlik doğrulama işlemini gerçekleştiremeyen tarayıcılar bulunur. Bazen kullanıcı adını ve şifreyi URL’ye ekleyerek bu sorunu çözebilirsiniz, örneğin:
http://kullanıcıadı:şifre@192.168.1.2:8080
.Eğer takılırsanız, her zaman calibre kullanıcı forumlarından yardım isteyebilirsiniz.
İnternetin olduğu her yerden sunucuya erişim¶
Uyarı
Bunu yapmadan önce sunucuda kullanıcı adı/şifre korumasını açmalısınız, aksi takdirde dünyadaki herkes kitaplarınıza erişebilir. Tercihler → Paylaşım → Ağ üzerinden paylaşım seçeneğine gidin ve İçerik sunucusuna erişmek için kullanıcı adı ve şifre iste seçeneğini etkinleştirin.
İnternet erişimini ayarlamaya ilişkin belirli ayrıntılar, ağ yapılandırmasına ve kullandığınız bilgisayar türüne göre değişiklik gösterse de temel şema aşağıdaki gibidir.
Sunucuyu çalıştıracağınız bilgisayarın harici IP adresini öğrenin. Bunu, bilgisayarda çalışan bir tarayıcıda IP adresim nedir sitesini ziyaret ederek yapabilirsiniz.
Bilgisayar bir yönlendiricinin arkasındaysa,
8080
bağlantı noktasını (veya calibre İçerik sunucusunu çalıştırmak için seçtiğiniz herhangi bir bağlantı noktasını) bilgisayara iletmek için yönlendiricide bağlantı noktası iletmeyi etkinleştirin.Calibre sunucusuna bilgisayarınızdaki herhangi bir güvenlik duvarı/anti-virüs programı üzerinden izin verildiğinden emin olun.
Artık, ilk adımda bulduğunuz IP adresini kullanarak internete bağlı herhangi bir cihazdaki sunucuya erişebilmelisiniz. Örneğin, bulduğunuz IP adresi “123.123.123.123” ise ve calibre sunucusu için kullandığınız bağlantı noktası “8080” ise, cihazınızda kullanılacak adres şu şekilde olur: “http://123.123” .123.123:8080``.
İsteğe bağlı olarak, ilk adımda bulduğunuz IP adresi yerine hatırlanması kolay bir adres ayarlamak için “no-ip <https://www.noip.com/free>”_ gibi bir hizmet kullanın.
Not
Maksimum güvenlik için İçerik sunucusunda HTTPS’yi de etkinleştirmelisiniz. Sunucunun gelişmiş yapılandırma seçeneklerinde kullanılacak HTTPS sertifikasının yolunu sağlayarak bunu doğrudan sunucuda yapabilirsiniz veya mevcut bir HTTPS kurulumunu kullanmak için aşağıda açıklandığı gibi bir ters proxy ayarlayabilirsiniz.
Sunucu arayüzü¶
Sunucu arayüzü ana calibre arayüzünün basitleştirilmiş bir versiyonudur, dokunmatik ekranlarla kullanım için optimize edilmiştir. Ana ekran size şu anda okuduğunuz kitapları gösterir ve ayrıca göz atmak istediğiniz calibre kitaplığını seçmenize olanak tanır. Calibre’deki sunucu, daha önce olduğu gibi yalnızca tek bir kütüphaneye değil, tüm kütüphanelerinize erişmenizi sağlar.
Kitap listesi¶
The server book list is a simple grid of covers. Tap on a cover to see the detailed metadata for a book, or to read the book. If you prefer a more detailed list, you can change the default view by clicking the three vertical dots in the top right corner.
Sorting and searching of the book list should be familiar to calibre users. They can be accessed by clicking their icons in the top right area. They both work exactly the same as in the main calibre program. The search page even allows you to construct search queries by clicking on authors/tags/etc., just as you can using the Tag browser in the main program.
A much loved feature of the main program, Virtual libraries is present in the server interface as well. Click the three vertical dots in the top right corner to choose a Virtual library.
The book viewer¶
You can read any book in your calibre library by simply tapping on it and then tapping the Read button. The book viewer 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.
İçerik sunucusunu çalışır durumda bırakırsanız, aynı kitabı birden fazla cihazda bile açabilirsiniz; bu, son okuma konumunuzu hatırlayacaktır. Aksi takdirde, üst çeyreğe dokunup Sync seçeneğini seçerek senkronizasyonu zorlayabilirsiniz.
Tarayıcı desteği¶
Yeni calibre sunucusu gelişmiş HTML 5 ve CSS 3 özelliklerinin çoğunu kullanıyor. Bu nedenle kullanmak için güncel bir tarayıcı gerektirir. Masaüstünde Android Chrome ve iOS Safari’nin yanı sıra Chrome ve Firefox’ta da test edilmiştir.
Sunucu, halihazırda standartlaştırılmış veya standartlar yolunda olan işlevleri kullanmaya özen göstermektedir. Bu nedenle, şu anda favori tarayıcınızla çalışmıyorsa, muhtemelen o tarayıcı yetiştiğinde çalışacaktır.
Özellikle eski veya sınırlı bir tarayıcı kullanıyorsanız veya JavaScript çalıştırmayı sevmiyorsanız, sunucu adresine /mobile
ekleyerek mobil görünümünü kullanabilirsiniz.
Not
iOS’ta Apple yalnızca tek bir tarayıcı motoruna izin verir, dolayısıyla Firefox, Chrome ve Safari’nin hepsi aslında aynı tarayıcıdır. Yeni sunucu arayüzü iOS 10.3.2 veya daha yenisini gerektirir. Android’de sunucu, Chrome sürüm 58 ve daha yenisiyle test edilmiştir.
Çevrimdışı desteği etkinleştirme¶
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
.
Managing user accounts from the command-line only¶
The calibre program has a nice section in Preferences to allow you to manage user accounts for the server. However, if you want to run the standalone server and cannot run the main calibre program on the same computer/user account, you can also manage users using just the command-line.
You can manage user accounts using the --manage-users
option
to the standalone calibre-server
program. Suppose you want to store
the user database in the folder /srv/calibre
, then you create it
by running:
calibre-server --userdb /srv/calibre/users.sqlite --manage-users
Just follow the prompts to create user accounts, set their permission, etc. Once you are done, you can run the server as:
calibre-server --userdb /srv/calibre/users.sqlite --enable-auth
It will use the user accounts you created in the previous step.
Integrating the calibre Content server into other servers¶
Here, we will show you how to integrate the calibre Content server into another server. The most common reason for this is to make use of SSL or to serve the calibre library as part of a larger site. The basic technique is to run the calibre server and setup a reverse proxy to it from the main server.
A reverse proxy is when your normal server accepts incoming requests and passes them onto the calibre server. It then reads the response from the calibre server and forwards it to the client. This means that you can simply run the calibre server as normal without trying to integrate it closely with your main server.
Using a full virtual host¶
The simplest configuration is to dedicate a full virtual host to the calibre server. In this case, run the calibre server as:
calibre-server
Now setup the virtual host in your main server, for example, for 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;
}
}
Or, for 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>
Using a URL prefix¶
If you do not want to dedicate a full virtual host to calibre, you can have it use a URL prefix. Start the calibre server as:
calibre-server --url-prefix /calibre --port 8080
The key parameter here is --url-prefix /calibre
. This causes the Content server to serve all URLs prefixed by /calibre
. To see this in action, visit http://localhost:8080/calibre
in your browser. You should see the normal Content server website, but now it will run under /calibre
.
With nginx, the required configuration is:
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;
}
For Apache, first enable the proxy modules in Apache, by adding the following to httpd.conf
:
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_http_module modules/mod_proxy_http.so
The exact technique for enabling the proxy modules will vary depending on your Apache installation. Once you have the proxy modules enabled, add the following rules to httpd.conf
(or if you are using virtual hosts to the conf file for the virtual host in question):
AllowEncodedSlashes On
RewriteEngine on
RewriteRule ^/calibre/(.*) http://127.0.0.1:8080/calibre/$1 [proxy]
RedirectMatch permanent ^/calibre$ /calibre/
That’s all, you will now be able to access the calibre Content server under the /calibre
URL in your main server. The above rules pass all requests under /calibre
to the calibre server running on port 8080 and thanks to the --url-prefix
option above, the calibre server handles them transparently.
Not
When using a reverse proxy, you should tell the calibre Content server to
only listen on localhost, by using --listen-on 127.0.0.1
. That way,
the server will only listen for connections coming from the same computer,
i.e. from the reverse proxy.
Not
If you have setup SSL for your main server, you should tell the calibre
server to use basic authentication instead of digest authentication, as it
is faster. To do so, pass the --auth-mode=basic
option to
calibre-server
.
Creating a service for the calibre server on a modern Linux system¶
You can easily create a service to run calibre at boot on a modern
(systemd)
based Linux system. Just create the file
/etc/systemd/system/calibre-server.service
with the contents shown below:
[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
Change mylinuxuser
and mylinuxgroup
to whatever user and group you want
the server to run as. This should be the same user and group that own the files
in the calibre library folder. Note that it is generally not a good idea to
run the server as root. Also change the path to the calibre library
folder to suit your system. You can add multiple libraries if needed. See
the help for the calibre-server
command.
Now run:
sudo systemctl start calibre-server
to start the server. Check its status with:
sudo systemctl status calibre-server
To make it start at boot, run:
sudo systemctl enable calibre-server
Not
The calibre server does not need a running X server, but it does need the X libraries installed as some components it uses link against them.
Not
The calibre server also supports systemd socket activation, so you can use that, if needed, as well.