Calibre là trình quản lý sách điện tử miễn phí và mã nguồn mở. Nó được cung cấp dưới dạng ứng dụng máy tính để bàn đa nền tảng cùng với thành phần máy chủ và có thể được sử dụng để quản lý thư viện sách điện tử của bạn.
Thiết lập calibre làm máy chủ cho phép bạn truy cập sách của mình từ bất kỳ đâu trên thế giới và cho phép bạn chia sẻ chúng với bạn bè và gia đình. Bạn cũng có thể chuyển chúng sang thiết bị di động để đọc sau. Máy chủ Calibre cũng cho phép bạn đọc sách điện tử trực tiếp trên web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về cách cài đặt và sử dụng máy chủ sách điện tử calibre trên máy chủ chạy Ubuntu 20.04.
Bật cổng SSH.
Bật tường lửa.
Bật cổng 8080 được máy chủ calibre sử dụng.
Kiểm tra trạng thái tường lửa.
Trước tiên, bạn cần cài đặt một số phần phụ thuộc.
Tải xuống trình cài đặt máy chủ calibre.
Đặt tập lệnh cài đặt thành tệp thực thi.
Chạy trình cài đặt.
Bạn sẽ nhận được một số cảnh báo vì trình cài đặt mong đợi hệ thống Desktop chứ không phải máy chủ không có giao diện. Bạn có thể bỏ qua chúng.
Chạy lệnh sau để tải xuống cuốn sách đầu tiên của bạn. Theo tinh thần của lễ hội Halloween gần đây, chúng ta hãy tải xuống một câu chuyện kinh dị, "The turn of the screw" của Henry James.
Tạo một thư mục cho thư viện calibre của bạn.
Thêm cuốn sách bạn vừa tải xuống vào thư viện calibre của mình bằng lệnh
Bây giờ là lúc khởi động calibre.
Bạn sẽ thấy kết quả tương tự.
Khởi chạy URL
Nhấp vào
Bạn có thể dừng máy chủ bằng cách nhấn Ctrl+C trên dòng lệnh.
Máy chủ Calibre sử dụng cổng 8080 theo mặc định. Bạn có thể thay đổi nó bằng cách sửa đổi lệnh trong khi khởi chạy.
Sau đó, bạn có thể kiểm tra bằng cách khởi chạy URL
Bạn cũng sẽ cần cho phép cổng thông qua tường lửa.
Tạo một tệp
Dán mã sau.
Thay thế
Lưu và đóng tệp bằng cách nhấn Ctrl+W và nhập Y khi được nhắc.
Bật và khởi động dịch vụ calibre.
Bạn có thể kiểm tra bằng cách khởi động lại dịch vụ.
Chờ vài phút và mở
Trước tiên, hãy dừng máy chủ calibre.
Khởi động tập lệnh quản lý người dùng của calibre. Bạn có thể chỉ định đường dẫn nơi cơ sở dữ liệu người dùng sẽ được lưu trữ. Nó được lưu trữ dưới dạng cơ sở dữ liệu SQLite.
Nhập 1 để tạo người dùng mới và chọn mật khẩu mạnh.
Tiếp theo, chúng ta cần chỉnh sửa dịch vụ calibre đã thiết lập trước đó.
Mở tệp dịch vụ.
Thêm cờ
Lưu và đóng tệp bằng cách nhấn Ctrl+W và nhập Y khi được nhắc.
Làm mới daemon dịch vụ để tải lại tệp dịch vụ đã sửa đổi và khởi động lại dịch vụ.
Lần sau, khi bạn khởi chạy trang web, bạn sẽ được yêu cầu nhập tên người dùng và mật khẩu trước khi truy cập thư viện.
Tạo một thư mục theo dõi và chuyển sang thư mục đó.
Tải xuống một cuốn sách mới vào thư mục bằng lệnh sau.
Tiếp theo, mở Crontab Editor.
Thêm dòng sau vào cuối.
Tập lệnh này sẽ thêm tất cả các tệp trong thư mục
Công việc cron sẽ chạy sau mỗi 5 phút. Đợi vài phút và tải lại trang web máy chủ calibre để xem cuốn sách bạn vừa thêm xuất hiện trong thư viện.
Chạy lệnh sau để cài đặt Nginx.
Mở các cổng 80 và 443 và đóng cổng 8080 vì không còn cần thiết nữa.
Để làm được điều đó, hãy cài đặt Certbot.
Dừng Nginx vì nó sẽ can thiệp vào quy trình Certbot.
Tạo chứng chỉ. Chúng ta cũng cần tạo chứng chỉ DHParams.
Chúng ta cũng cần thiết lập một tác vụ cron để tự động gia hạn SSL. Để mở trình soạn thảo crontab, hãy chạy lệnh sau
Lệnh trên sẽ mở trình soạn thảo Crontab.
Dán dòng sau vào cuối.
Công việc cron trên sẽ chạy certbot lúc 2:25 sáng hàng ngày. Bạn có thể thay đổi thành bất kỳ thứ gì bạn muốn.
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Chạy lệnh sau để thêm tệp cấu hình cho máy chủ Calibre.
Dán mã sau vào trình chỉnh sửa.
Nhấn Ctrl + X để đóng trình soạn thảo và nhấn Y khi được nhắc lưu tệp.
Kích hoạt tệp cấu hình này bằng cách liên kết tệp đó đến thư mục
Kiểm tra cấu hình Nginx.
Bạn sẽ thấy đầu ra sau cho biết cấu hình của bạn là chính xác.
Tải lại dịch vụ Nginx.
Bây giờ bạn có thể khởi chạy trang web thông qua URL
Thiết lập calibre làm máy chủ cho phép bạn truy cập sách của mình từ bất kỳ đâu trên thế giới và cho phép bạn chia sẻ chúng với bạn bè và gia đình. Bạn cũng có thể chuyển chúng sang thiết bị di động để đọc sau. Máy chủ Calibre cũng cho phép bạn đọc sách điện tử trực tiếp trên web.
Trong hướng dẫn này, bạn sẽ tìm hiểu về cách cài đặt và sử dụng máy chủ sách điện tử calibre trên máy chủ chạy Ubuntu 20.04.
Điều kiện tiên quyết
-
Máy chủ chạy Ubuntu 20.04 với người dùng có quyền sudo.
-
Luôn cập nhật máy chủ.
Mã:$ sudo apt update && sudo apt upgrade
Cấu hình Tường lửa
Ubuntu 20.04 mặc định có Tường lửa đơn giản (UFW). Trong trường hợp không có, hãy cài đặt trước.
Mã:
$ sudo apt install ufw
Mã:
$ sudo ufw allow "OpenSSH"
Mã:
$ sudo ufw enable
Mã:
$ sudo ufw allow 8080
Mã:
$ sudo ufw statusTrạng thái: activeĐến Hành động Từ-- ------ ----OpenSSH ALLOW Anywhere8080 ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)8080 (v6) ALLOW Anywhere (v6)
Tải xuống và Cài đặt Máy chủ calibre
Ubuntu 20.04 có đi kèm calibre nhưng tốt hơn là cài đặt trực tiếp từ trang web của họ để có phiên bản mới nhất.Trước tiên, bạn cần cài đặt một số phần phụ thuộc.
Mã:
$ sudo apt install libfontconfig libgl1-mesa-glx
Mã:
$ wget https://download.calibre-ebook.com/linux-installer.sh
Mã:
$ chmod +x ./linux-installer.sh
Mã:
$ sudo ./linux-installer.sh
Tạo Thư viện và Thêm Sách đầu tiên của bạn
Đối với hướng dẫn của chúng tôi, chúng tôi sẽ tải xuống một cuốn sách từ Project Gutenberg làm ví dụ. Project Gutenberg là kho lưu trữ sách miễn phí, thuộc phạm vi công cộng khổng lồ.Chạy lệnh sau để tải xuống cuốn sách đầu tiên của bạn. Theo tinh thần của lễ hội Halloween gần đây, chúng ta hãy tải xuống một câu chuyện kinh dị, "The turn of the screw" của Henry James.
Mã:
$ wget http://www.gutenberg.org/ebooks/209.kindle.noimages -O turnofthescrew.mobi
Mã:
$ mkdir calibre-library
calibredb
.
Mã:
$ calibredb add *.mobi --with-library calibre-library/Đã thêm id sách: 1
Chạy calibre Máy chủ
Chạy lệnh sau để khởi động máy chủ nội dung calibre.
Mã:
$ calibre-server calibre-library
calibre-server
là lệnh được sử dụng để khởi động máy chủ và calibre-library
là tên thư mục chúng ta vừa tạo và sẽ được máy chủ sử dụng để tải giao diện.Bạn sẽ thấy kết quả tương tự.
Mã:
máy chủ calibre đang lắng nghe trên 0.0.0.0:8080Nguồn cấp OPDS được quảng cáo qua BonJour tại: your_server_ip cổng: 8080
http://:8080
trong trình duyệt của bạn và bạn sẽ thấy màn hình calibre mặc định.Nhấp vào
calibre-library
và bạn sẽ thấy cuốn sách The turn of the screw
mà bạn vừa tải xuống.Bạn có thể dừng máy chủ bằng cách nhấn Ctrl+C trên dòng lệnh.
Máy chủ Calibre sử dụng cổng 8080 theo mặc định. Bạn có thể thay đổi nó bằng cách sửa đổi lệnh trong khi khởi chạy.
Mã:
$ calibre-server calibre-library --port 7530
http://:7530
trong trình duyệt của mình.Bạn cũng sẽ cần cho phép cổng thông qua tường lửa.
Mã:
$ sudo ufw allow 7530
Tạo một dịch vụ cho máy chủ calibre
Có lẽ bạn sẽ muốn calibre chạy mãi mãi ngay cả sau khi máy chủ khởi động lại. Để thực hiện điều đó, bạn sẽ cần tạo một dịch vụ cho calibre để tự động khởi động khi khởi động.Tạo một tệp
/etc/systemd/system/calibre-server.service
và mở tệp đó để chỉnh sửa bằng trình chỉnh sửa Nano.
Mã:
$ sudo nano /etc/systemd/system/calibre-server.service
Mã:
## dịch vụ khởi động[Đơn vị]Mô tả=máy chủ nội dung calibreAfter=mạng.mục tiêu[Dịch vụ]Loại=đơn giảnNgười dùng=Nhóm=ExecStart=/opt/calibre/calibre-server /home//calibre-library --enable-local-write[Cài đặt]WantedBy=multi-user.target
bằng người dùng hệ thống thực tế trên máy chủ Ubuntu của bạn.Lưu và đóng tệp bằng cách nhấn Ctrl+W và nhập Y khi được nhắc.
Bật và khởi động dịch vụ calibre.
Mã:
$ sudo systemctl enable calibre-server$ sudo systemctl start calibre-server
Mã:
$ sudo reboot
http://:8080
trong trình duyệt để đảm bảo calibre đang hoạt động.Thêm xác thực người dùng vào máy chủ calibre
Hiện tại, bất kỳ ai biết IP máy chủ của bạn đều có thể truy cập máy chủ calibre. Chúng ta có thể thay đổi điều đó bằng cách thêm xác thực người dùng vào máy chủ.Trước tiên, hãy dừng máy chủ calibre.
Mã:
$ sudo systemctl stop calibre-server
Mã:
$ sudo calibre-server --userdb /home//.config/calibre/server-users.sqlite --manage-users1) Thêm người dùng mới2) Chỉnh sửa người dùng hiện có3) Xóa người dùng4) HủyBạn muốn làm gì? [1-4]: 1Nhập tên người dùng: howtoforgeNhập mật khẩu mới cho howtoforge:Nhập lại mật khẩu mới cho howtoforge để xác minh:Người dùng howtoforge đã được thêm thành công!
Tiếp theo, chúng ta cần chỉnh sửa dịch vụ calibre đã thiết lập trước đó.
Mở tệp dịch vụ.
Mã:
$ sudo nano /etc/systemd/system/calibre-server.service
--enable-auth
vào cuối dòng bắt đầu bằng ExecStart
để bật xác thực người dùng.
Mã:
. . .ExecStart=/opt/calibre/calibre-server "/home//calibre-library" --userdb "/home//.config/calibre/server-users.sqlite" --enable-local-write --enable-auth. . .
Làm mới daemon dịch vụ để tải lại tệp dịch vụ đã sửa đổi và khởi động lại dịch vụ.
Mã:
sudo systemctl daemon-reloadsudo systemctl start calibre-server
Tự động thêm sách vào thư viện của bạn
Chúng ta có thể thiết lập một thư mục theo dõi có thể được theo dõi bởi máy chủ calibre để bất cứ khi nào bạn thêm một cuốn sách mới vào thư mục, nó sẽ tự động được thêm vào thư viện Calibre.Tạo một thư mục theo dõi và chuyển sang thư mục đó.
Mã:
$ mkdir ~/watchbooks$ cd ~/watchbooks
Mã:
$ wget http://www.gutenberg.org/ebooks/514.epub.noimages -o littlewomen.epub
Mã:
$ crontab -e
Mã:
*/5 * * * * calibredb add /home//watchbooks/ -r --with-library http://localhost:8080#calibre-library --username calibreuser --password YourPassword && rm -r /home//watchbooks/*
/home//watchbooks
vào thư viện calibre và xóa tất cả các tệp gốc vì chúng không còn cần thiết nữa.Công việc cron sẽ chạy sau mỗi 5 phút. Đợi vài phút và tải lại trang web máy chủ calibre để xem cuốn sách bạn vừa thêm xuất hiện trong thư viện.
Cài đặt Nginx
Trong bước này, chúng ta sẽ cài đặt máy chủ web Nginx để phục vụ máy chủ calibre qua proxy. Theo cách đó, bạn có thể truy cập nó qua tên miền, ví dụ:calibre.yourdomain.com
. Bạn cũng không cần phải lo lắng về việc chỉ định bất kỳ số cổng nào. Và việc có Nginx làm proxy cho phép chúng ta phục vụ trang web qua SSL.Chạy lệnh sau để cài đặt Nginx.
Mã:
$ sudo apt install nginx
Mã:
$ sudo ufw allow "Nginx Full"$ sudo ufw delete allow 8080
Nginx Full
là một cấu hình ứng dụng cho tường lửa ufw sẽ tự động mở các cổng 80 và 443.
Mã:
$ sudo ufw statusTrạng thái: hoạt độngĐến Hành động Từ-- ------ ----OpenSSH ALLOW AnywhereNginx Full ALLOW AnywhereOpenSSH (v6) ALLOW Anywhere (v6)Nginx Full ALLOW Anywhere (v6)
Cài đặt SSL
Chúng tôi sẽ cài đặt SSL bằng dịch vụ Let’s Encrypt.Để làm được điều đó, hãy cài đặt Certbot.
Mã:
$ sudo apt install certbot
Mã:
$ sudo systemctl stop nginx
Mã:
$ export LDOMAIN="calibre.yourdomain.com"$ export LEMAIL="[emailprotected]"$ sudo certbot certonly --standalone -d $LDOMAIN --preferred-challenges http --agree-tos -n -m $LEMAIL --keep-until-expiring$ sudo systemctl start nginx$ sudo openssl dhparam -out /etc/ssl/certs/dhparam.pem 2048
Mã:
$ sudo crontab -e
Dán dòng sau vào cuối.
Mã:
25 2 * * * /usr/bin/certbot renew --quiet --pre-hook “systemctl stop nginx” --post-hook “systemctl start nginx”
Lưu tệp bằng cách nhấn Ctrl + X và nhập Y khi được nhắc.
Cấu hình Nginx để phục vụ Calibre qua proxy bằng SSL
Chúng ta cần chỉnh sửa tệp cấu hình Nginx để thêm cấu hình SSL.Chạy lệnh sau để thêm tệp cấu hình cho máy chủ Calibre.
Mã:
$ sudo nano /etc/nginx/sites-available/calibre.conf
Mã:
server { listen 80; listen [::]:80; server_name calibre.yourdomain.com; # thực thi https trả về 301 https://$server_name:443$request_uri;}server { lắng nghe 443 ssl http2; lắng nghe [::]:443 ssl http2; server_name calibre.yourdomain.com; vị trí / { proxy_pass http://127.0.0.1:8080; } # Sử dụng hướng dẫn của Mozilla cho cài đặt SSL/TLS # https://mozilla.github.io/server-side-tls/ssl-config-generator/ ssl_certificate /etc/letsencrypt/live/calibre.yourdomain.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/calibre.yourdomain.com/privkey.pem; ssl_protocols TLSv1.2 TLSv1.3; ssl_session_timeout 1d; ssl_session_cache shared:MozSSL:10m; # khoảng 40000 phiên ssl_session_tickets tắt; ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-RSA-AES128-GCM-SHA256:DHE-RSA-AES256-GCM-SHA384; ssl_prefer_server_ciphers tắt; ssl_dhparam /etc/ssl/certs/dhparam.pem;}
Kích hoạt tệp cấu hình này bằng cách liên kết tệp đó đến thư mục
sites-enabled
.
Mã:
$ sudo ln -s /etc/nginx/sites-available/calibre.conf /etc/nginx/sites-enabled/
Mã:
$ sudo nginx -t
Mã:
nginx: cú pháp tệp cấu hình /etc/nginx/nginx.conf là oknginx: tệp cấu hình /etc/nginx/nginx.conf kiểm tra thành công
Mã:
$ sudo systemctl reload nginx
https://calibre.yourdomain.com
.