Ubuntu 18.04 Üzerinde Bir Calibre E-kitap Sunucusu Kurulumu ve Yapılandırması
Dijital çağın getirdiği kolaylıklardan biri de e-kitaplar. Calibre, bu e-kitapları yönetmek, dönüştürmek ve düzenlemek için açık kaynaklı ve güçlü bir yazılımdır. Yalnızca masaüstü uygulaması olarak değil, aynı zamanda bir içerik sunucusu olarak da işlev görebilir. Bu sayede, e-kitap kütüphanenizi merkezi bir sunucuda barındırabilir ve internet bağlantısı olan herhangi bir cihazdan erişebilirsiniz. Bu makalede, Ubuntu 18.04 işletim sistemi üzerinde adım adım bir Calibre e-kitap sunucusu kurulumunu, yapılandırmasını ve güvenliğini ele alacağız.
Giriş: Neden Bir Calibre E-kitap Sunucusu?
Calibre, e-kitap tutkunları için vazgeçilmez bir araçtır. Kapsamlı kütüphane yönetimi, farklı e-kitap formatları arasında dönüştürme yeteneği, meta veri düzenleme ve e-okuyucularla senkronizasyon gibi birçok özelliği barındırır. Ancak, Calibre’nin masaüstü sürümünü kullanırken kütüphaneniz genellikle tek bir bilgisayarda saklanır. Bu durum, farklı cihazlardan veya farklı konumlardan kütüphanenize erişmek istediğinizde kısıtlayıcı olabilir. İşte bu noktada Calibre e-kitap sunucusu devreye girer.
Bir Calibre sunucusu kurmanın temel avantajları şunlardır:
* Evrensel Erişim: Kütüphanenize internete bağlı herhangi bir bilgisayar, tablet veya akıllı telefondan erişebilirsiniz.
* Merkezi Yönetim: Tüm e-kitaplarınız tek bir yerde bulunur, bu da yedeklemeyi ve yönetimi kolaylaştırır.
* Paylaşım Kolaylığı: Aile üyeleriniz veya arkadaşlarınızla e-kitap kütüphanenizi kolayca paylaşabilirsiniz.
* Performans: Sunucu tabanlı bir kurulum, özellikle büyük kütüphaneler için masaüstü uygulamasına kıyasla daha istikrarlı ve hızlı bir erişim sağlayabilir.
* Çoklu Kullanıcı Desteği: Belirli kullanıcılar için erişim kontrolü sağlayarak kütüphanenizi güvenli bir şekilde paylaşabilirsiniz.
Ubuntu 18.04, uzun süreli destek (LTS) sunan, kararlı ve yaygın olarak kullanılan bir sunucu işletim sistemidir. Bu özellikleri sayesinde Calibre e-kitap sunucusu için ideal bir platform teşkil eder. Bu rehber, temel kurulumdan gelişmiş yapılandırmalara (Nginx ters proxy ve SSL gibi) kadar tüm süreci kapsayacaktır.
Ön Gereklilikler
Bu rehbere başlamadan önce aşağıdaki maddelerin hazır olduğundan emin olmalısınız:
* Ubuntu 18.04 Sunucusu: Fiziksel veya sanal bir Ubuntu 18.04 işletim sistemi kurulu sunucu.
* SSH Erişimi: Sunucuya SSH üzerinden bağlanabilme yeteneği.
* Sudo Yetkileri: Komutları yönetici ayrıcalıklarıyla çalıştırabilmek için sudo yetkisine sahip bir kullanıcı hesabı.
* Temel Linux Bilgisi: Komut satırı kullanımı ve dosya sistemi navigasyonu hakkında temel bilgi.
* İnternet Bağlantısı: Sunucunun paketleri indirebilmesi için aktif bir internet bağlantısı.
* Alan Adı (Opsiyonel): Eğer Nginx ve SSL ile bir alan adı üzerinden erişim sağlamak isterseniz bir alan adına ihtiyacınız olacaktır.
Sistem Güncelleme ve Gerekli Paketlerin Kurulumu
Kuruluma başlamadan önce, sisteminizin güncel olduğundan ve Calibre’nin düzgün çalışması için gerekli temel paketlerin yüklü olduğundan emin olmalıyız.
1. Sistem Güncellemesi:
İlk olarak, paket listelerini güncelleyelim ve mevcut paketleri yükseltelim:
sudo apt update && sudo apt upgrade -y
Bu komut, sistemdeki tüm paketleri en son sürümlerine güncelleyerek olası uyumluluk sorunlarını veya güvenlik açıklarını giderir.
2. Gerekli Paketlerin Kurulumu:
Calibre, bazı Python kütüphanelerine ve özellikle sunucu ortamında grafik arayüzü olmadan çalışabilmek için xvfb gibi sanal ekran sunucularına ihtiyaç duyabilir.
sudo apt install -y python3-pip python3-venv xvfb git
* python3-pip: Python paketlerini yüklemek için kullanılır.
* python3-venv: Sanal Python ortamları oluşturmak için kullanılır. Calibre’nin kendi bağımlılıkları olduğu için doğrudan kullanmasak da sistemde bulunması iyi bir uygulamadır.
* xvfb: “X Virtual Framebuffer” anlamına gelir. Calibre masaüstü uygulaması, bir grafik ortamı gerektirir. Başsız (headless) bir sunucuda, xvfb sanal bir ekran ortamı sağlayarak Calibre’nin GUI gerektiren işlemlerini (örneğin, ilk kütüphane oluşturma) gerçekleştirmesine olanak tanır. Calibre sunucusu (calibre-server) genellikle xvfb‘ye ihtiyaç duymaz, ancak calibre uygulamasının bazı komutları için gerekli olabilir.
* git: Genellikle yazılım kaynak kodlarını indirmek veya yönetmek için kullanılır. Bu kurulumda doğrudan Calibre için kullanılmasa da, sunucu yönetimi için genel bir gereklilik olabilir.
Calibre Kurulumu
Calibre’yi Ubuntu sunucumuza kurmanın en önerilen yolu, geliştiriciler tarafından sağlanan resmi kurulum betiğini kullanmaktır. Bu betik, Calibre’nin en son sürümünü otomatik olarak indirir ve sisteminize kurar.
Resmi Kurulum Betiği ile Calibre Kurulumu
Aşağıdaki komutu çalıştırarak Calibre’yi sisteminize yükleyin:
sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin
Bu komutun açıklaması:
* sudo -v: Sudo kimlik doğrulamasını önceden yapar, böylece sonraki sudo komutları şifre sormaz.
* wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh: Calibre’nin resmi Linux kurulum betiğini indirir. -nv sessiz (non-verbose) modu etkinleştirir, -O- ise çıktıyı standart çıktıya (stdout) yönlendirir.
* | sudo sh /dev/stdin: İndirilen betiği sudo yetkileriyle çalıştırır. /dev/stdin, betiğin standart girdiden okunmasını sağlar.
Kurulum işlemi birkaç dakika sürebilir. Tamamlandığında, Calibre genellikle /opt/calibre dizinine yüklenir.
Kurulumu doğrulamak için Calibre’nin sürümünü kontrol edebilirsiniz:
/opt/calibre/calibre --version
Bu komut, yüklü Calibre sürümünü göstermelidir.
Calibre Kütüphanesi ve Kullanıcı Oluşturma
Güvenlik ve düzen açısından Calibre sunucusunu özel bir sistem kullanıcısı altında çalıştırmak ve kütüphane dosyalarını ayrı bir dizinde saklamak en iyi yaklaşımdır.
Calibre Kullanıcısı Oluşturma
Sunucu hizmetini çalıştıracak ve Calibre kütüphanesine sahip olacak özel bir sistem kullanıcısı oluşturalım:
sudo adduser --system --no-create-home --group calibre
* adduser: Yeni bir kullanıcı ekler.
* --system: Bu kullanıcının bir sistem kullanıcısı olduğunu belirtir. Sistem kullanıcıları genellikle etkileşimli oturum açmazlar.
* --no-create-home: Kullanıcı için bir ev dizini oluşturmaz, çünkü bu kullanıcının etkileşimli bir kabuğa veya ev dizinine ihtiyacı yoktur.
* --group calibre: Kullanıcı ile aynı adı taşıyan bir grup oluşturur ve kullanıcıyı bu gruba ekler.
Bu calibre kullanıcısı, sunucu hizmetimizi çalıştırmak için kullanılacak ve bu sayede Calibre’nin root yetkileriyle çalışmasını önleyerek güvenlik risklerini azaltacaktır.
Calibre Kütüphanesi Dizin İzinlerini Ayarlama
Şimdi Calibre e-kitap kütüphanesini saklayacağımız dizini oluşturalım ve doğru izinleri verelim:
sudo mkdir -p /opt/calibre-library
sudo chown -R calibre:calibre /opt/calibre-library
sudo chmod -R 755 /opt/calibre-library
* sudo mkdir -p /opt/calibre-library: /opt/calibre-library dizinini oluşturur. -p parametresi, üst dizinler mevcut değilse onları da oluşturur. /opt dizini, isteğe bağlı yazılım paketleri için standart bir konumdur.
* sudo chown -R calibre:calibre /opt/calibre-library: Oluşturulan dizinin sahipliğini calibre kullanıcısına ve calibre grubuna atar. -R (recursive) parametresi, dizin içindeki tüm dosya ve alt dizinler için de bu değişikliği uygular.
* sudo chmod -R 755 /opt/calibre-library: Dizine ve içeriğine okuma, yazma ve çalıştırma izinleri verir (sahip için) ve okuma ve çalıştırma izinleri verir (grup ve diğerleri için).
Calibre E-kitap Sunucusunu Başlatma
Calibre, iki ana bileşene sahiptir: grafik arayüzlü masaüstü uygulaması (calibre) ve başsız sunucu uygulaması (calibre-server). İlk kütüphane oluşturma işlemi için masaüstü uygulamasının bazı özelliklerini kullanmamız gerekebilir, ancak sonrasında sadece calibre-server‘ı kullanacağız.
İlk Kütüphane Oluşturma ve Sunucu Testi (Gerekirse Xvfb ile)
Başsız bir sunucuda, Calibre’nin ilk kütüphane oluşturma işlemi sırasında grafik arayüz gerektirebilecek bazı içsel işlemler yapması olasıdır. Bu durumu xvfb ile aşabiliriz:
1. Xvfb’yi Başlatma:
sudo -u calibre Xvfb :1 -screen 0 1024x768x24 &
Bu komut, calibre kullanıcısı altında sanal bir X sunucusu (Xvfb) başlatır. :1 ekran numarasını, -screen 0 1024x768x24 ise sanal ekranın çözünürlüğünü ve renk derinliğini belirtir. & işareti, komutu arka planda çalıştırır.
2. DISPLAY Değişkenini Ayarlama ve Calibre ile Kütüphane Oluşturma:
Şimdi, calibre kullanıcısı olarak Calibre uygulamasını çalıştırıp kütüphaneyi oluşturalım. Bu komutu tek bir satırda çalıştırarak DISPLAY değişkeninin doğru ayarlandığından emin olabiliriz:
sudo -u calibre bash -c "export DISPLAY=:1; /opt/calibre/calibre --library-path /opt/calibre-library --start-server"
* sudo -u calibre: Komutu calibre kullanıcısı olarak çalıştırır.
* bash -c "...": Bir kabuk oturumu başlatır ve tırnak içindeki komutları çalıştırır.
* export DISPLAY=:1: Sanal ekranı kullanmak için DISPLAY ortam değişkenini ayarlar.
* /opt/calibre/calibre: Calibre masaüstü uygulamasının çalıştırılabilir dosyasının yolu.
* --library-path /opt/calibre-library: Calibre’ye kütüphane dizininin nerede olduğunu söyler. Eğer bu dizin boşsa, Calibre otomatik olarak yeni bir kütüphane başlatacaktır.
* --start-server: Calibre’nin içeriğini sunan dahili sunucuyu başlatır.
Bu komut, kütüphaneyi başlatacak ve Calibre sunucusunu geçici olarak çalıştıracaktır. İlk kez çalıştırdığınızda, Calibre kütüphane yapısını oluşturacak ve metadata.db gibi temel dosyaları oluşturacaktır. Sunucu başlatıldıktan sonra tarayıcınızdan http://sunucu_ip_adresi:8080 adresine giderek erişimi test edebilirsiniz. Test bittikten sonra, terminalde Ctrl+C tuşlarına basarak sunucuyu durdurun.
3. Xvfb’yi Durdurma:
sudo killall Xvfb
Bu komut, arka planda çalışan sanal X sunucusunu durdurur.
Calibre İçerik Sunucusunu Çalıştırma
Artık kütüphanemiz oluşturulduğuna göre, başsız calibre-server uygulamasını kullanarak sunucuyu başlatabiliriz. Bu uygulama grafik arayüz gerektirmez.
sudo -u calibre /opt/calibre/calibre-server --with-library /opt/calibre-library --port 8080 --username admin --password your_secure_password --enable-read-only
Bu komutun parametreleri:
* --with-library /opt/calibre-library: Hangi Calibre kütüphanesini sunacağını belirtir.
* --port 8080: Sunucunun dinleyeceği port numarasını ayarlar. 8080 yaygın bir seçimdir.
* --username admin --password your_secure_password: Web arayüzüne erişim için bir kullanıcı adı ve şifre belirler. your_secure_password yerine güçlü bir şifre kullanmayı unutmayın.
* --enable-read-only: Sunucuyu salt okunur modda başlatır. Bu, kullanıcıların web arayüzü üzerinden kitap eklemesini, silmesini veya değiştirmesini engeller. Eğer kullanıcıların kitap yüklemesine izin vermek istiyorsanız bu parametreyi kaldırabilirsiniz, ancak güvenlik açısından dikkatli olunmalıdır.
Bu komut, sunucuyu terminalde çalıştırır. Terminali kapattığınızda sunucu da kapanacaktır. Kalıcı ve otomatik başlatılan bir hizmet için systemd kullanacağız.
Systemd ile Otomatik Başlatma ve Yönetim
systemd, Linux sistemlerinde hizmetleri yönetmek için kullanılan bir sistem ve hizmet yöneticisidir. Calibre sunucumuzu bir systemd hizmeti olarak yapılandırmak, sunucunun otomatik olarak başlamasını, arka planda çalışmasını ve gerektiğinde kolayca yönetilmesini sağlar.
Calibre Sunucusu için Systemd Servis Dosyası Oluşturma
Bir systemd servis dosyası oluşturalım:
sudo nano /etc/systemd/system/calibre-server.service
Açılan dosyaya aşağıdaki içeriği yapıştırın:
[Unit]
Description=Calibre Content Server
After=network.target
[Service]
Type=simple
User=calibre
Group=calibre
ExecStart=/opt/calibre/calibre-server --with-library /opt/calibre-library --port 8080 --username admin --password your_secure_password --enable-read-only
Restart=on-failure
StandardOutput=journal
StandardError=journal
[Install]
WantedBy=multi-user.target
Önemli: your_secure_password kısmını kendi güçlü şifrenizle değiştirmeyi unutmayın. Eğer web arayüzünden kitap yüklemeye izin vermek istiyorsanız --enable-read-only parametresini kaldırın.
Bu dosyanın açıklaması:
* [Unit]: Servis hakkında genel bilgi ve bağımlılıkları tanımlar.
* Description: Servisin kısa açıklaması.
* After=network.target: Servisin ağ servisi başlatıldıktan sonra başlamasını sağlar.
* [Service]: Servisin nasıl çalıştırılacağını tanımlar.
* Type=simple: Servisin ana işleminin ExecStart tarafından başlatıldığını ve başka bir işlem oluşturmadığını belirtir.
* User=calibre: Servisi çalıştıracak kullanıcı.
* Group=calibre: Servisi çalıştıracak grup.
* ExecStart: Servis başlatıldığında çalıştırılacak komut. Burada calibre-server komutunu ve gerekli parametreleri belirtiyoruz.
* Restart=on-failure: Servis başarısız olursa otomatik olarak yeniden başlatılır.
* StandardOutput=journal ve StandardError=journal: Servisin standart çıktısını ve hata çıktısını journald‘ye yönlendirir, bu da günlükleri kolayca görüntülememizi sağlar.
* [Install]: Servisin sistem başlangıcında nasıl etkinleştirileceğini tanımlar.
* WantedBy=multi-user.target: Servisin çok kullanıcılı sistem hedefi (yani normal çalışma modu) için bir bağımlılık olduğunu belirtir, bu da sistem açılışında otomatik olarak başlatılacağı anlamına gelir.
Dosyayı kaydedin ve kapatın (Nano’da Ctrl+O, Enter, Ctrl+X).
Servisi Etkinleştirme ve Başlatma
Şimdi systemd‘ye yeni servis dosyasını okumasını söyleyelim, servisi etkinleştirelim ve başlatalım:
sudo systemctl daemon-reload
sudo systemctl enable calibre-server
sudo systemctl start calibre-server
* sudo systemctl daemon-reload: systemd‘ye yapılandırma dosyalarını yeniden yüklemesini söyler, böylece yeni calibre-server.service dosyasını tanır.
* sudo systemctl enable calibre-server: Servisi sistem açılışında otomatik olarak başlayacak şekilde etkinleştirir.
* sudo systemctl start calibre-server: Servisi hemen başlatır.
Servisin durumunu kontrol etmek için:
sudo systemctl status calibre-server
Durumun active (running) olduğunu görmelisiniz. Servis günlüklerini takip etmek için:
sudo journalctl -u calibre-server -f
Bu komut, Calibre sunucusunun çıktısını gerçek zamanlı olarak gösterir ve herhangi bir hata olup olmadığını kontrol etmenizi sağlar. Çıkmak için Ctrl+C kullanın.
Güvenlik Duvarı Yapılandırması (UFW)
Sunucunuzun güvenlik duvarı (UFW – Uncomplicated Firewall) aktifse, Calibre sunucusunun erişilebilir olması için 8080 numaralı portu açmanız gerekir.
1. Portu Açma:
sudo ufw allow 8080/tcp
Bu komut, TCP protokolü üzerinden 8080 numaralı porttan gelen bağlantılara izin verir.
2. Güvenlik Duvarını Etkinleştirme (Gerekirse):
Eğer UFW henüz etkin değilse, etkinleştirmeniz gerekebilir:
sudo ufw enable
Bu komut, UFW’yi başlatır ve sistem başlangıcında otomatik olarak etkinleşmesini sağlar. Bir uyarı alırsanız y tuşuna basarak onaylayın.
3. Güvenlik Duvarı Durumunu Kontrol Etme:
sudo ufw status
Bu komut, UFW’nin mevcut durumunu ve izin verilen kuralları gösterir. 8080 portunun listede olduğunu doğrulamalısınız.
Artık web tarayıcınızdan http://sunucu_ip_adresi:8080 adresine giderek Calibre sunucunuza erişebilirsiniz. Belirlediğiniz kullanıcı adı ve şifre ile giriş yapmanız istenecektir.
E-kitapları Kütüphaneye Ekleme
Calibre kütüphanesine e-kitap eklemek, dosyaları doğrudan /opt/calibre-library dizinine kopyalamakla olmaz. Calibre’nin kendi veritabanını (metadata.db) güncellemesi gerekir. Bunun için calibredb komutunu kullanacağız.
SSH ile Dosya Yükleme ve calibredb ile Ekleme
1. Geçici Yükleme Dizini Oluşturma:
E-kitap dosyalarını sunucuya yüklemek için geçici bir dizin oluşturalım ve calibre kullanıcısının buraya yazma izni olduğundan emin olalım:
sudo mkdir -p /tmp/calibre_uploads
sudo chown calibre:calibre /tmp/calibre_uploads
sudo chmod 755 /tmp/calibre_uploads
2. E-kitapları Sunucuya Yükleme:
Yerel bilgisayarınızdan e-kitap dosyalarını (örneğin .epub, .mobi, .pdf vb.) sunucudaki /tmp/calibre_uploads dizinine SFTP veya SCP kullanarak yükleyebilirsiniz. Örneğin, SCP ile:
scp /path/to/your/local/ebook.epub your_user@your_server_ip:/tmp/calibre_uploads/
your_user yerine sunucunuzdaki SSH kullanıcı adınızı, your_server_ip yerine sunucunuzun IP adresini ve /path/to/your/local/ebook.epub yerine yerel e-kitabınızın yolunu yazın. Birden fazla dosya yüklemek için joker karakterler (*.epub) kullanabilirsiniz.
3. Calibre Kütüphanesine E-kitapları Ekleme:
Dosyalar sunucuya yüklendikten sonra, calibre kullanıcısı olarak calibredb komutunu kullanarak bunları Calibre kütüphanesine ekleyelim:
sudo -u calibre /opt/calibre/calibredb add --library-path /opt/calibre-library /tmp/calibre_uploads/*.epub
# Diğer formatlar için:
sudo -u calibre /opt/calibre/calibredb add --library-path /opt/calibre-library /tmp/calibre_uploads/*.pdf
* calibredb add: Calibre veritabanına yeni kitaplar eklemek için kullanılır.
* --library-path /opt/calibre-library: Hangi kütüphaneye ekleneceğini belirtir.
/tmp/calibre_uploads/.epub: Eklenecek e-kitap dosyalarının yolu ve deseni.
Bu komut, belirtilen dosyaları tarar, meta verilerini okur ve Calibre kütüphanesine ekler. Eklenen kitaplar otomatik olarak /opt/calibre-library içindeki uygun alt dizinlere taşınacaktır.
4. Geçici Yükleme Dizini Temizleme:
Kitaplar kütüphaneye eklendikten sonra, geçici yükleme dizinindeki dosyaları silebilirsiniz:
sudo rm -rf /tmp/calibre_uploads
Bu adımları tamamladıktan sonra, Calibre web arayüzünü yenileyerek yeni eklenen kitapları görebilirsiniz.
Ters Proxy Kurulumu (Nginx ile) (Opsiyonel ama Önerilen)
Calibre sunucusuna doğrudan 8080 portu üzerinden erişmek yerine, bir ters proxy (örneğin Nginx) kullanmak birçok avantaj sağlar:
* Standart Portlar (80/443): Calibre’ye standart HTTP (80) veya HTTPS (443) portları üzerinden erişim sağlar, bu da port numarası belirtme zorunluluğunu ortadan kaldırır.
* SSL/TLS Desteği: Nginx, Let’s Encrypt gibi hizmetlerle kolayca entegre edilerek güvenli HTTPS bağlantısı kurmanızı sağlar.
* Merkezi Yönetim: Aynı sunucuda birden fazla web hizmeti çalıştırıyorsanız, Nginx ile tümünü tek bir noktadan yönetebilirsiniz.
Nginx Kurulumu
Nginx’i sunucunuza kuralım:
sudo apt install -y nginx
Kurulum tamamlandıktan sonra Nginx servisi otomatik olarak başlayacaktır. Durumunu kontrol edebilirsiniz:
sudo systemctl status nginx
Nginx Yapılandırması
Calibre sunucusu için bir Nginx yapılandırma dosyası oluşturalım:
sudo nano /etc/nginx/sites-available/calibre-server
Açılan dosyaya aşağıdaki içeriği yapıştırın:
server {
listen 80;
server_name your_domain_or_ip; # Alan adınızı veya IP adresinizi buraya yazın
location / {
proxy_pass http://localhost:8080;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
}
}
* listen 80: Nginx’in HTTP isteklerini 80 numaralı porttan dinlemesini sağlar.
* server_name your_domain_or_ip: Sunucunuzun alan adını (örneğin kitaplarim.com) veya IP adresini buraya yazın.
* location /: Gelen tüm istekleri yakalar.
* proxy_pass http://localhost:8080: İstekleri Calibre sunucusunun çalıştığı 8080 portuna yönlendirir.
* proxy_set_header ...: Orijinal istemci bilgilerini Calibre sunucusuna iletir, bu da günlük kaydı ve hata ayıklama için faydalıdır.
Dosyayı kaydedin ve kapatın.
Nginx Konfigürasyonunu Etkinleştirme
Oluşturduğumuz yapılandırma dosyasını sites-enabled dizinine bir sembolik bağlantı oluşturarak etkinleştirelim:
sudo ln -s /etc/nginx/sites-available/calibre-server /etc/nginx/sites-enabled/
Varsayılan Nginx yapılandırma dosyasını devre dışı bırakmak iyi bir uygulamadır:
sudo rm /etc/nginx/sites-enabled/default
Nginx yapılandırmasını test edelim:
sudo nginx -t
Eğer test is successful mesajını görürseniz, yapılandırmanızda bir hata yoktur. Şimdi Nginx’i yeniden başlatalım:
sudo systemctl restart nginx
Güvenlik Duvarını Güncelleme
Eğer Nginx kullanıyorsanız, Calibre’nin 8080 portunu doğrudan açmaya gerek kalmaz. Bunun yerine Nginx’in kullandığı HTTP (80) ve HTTPS (443) portlarını açmalısınız.
sudo ufw allow 'Nginx HTTP'
Eğer daha önce 8080 portunu açtıysanız, artık ihtiyacınız yok:
sudo ufw delete allow 8080/tcp
sudo ufw status
Şimdi tarayıcınızdan http://your_domain_or_ip adresine giderek Calibre sunucunuza erişebilirsiniz. Artık port numarası belirtmenize gerek kalmayacaktır.
SSL/TLS ile Güvenli Bağlantı (Let’s Encrypt ve Certbot) (Opsiyonel ama Şiddetle Önerilen)
E-kitap sunucunuza güvenli bir şekilde erişmek ve veri aktarımını şifrelemek için SSL/TLS kullanmak kritik öneme sahiptir. Let’s Encrypt, ücretsiz SSL sertifikaları sağlar ve Certbot aracı ile kolayca entegre edilebilir. Bu adımı gerçekleştirmek için bir alan adınızın olması ve Nginx’i kurmuş olmanız gerekmektedir.
Certbot Kurulumu
Certbot’u ve Nginx eklentisini kuralım:
sudo apt install -y certbot python-certbot-nginx
SSL Sertifikası Alma
Aşağıdaki komutu kullanarak Let’s Encrypt’ten SSL sertifikası alabilir ve Nginx yapılandırmanızı otomatik olarak güncelleyebilirsiniz:
sudo certbot --nginx -d your_domain_or_ip
* --nginx: Certbot’a Nginx ile entegre olmasını söyler.
* -d your_domain_or_ip: Sertifika almak istediğiniz alan adını veya IP adresini belirtir. Buraya Nginx yapılandırmanızda kullandığınız server_name değerini yazmalısınız.
Certbot size bazı sorular soracaktır:
* E-posta adresinizi girin (yenileme bildirimleri için).
* Hizmet şartlarını kabul edin.
* E-posta adresinizi Let’s Encrypt ile paylaşmak isteyip istemediğiniz sorulabilir.
* Nginx yapılandırmanızda HTTP trafiğini HTTPS’e yönlendirmek isteyip istemediğiniz sorulacaktır. Genellikle “2: Redirect” seçeneğini seçmek en iyisidir.
Başarılı bir kurulumdan sonra, Certbot Nginx yapılandırmanızı güncelleyecek ve 80 portundan gelen tüm HTTP isteklerini otomatik olarak 443 portuna (HTTPS) yönlendirecektir.
Otomatik Yenileme Kontrolü
Let’s Encrypt sertifikaları 90 gün geçerlidir. Certbot, sertifikaların otomatik olarak yenilenmesini sağlayan bir cron işi veya systemd zamanlayıcısı kurar. Yenileme zamanlayıcısının durumunu kontrol edebilirsiniz:
sudo systemctl status certbot.timer
Bu, sertifikalarınızın süresi dolmadan önce otomatik olarak yenileneceğini garanti eder.
Artık tarayıcınızdan https://your_domain_or_ip adresine giderek Calibre sunucunuza güvenli bir HTTPS bağlantısı üzerinden erişebilirsiniz.
Ek Özellikler ve İpuçları
Calibre e-kitap sunucunuzu daha da geliştirmek ve yönetmek için bazı ek özellikler ve ipuçları:
Calibre-Web ile Daha Gelişmiş Bir Arayüz (Opsiyonel)
Calibre’nin dahili içerik sunucusu temel bir web arayüzü sunsa da, Calibre-Web adlı ayrı bir proje, Calibre kütüphaneniz için çok daha zengin özelliklere sahip, modern ve kullanıcı dostu bir web arayüzü sağlar. Kullanıcı yönetimi, okuma takibi, kitap derecelendirme ve daha fazlasını sunar. Calibre-Web kurulumu ayrı bir rehber konusu olsa da, bu gelişmiş arayüzü değerlendirmek isteyebilirsiniz. Genellikle Calibre sunucusunun üzerine ayrı bir Python uygulaması olarak kurulur ve Calibre’nin metadata.db dosyasını kullanır.
Yedekleme Stratejileri
E-kitap kütüphaneniz değerli bir varlıktır. Düzenli yedeklemeler yapmak olası veri kayıplarını önler.
* Basit Yedekleme: Calibre kütüphane dizininin (/opt/calibre-library) tamamını düzenli olarak harici bir diske veya bulut depolama alanına kopyalayabilirsiniz.
sudo rsync -avz /opt/calibre-library /path/to/backup/destination
* Otomatik Yedekleme: cron işleri veya systemd zamanlayıcıları kullanarak otomatik yedekleme betikleri oluşturabilirsiniz. Yedekleme yapmadan önce Calibre sunucusunu kısa bir süreliğine durdurmak (sudo systemctl stop calibre-server) veri bütünlüğü için en iyisidir, ardından yedekleme bittikten sonra tekrar başlatın.
Performans İpuçları
* Donanım: Büyük kütüphaneler için yeterli RAM ve hızlı bir işlemci önemlidir. Özellikle SSD tabanlı depolama, kitap listeleme ve arama işlemlerini önemli ölçüde hızlandıracaktır.
* Ağ Bağlantısı: Sunucunuzun internet bağlantısı ne kadar hızlı olursa, e-kitap indirme deneyimi de o kadar iyi olacaktır.
* Calibre Sürümü: Calibre’nin her zaman en son sürümünü kullanmaya özen gösterin, çünkü performans iyileştirmeleri ve hata düzeltmeleri içerebilir.
Sonuç
Bu kapsamlı rehberde, Ubuntu 18.04 işletim sistemi üzerinde eksiksiz bir Calibre e-kitap sunucusu kurma ve yapılandırma sürecini tamamladık. Sistem güncellemelerinden başlayarak Calibre kurulumuna, özel kullanıcı ve kütüphane dizini ayarlamalarına, systemd ile otomatik başlatmaya, güvenlik duvarı yapılandırmasına, e-kitap eklemeye ve hatta Nginx ters proxy ile SSL/TLS güvenliğine kadar her adımı detaylı bir şekilde inceledik.
Artık, e-kitap kütüphanenize dünyanın herhangi bir yerinden güvenli ve kolay bir şekilde erişebilen, merkezi ve kararlı bir platforma sahipsiniz. Bu sunucu, hem kişisel kullanımınız için hem de aileniz veya arkadaşlarınızla e-kitaplarınızı paylaşmak için harika bir çözüm sunar. Unutmayın, güçlü şifreler kullanmak ve düzenli yedeklemeler yapmak, dijital kütüphanenizin güvenliği ve bütünlüğü için hayati önem taşır. Calibre’nin sunduğu bu esneklik sayesinde, e-kitap deneyiminizi bir üst seviyeye taşıyabilir ve dijital okuma alışkanlıklarınızdan daha fazla keyif alabilirsiniz.