Установка Calibre Ebook на Ubuntu Server

Calibre — это мощная и простая программа для организации хранения и использования электронных книг. Еще она полностью бесплатна, с открытым исходным кодом и отлично подойдет как для широкого спектра пользователей.

Приложение состоит из двух компонентов: настольного и серверного. Настольная часть помогает эффективно управлять вашей библиотекой электронных книг на одном устройстве. Серверная часть позволяет:

  • Получить доступ у своей библиотеке из любого места, где есть интернет.
  • Легко переносить свои книги на мобильные устройства
  • Делиться книгами между знакомыми или членами семьи
  • Читать книги в интернете с помощью браузера

В этой статье расскажу вам, как поставить сервер Calibre на Ubuntu Server.

Инструменты.

  • Сервер, под управлением Ubuntu 22.04 (возможно и пойдет 20-я версия, но это не точно)
  • Пользователь с привилегиями sudo
  • Файрвол UFW включен и запущен
  • Репозитории приведены к актуальному состоянию, ПО обновлено. Выполнить это можно следующей командой
$ sudo apt update && sudo apt upgrade

Шаг 1. Настраиваем файрвол.


Первым шагом перед установкой и настройкой сервера выполним настройку файрвола и разрешим подключения для HTTP и HTTPS.

Проверяем статус файрвола

$ sudo ufw status

Следующая строка укажет что файрвол работает:

Status: active

Разрешим трафик на портах HTTP и HTTPS.

$ sudo ufw allow http
$ sudo ufw allow https

Проверяем статус:

$ sudo ufw status
Status: active

To                         Action      From
--                         ------      ----
80/tcp                     ALLOW       Anywhere
443                        ALLOW       Anywhere
80/tcp (v6)                ALLOW       Anywhere (v6)
443 (v6)                   ALLOW       Anywhere (v6)

Шаг 2. Устанавливаем сервер Calibre.


Если вы при установке Ubuntu 22.04 не выбрали минимальную версию, то, скорее всего, Calibre уже установлен. Но лучше установить его заново, чтобы получить последнюю версию.

Для начала установим необходимые зависимости.

$ sudo apt install libfontconfig libegl1 libopengl0

Загрузим установщик Calibre.

$ wget https://download.calibre-ebook.com/linux-installer.sh

Делаем установщик исполняемым.

$ chmod +x ./linux-installer.sh

И запускаем его следующей командой:

$ sudo ./linux-installer.sh

Во время установки, вы можете получить несколько предупреждений. Смело можно их игнорировать, так как установщик ожидает наличие рабочего стола, которого в серверной версии нет.

Шаг 3. Создаем библиотеку Calibre и загружаем туда первую книгу.


На этом шаге настроим библиотеку Calibre и добавим в нее несколько книг. Для примера возьмем книгу «Debian GNU/Linux : Guide to Installation and Usage by Goerzen and Othman» из библиотеки gutenberg.org.

$ wget https://www.gutenberg.org/ebooks/6527.kindle.images -O debian.mobi

Всегда, по возможномти, берите версию книги для Kindle. Я переименовал версию Kindle в filename.mobi, потому что формат Mobi изначально поддерживается в Kindle. Он также предлагает лучшие параметры форматирования, чем версия Epub.

Создаем каталог для библиотеки Calibre.

$ mkdir calibre-library

Добавим книгу, которую только что скачали, в библиотеку с помощью команды calibredb. Параметром —with-library указываем местоположение библиотеки.

$ calibredb add debian.mobi --with-library calibre-library/
Added book ids: 1

Можно добавить сразу несколько книг следующей командой:

$ calibredb add *.mobi --with-library calibre-library/

Шаг 4. Запускаем Calibre Server


Теперь, когда у нас есть своя библиотека, правда пока только с одной книгой, пора запустить Calibre сервер

$ calibre-server calibre-library

Команда calibre-server принимает в качестве аргумента расположение библиотеки. После ввода на экране вы увидите следующий вывод:

calibre server listening on 0.0.0.0:8080
OPDS feeds advertised via BonJour at: your_server_ip port: 8080

Это сообщение говорит нам о том, что сервер Calibre работает через порт 8080. Чтобы попасть на этот сервер из вне необходимо открыть порт. Для этого выполните следующую команду:

$ sudo ufw allow 8080

Откройте URL-адрес http://yourserverIP:8080/ в браузере, и вы увидите следующий экран. Экран будет отображаться как темный или светлый в зависимости от выбора темы вашей операционной системы.

Нажмите на ссылку calibre-library, чтобы просмотреть книгу, которую вы добавили на предыдущем шаге.

