Server Nội dung calibre bao gồm một phần mềm backend để cung cấp sách của bạn và một giao diện user cơ bản để tìm kiếm trong thư viện của bạn , download các đầu sách riêng lẻ hoặc thậm chí đọc sách của bạn trực tiếp thông qua trình duyệt web. Server cũng cung cấp giao diện di động cơ bản hoạt động với nhiều loại thiết bị, bao gồm các trình duyệt cơ bản đi kèm với nhiều đầu đọc e-ink như Kindle và Kobo.
Trong hướng dẫn này, bạn sẽ cài đặt và sử dụng server Nội dung calibre trên Ubuntu 20.04. Cụ thể, bạn sẽ download và cài đặt server calibre, cấu hình server calibre như một dịch vụ để nó tự động khởi động khi server khởi động lại và thêm sách vào thư viện của bạn bằng các công cụ dòng lệnh. Bạn cũng sẽ gặp phải các tùy chọn để cài đặt cron job để tự động thêm sách mới vào thư viện của bạn từ một folder cụ thể, thêm xác thực vào server để chỉ bạn mới có thể truy cập và thêm certificate SSL / TLS miễn phí để phục vụ thư viện của bạn HTTPS để tăng cường bảo mật.
Cảnh báo: Như với tất cả nội dung sáng tạo, điều quan trọng là phải tôn trọng giấy phép bản quyền liên quan đến tài liệu do người khác tạo ra. Hướng dẫn này sử dụng sách domain công cộng được download hợp lệ từ Dự án Gutenberg , công ty có hơn 60.000 ebook miễn phí.
Mặc dù calibre tồn tại trong repository của Ubuntu, nhưng version ở đó thường trễ hơn bản phát hành mới nhất. Do đó, tài liệu chính thức về calibre khuyên bạn nên cài đặt nó từ file binary được lưu trữ trên trang web của họ.
Đầu tiên, hãy cài đặt một số phụ thuộc cần thiết:
Bây giờ download và cài đặt server calibre.
Kiểm tra nội dung của script:
Bạn có thể cuộn lên và xuống bằng các phím k
và j
và nhấn q
để quay lại terminal khi bạn hoàn tất.
Bây giờ thực thi tập lệnh để cài đặt calibre:
caliber mong đợi một môi trường máy tính để bàn nhưng nó sẽ không tìm thấy một môi trường trên server không đầu, vì vậy bạn sẽ thấy một số cảnh báo về việc tích hợp máy tính để bàn không thành công. Có thể yên tâm bỏ qua những điều này vì ta sẽ kiểm soát calibre hoàn toàn thông qua các công cụ dòng lệnh và giao diện web của nó.
Bây giờ ta đã cài đặt caliber, ta có thể bắt đầu khám phá chức năng của nó.
Để khám phá chức năng của .epub
, hãy download ebook .epub
hoặc .mobi
. Ta sẽ sử dụng A Christmas Carol của Charles Dickens từ Dự án Gutenberg làm ví dụ. Dự án Gutenberg duy trì một repository khổng lồ các tài liệu miễn phí trên domain công cộng và là một nguồn tài nguyên tuyệt vời cho ebook .
Chạy lệnh sau để tải sách này xuống server :
Bây giờ, hãy tạo một folder calibre có thể sử dụng làm thư viện ebook của bạn:
Và thêm sách bạn vừa download vào thư viện mới của bạn bằng lệnh calibredb
:
Bạn sẽ thấy kết quả sau:
Added book ids: 1
Với một cuốn sách được thêm vào thư viện của bạn, bây giờ bạn có thể bắt đầu calibre và khám phá ứng dụng.
Với việc cài đặt calibre và một cuốn sách đã được download , ta đã sẵn sàng khám phá giao diện user của ứng dụng. Nhưng trước khi ta truy cập server Nội dung calibre trong trình duyệt web, ta cần đảm bảo server có thể chấp nhận lưu lượng truy cập trên cổng 8080
, đây là cổng mặc định cho calibre. Nếu bạn đã làm theo hướng dẫn cài đặt server ban đầu trong phần yêu cầu , thì bạn đã bật ufw
hoặc Tường lửa không phức tạp . Đến đây bạn cần cho phép cổng 8080
thông qua firewall .
Sử dụng lệnh sau để mở cổng 8080
:
Kiểm tra trạng thái của ufw
đảm bảo cổng đang mở:
Bạn sẽ thấy một kết quả như thế này:
Status: active To Action From -- ------ ---- OpenSSH ALLOW Anywhere 8080 ALLOW Anywhere OpenSSH (v6) ALLOW Anywhere (v6) 8080 (v6) ALLOW Anywhere (v6)
Bây giờ hãy chạy lệnh sau để khởi động server nội dung calibre:
calibre-server
là lệnh được sử dụng để khởi động server và calibre-library
là tên của folder ta đã tạo trước đó và yêu cầu caliber sử dụng làm thư viện .
Bạn sẽ thấy một kết quả như thế này:
calibre server listening on 0.0.0.0:8080 OPDS feeds advertised via BonJour at: your_server_ip port: 8080
Từ máy local của bạn, hãy truy cập your_server_ip :8080
(thay thế địa chỉ IP của server ) và bạn sẽ thấy màn hình cỡ mặc định. Nhấp vào thư viện calibre và bạn sẽ thấy cuốn sách mà bạn đã thêm ở bước trước.
Nhấn Ctrl+C
để dừng quá trình server thủ công mà bạn đã bắt đầu.
Phương pháp chạy server Nội dung calibre này hoạt động tốt, nhưng bạn có thể cần thư viện của bạn hoạt động mọi lúc, ngay cả sau khi bạn đóng kết nối SSH với server . Để đảm bảo nó luôn chạy, ngay cả sau khi khởi động lại server , hãy biến server Nội dung calibre thành một dịch vụ.
Để cải thiện khả năng sử dụng của server Nội dung calibre, hãy thay thế quy trình server thủ công bằng một dịch vụ sẽ bắt đầu khi server khởi động .
Đầu tiên, tạo một file có tên là calibre-server.service
trong folder /etc/sytemd/system/
:
Bây giờ hãy thêm các cấu hình sau, cấu hình này sẽ khởi động server Nội dung calibre khi khởi động. Đảm bảo thay thế văn bản được đánh dấu bằng user và group của bạn:
## startup service [Unit] Description=calibre content server After=network.target [Service] Type=simple User=sammy Group=sammy ExecStart=/opt/calibre/calibre-server /home/sammy/calibre-library --enable-local-write [Install] WantedBy=multi-user.target
Ở đây ta yêu cầu dịch vụ của bạn sử dụng cờ --enable-local-write
khi khởi động server . Khi server đang chạy, bạn không thể sử dụng lệnh calibredb
để thêm sách như ta đã làm cho A Christmas Carol trực tiếp. Thay vào đó, bạn phải thực hiện việc này “thông qua” server đang chạy, như ta sẽ thấy một chút và điều này nghĩa là server cần quyền để ghi file mới vào đĩa. Cờ này cho phép nó làm như vậy miễn là nó nhận được yêu cầu local .
Lưu file .
Bây giờ hãy kích hoạt dịch vụ và khởi động nó:
Khởi động lại server :
Chờ vài phút rồi truy cập lại http:// your_server_ip :8080
trong trình duyệt web local của bạn đảm bảo server Nội dung calibre đã tự động khởi động.
Bây giờ hãy thêm một số xác thực vào ứng dụng .
Đến đây bạn có một server Nội dung calibre hoạt động đầy đủ mà bạn có thể truy cập từ mọi thiết bị. Tuy nhiên, hiện tại, bất kỳ ai biết địa chỉ IP server đều có thể truy cập ebook của bạn. Bạn có thể không muốn điều này. Thay vào đó, hãy cấu hình hệ thống quản lý user tích hợp của Calre để bạn có thể buộc khách truy cập xác thực bằng tên user và password .
Đầu tiên, SSH trở lại server và dừng calibre. Điều này sẽ cho phép ta thao tác trực tiếp database của Calre:
Bây giờ hãy bắt đầu tập lệnh quản lý user của Calre:
Khi được yêu cầu , hãy chọn thêm user mới. Sau đó chọn tên user và password mạnh. Bạn sẽ thấy một thông báo kết quả cuối cùng như sau:
User mycalibreuser added successfully!
Bây giờ ta cần thực hiện một chỉnh sửa nhỏ đối với dịch vụ của bạn .
Mở lại calibre-server.service
:
Để kích hoạt xác thực, hãy thêm cờ --enable-auth
vào cuối dòng bắt đầu ExecStart
. Nó sẽ giống như thế này:
. . . ExecStart=/opt/calibre/calibre-server /home/sammy/calibre-library --enable-local-write --enable-auth . . .
Lưu file .
Làm mới daemon dịch vụ để quét lại các file dịch vụ và khởi động lại server calibre với:
Nếu bạn truy cập lại thư viện của bạn , bây giờ nó sẽ nhắc bạn nhập tên user và password trước khi cho phép bạn truy cập.
Có nhiều cách khác để thêm chức năng vào server Nội dung calibre . Trong bước tiếp theo, ta sẽ thêm một công việc cron để tự động thêm sách đã download vào thư viện calibre .
Nó có thể hữu ích khi cài đặt một công việc cron theo dõi một folder cụ thể và thêm bất kỳ cuốn sách nào mà nó tìm thấy vào thư viện calibre của bạn. Bằng cách này, bạn có thể download hoặc tải sách lên folder này và chúng sẽ tự động có sẵn thông qua giao diện web calibre.
Tạo một folder có tên là books-to-add
trong folder chính của bạn và chuyển bên trong:
Download một cuốn sách mới vào folder này. Sử dụng lệnh sau để download Alice in Wonderland từ Project Gutenberg:
Bây giờ hãy mở crontab của bạn:
Ở đây, ta sẽ cài đặt một tập lệnh để thêm tất cả các file trong folder này vào calibre và sau đó xóa chúng (thêm sách vào calibre sẽ tạo bản sao của file trong folder thư viện của bạn, vì vậy ta có thể xóa bản root sau khi chúng được thêm vào.)
Thêm nội dung sau:
*/5 * * * * calibredb add /home/sammy/books-to-add/ -r --with-library http://localhost:8080#calibre-library --username mycalibreuser --password StrongPassword! && rm -r /home/sammy/books-to-add/*
Lưu file .
Quá trình này sẽ chạy 5 phút một lần, vì vậy bạn không cần phải đợi lâu để cuốn sách mới của bạn hiển thị trong giao diện web. Chờ một vài phút rồi reload thư viện trong trình duyệt web local của bạn. Cuốn sách mới của bạn sẽ xuất hiện bên cạnh A Christmas Carol .
Bạn cần tên user và password để truy cập thư viện của bạn , nhưng nó không thực sự an toàn vì bạn đang cung cấp nó qua HTTP và gửi tên user và password của bạn không được mã hóa mỗi khi bạn xác thực. Một tùy chọn an toàn hơn là đảm bảo tất cả truy cập được mã hóa bằng HTTPS. Nếu bạn sở hữu một domain , bạn có thể trỏ domain này đến server và cài đặt certificate SSL miễn phí bằng Let's Encrypt. (Bạn cũng có thể sử dụng domain phụ như ebooks. your_domain
.)
Ta sẽ sử dụng web server Apache2 làm Reverse Proxy cho calibre. Trước đây, ta phải thêm số cổng :8080
khi ta truy cập thư viện của bạn vì đó là cổng mặc định chạy trên đó. Bây giờ, ta sẽ cài đặt Apache2 để lắng nghe các yêu cầu trên cổng 80
(cổng mặc định cho truy cập HTTP ), các yêu cầu proxy tới server calibre đang chạy local trên :8080
và cung cấp những yêu cầu này cho user cuối một cách minh bạch để họ không cần lo lắng về việc chỉ định số cổng. Sau đó, ta sẽ bảo mật tất cả lưu lượng của bạn trên cổng 443
bằng certificate SSL.
Cài đặt Apache2 và kích hoạt các module proxy ta cần bằng các lệnh sau:
Bây giờ hãy đảm bảo server cho phép lưu lượng truy cập trên các cổng 80
và 443
. Đóng cổng 8080
cũng vậy:
Tiếp theo, tạo và mở một file tại /etc/apache2/sites-available/ your_domain .conf
:
Thêm các cấu hình sau, cấu hình này sẽ liên kết domain của bạn với server calibre:
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_http_module modules/mod_proxy_http.so <VirtualHost *:80> ServerName your_domain AllowEncodedSlashes On ProxyPreserveHost On ProxyPass "/" "http://localhost:8080/" </VirtualHost>
Cuối cùng, kích hoạt cấu hình trang web mới này:
Truy cập http:// your_domain
trong trình duyệt để xác minh server Nội dung calibre tải. Apache hiện đang phục vụ trang web .
Bước cuối cùng, hãy bảo mật tất cả lưu lượng truy cập của bạn bằng Certbot .
Đầu tiên, hãy cài đặt Certbot:
Bây giờ chạy Certbot:
Chương trình Certbot sẽ đưa bạn qua một loạt dấu nhắc để cài đặt certificate .
A
để đồng ý với các điều khoản và điều kiện khi được yêu cầuY
hoặc N
khi được yêu cầu chia sẻ địa chỉ email của bạn với EFF1
khi được yêu cầu về domain bạn muốn certificate (chỉ nên có một)Sau khi hoàn thành, bạn sẽ thấy một thông báo chúc mừng.
Như vậy, bạn có thể truy cập thư viện của bạn một cách an toàn tại https:// yourdomain
.
Trong hướng dẫn này, bạn cài đặt một server ebook calibre. Bạn đã biến nó thành một dịch vụ để nó sẽ khởi động khi server khởi động, thêm công việc cron để tự động tìm và thêm sách mới vào thư viện của bạn, đồng thời cài đặt xác thực và certificate SSL để bảo mật nó.
Để mở rộng dự án, bạn có thể thêm nhiều sách hơn từ thư viện cá nhân của bạn hoặc từ Project Gutenberg , Standard Ebooks hoặc bất kỳ nơi nào khác. Hãy nhớ luôn tôn trọng mọi luật bản quyền liên quan đến thư viện nội dung của bạn.