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