Закройте сервер, нажав клавиши Ctrl + C на вашем терминале.

Вы можете использовать другой порт для доступа к серверу Caliber. Для этого используйте следующую команду. Не забудьте убедиться только, что порт открыт в брандмауэре.

$ calibre-server calibre-library --port 7654

Шаг 5. Создадим модуль для Calibre.

Чтобы процесс сервера Calibre оставался в работоспособном состоянии после перезагрузки, вам необходимо создать для него модуль systemd.

Создайте файл с именем calibre-server.service в каталоге /etc/sytemd/system/ и откройте его для редактирования.

Вставьте в него следующий код:

[Unit]
Description=Calibre Server
After=network.target

[Service]
Type=simple

User=<username>
Group=<username>
ExecStart=/opt/calibre/calibre-server /home/<username>/calibre-library --enable-local-write

[Install]
WantedBy=multi-user.target

Флаг —enable-local-write дает серверу разрешение на запись для добавления новых книг в библиотеку. Это связано с тем, что вы не сможете добавлять книги с помощью команды calibredb во время работы сервера.

Замените <username> на имя пользователя в вашей системе в приведенном выше коде. Сохраните и закройте файл.

Перезагрузите демон service, чтобы активировать файл службы.

$ sudo systemctl daemon-reload

Включите и запустите службу Calibre.

$ sudo systemctl enable calibre-server
$ sudo systemctl start calibre-server

Проверить статус службы.

$ sudo systemctl status calibre-server
? calibre-server.service - Calibre Server
     Loaded: loaded (/etc/systemd/system/calibre-server.service; enabled; vendor preset: enabled)
     Active: active (running) since Mon 2022-07-25 07:23:42 UTC; 15s ago
   Main PID: 1848 (BonJour)
      Tasks: 13 (limit: 2238)
     Memory: 56.6M
        CPU: 817ms
     CGroup: /system.slice/calibre-server.service
             ??1848 /opt/calibre/bin/calibre-server /home/<username>/calibre-library --enable-local-write

Jan 16 07:23:42 calibre systemd[1]: Started Calibre Server.
Jan 16 07:23:42 calibre calibre-server[1877]: QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-<username>'
Jan 16 07:23:42 calibre calibre-server[1877]: calibre server listening on 0.0.0.0:8080
Jan 16 07:23:43 calibre calibre-server[1877]: OPDS feeds advertised via BonJour at: 69.28.84.201 port: 8080

Шаг 6. Активируем авторизацию.

Мы можем добавить аутентификацию пользователя в Calibre, чтобы защитить свою библиотеку от посторонних. Во-первых, остановим сервер Caliber.

$ sudo systemctl stop calibre-server

Calibre использует базу данных SQLite для хранения учетных данных пользователя. Для управления учетными записями Caliber, воспользуемся следующей командой:

$ sudo calibre-server --manage-users

Вам будет предложено четыре варианта. Нажмите 1, чтобы добавить нового пользователя, введите имя пользователя и пароль, чтобы завершить добавление нового пользователя.

1) Add a new user
2) Edit an existing user
3) Remove a user
4) Cancel

What do you want to do? [1-4]: 1
Enter the username: crazy_linuxoid
Enter the new password for crazy_linuxoid:
Re-enter the new password for crazy_linuxoid, to verify:
User crazy_linuxoid added successfully!

Затем нужно отредактировать файл службы, чтобы включить проверку подлинности. Открываем файл /etc/systemd/system/calibre-server.service и добавляем флаг —enable-auth в конец строки, начинающейся с ExecStart, для включения аутентификации.

...
ExecStart=/opt/calibre/calibre-server "/home/<username>/calibre-library" --userdb "/home/<username>/.config/calibre/server-users.sqlite" --enable-local-write --enable-auth
...

Сохраняем и закрываем файл. После этого перезагружаем демон service и запускаем наш сервер Calibre.

$ sudo systemctl daemon-reload
$ sudo systemctl start calibre-server

Теперь если вы откроете URL-адрес библиотеки, вам будет предложено ввести имя пользователя и пароль, прежде чем вы получите доступ к ней. Введите учетные данные, которые вы указали и нажмите кнопку «Войти», чтобы получить доступ к библиотеке.

Заключение.

На этом мы завершаем наше руководство по установке Calibre Server на компьютер с Ubuntu 22.04 Server. Также настроили Caliber для включения базовой аутентификации. Calibre Server поставляется с множеством инструментов командной строки. Чтобы узнать о них больше, вы можете почитать документацию Calibre. Если у вас остались какие-либо вопросы, можете задать в комментариях ниже.

Was this helpful?

1 / 0

Добавить комментарий 0