Calibre  — это бесплатный и простой в использовании менеджер электронных книг с открытым исходным кодом. Calibre поддерживает организацию существующих электронных книг в виртуальные библиотеки, отображение, редактирование, создание и преобразование электронных книг, а также синхронизацию электронных книг с различными электронными книгами. Редактирование книг поддерживается для форматов EPUB и AZW3.

1. Установите Python и зависимости

$ sudo apt update
$ sudo apt upgrade
$ sudo apt install python python3
$ sudo apt install xvfb
$ sudo apt update
$ sudo apt install imagemagick

2. Скачайте и установите Calibre-сервер

$ sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

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

3. Создайте нового пользователя Caliber

Создайте нового пользователя для Caliber и предоставьте ему права суперпользователя:

$ sudo adduser calibre
$ sudo usermod -aG sudo calibre

4. Создайте каталоги библиотеки Calibre

Выйдите из системы и снова войдите под новым пользователем, которого вы только что добавили. Затем создайте каталог для библиотеки Calibre и загрузки.

$ sudo mkdir calibre-library
$ sudo mkdir calibre-upload

Измените права собственности на каталоги:

$ sudo chown -R calibre:calibre calibre-library
$ sudo chown -R calibre:calibre calibre-upload
$ sudo chown -R calibre:calibre .config
$ sudo chmod ugo+rw calibre-upload
$ cd ~

5. Добавьте образец электронной книги

Загрузите образец электронной книги для загрузки в каталог загрузки:

$ cd calibre-upload
$ sudo wget http://www.gutenberg.org/ebooks/219.epub.noimages -O heart.epub

Затем добавьте электронную книгу в библиотеку:

$ sudo xvfb-run calibredb add ~/calibre-upload/* --library-path ~/calibre-library

6. Протестируйте сервер

Чтобы протестировать сервер, запустите следующую команду (вы можете заменить порт 8081 на что-то другое):

$ sudo calibre-server --port=8081 --enable-local-write ~/calibre-library

Затем откройте веб-браузер и перейдите по ссылке:

http://yourwebsite.com:8081  или при использовании локальной сети  http://192.168.0.XX:8081 (замените «XX» правильным IP-адресом)

Когда вы будете удовлетворены тем, что все работает, вернитесь в командную строку и нажмите Ctrl+C для выхода.

7. Добавьте файл журнала

Добавьте файл журнала и измените права его владельца:

$ sudo touch ~/calibre.log
$ sudo chown -R calibre:calibre ~/calibre.log

8. Добавление/управление пользователями Caliber

$ sudo calibre-server --userdb /home/calibre/.config/calibre/server-users.sqlite --manage-users

Затем следуйте подсказкам. Повторите, чтобы добавить, изменить или удалить пользователей.

9. Запуск сервера Calibre при загрузке

$ sudo nano /etc/systemd/system/calibre-server.service

Добавьте приведенный ниже код, изменив пользователя, группу, порт и местоположение в каталог библиотеки калибров (в данном случае  /home/calibre/calibre-library):

[Unit]
Description=calibre content server
After=network.target

[Service]
Type=simple
User=calibre
Group=calibre

ExecStart=/usr/bin/calibre-server\
--max-opds-items=30\
--max-opds-ungrouped-items=100\
--port 8081 \
--log="/home/calibre/calibre.log"\
--enable-auth \
--userdb="/home/calibre/.config/calibre/server-users.sqlite"\
"/home/calibre/calibre-library"

[Install]
WantedBy=multi-user.target

Ctrl+X для сохранения и выхода.

Затем запустите сервер с помощью:

$ sudo systemctl start calibre-server.service

Проверьте статус с помощью:

$ sudo systemctl status calibre-server.service

Затем, чтобы начать при загрузке:

$ sudo systemctl enable calibre-server.service

Более

Если вы внесли какие-либо изменения в calibre-server.service, перезагрузите:

$ sudo systemctl daemon-reload

Чтобы остановить калибр-сервер:

$ sudo systemctl stop calibre-server.service

Вы можете удалить Caliber, запустив:

$ sudo calibre-uninstall

10. Установите Calibre-Web (необязательно, но рекомендуется)

Calibre-Web  — это веб-приложение, обеспечивающее понятный интерфейс для просмотра, чтения и загрузки электронных книг с использованием существующей базы данных Caliber.

Убедитесь, что вы вошли в систему как пользователь ICAL. Убедитесь, что у нас установлена ​​версия Python выше, чем python2.7. Проверьте свою версию Python:

$ python --version

Если он  Python 2.7.x.x выводится, нам нужно изменить значение по умолчанию на python3. Сделать это:

При необходимости обновите pip следующим образом:

$ sudo -H pip install --upgrade pip

Откройте ваш  .bashrc файл:

$ sudo nano ~/.bashrc

Введите  alias python=python3 в новую строку в верхней части файла, затем сохраните файл с помощью  ctrl+o и закройте файл с помощью  ctrl+x.

Затем вернитесь к типу командной строки:

$ source ~/.bashrc

Теперь ваш псевдоним должен быть постоянным. Чтобы проверить изменение:

$ python --version

11. Скачайте последнюю версию Calibre-Web:

Загрузите, разархивируйте и переименуйте каталог calibre-web:

$ cd ~
$ wget https://github.com/janeczku/calibre-web/archive/master.zip
$ unzip master.zip
$ sudo mv calibre-web-master calibre-web
$ cd calibre-web

12. Установите Калибр-Веб:

$ sudo pip3 install --target vendor -r requirements.txt

Находясь в  calibre-web каталоге, используя запуск python3+ (для запуска python2.7  python cps.py):

$ python3 cps.py

или, что предпочтительнее, если вы хотите выйти из окна терминала (что вы захотите сделать)  (для запуска python2.7  nohup python cps.py):

$ nohup python3 cps.py

В браузере перейдите по  адресу http://yourwebsite.com:8083  или  http://localhost:8083  (или  http://yourwebsite.com:8083/opds  или  http://localhost:8083/opds для каталога OPDS ). ). Вы можете изменить номер порта позже в графическом интерфейсе, если хотите. ПРИМЕЧАНИЕ. Не меняйте номер порта на 80, если вы хотите получить доступ к Calibre-Web без номера порта. Вместо этого настройте обратный прокси-сервер. См. комментарии ниже.

13. Установите расположение базы данных Calibre

Вот где  metadata.db находится. В этом случае  /home/calibre/calibre-library. Нажмите «Отправить». Логин администратора по умолчанию:

Username: admin
Password: admin123

14. Включите преобразование на лету (необязательно)

Дополнительно, чтобы включить преобразование «на лету» из одного формата электронных книг в другой при использовании функции «Отправить на Kindle» или во время редактирования метаданных электронных книг:

Загрузите инструмент Amazon KindleGen для своей платформы и поместите двоичный файл с именем kindlegen в папку поставщика:
http://www.amazon.com/gp/feature.html?docId=1000765211 .

$ sudo mkdir /home/calibre/kindle

Загрузите  .tar.gz файл (версия 2.9 на момент написания этой статьи) в новый каталог Kindle, который вы только что создали. Затем разархивируйте файл и переместите его в каталог поставщика внутри  calibre-web:

$ cd kindle
$ sudo tar vxfz kindlegen_linux_2.6_i386_v2_9.tar.gz
$ sudo mv kindlegen /home/calibre/calibre-web/vendor/

Файл  tar.gz включает юридические уведомления и документацию KindleGen. Если вы хотите удалить папку:

$ cd ~
$ sudo rm -R /home/calibre/kindle

15. Запустите Calibre-Web при загрузке

Запустите Calibre-Web как сервис под Linux с помощью systemd:
https://github.com/janeczku/calie-web/wiki/Setup-Service-on-Linux .

$ sudo nano /etc/systemd/system/cps.service

Добавьте это и замените элементы в {}, такие как User, ExecStart и WorkingDirectory, на ваше имя пользователя, имена файлов и папок:

[Unit]
Description=Calibre-Web

[Service]
Type=simple
User=calibre
ExecStart={path to python} {/PATH/TO/cps.py including cps.py}
WorkingDirectory={/PATH/OF/CPS.PY without cps.py}

[Install]
WantedBy=multi-user.target

Пример:

[Unit]
Description=Calibre-Web

[Service]
Type=simple
User=calibre
ExecStart=/usr/bin/python3 /home/calibre/calibre-web/cps.py
WorkingDirectory=/home/calibre/calibre-web

[Install]
WantedBy=multi-user.target

Включите услугу:

$ sudo systemctl enable cps.service

БОЛЕЕ

1. Вы можете добавить путь к вашему сертификату SSL (для https) в Caliber Web по адресу  Admin settings > Basic Configuration > Server Configuration.

2. Чтобы извлечь изображения обложки из файлов PDF

Если вы видите сообщение об ошибке в журналах Calibre-Web, например:

WARNING - PDF extraction forbidden by ImageMagick policy: not authorized '/tmp/calibre_web/xxxxxxxxxxxxxxxxxx' @ error/constitute.c/ReadImage/412 during upload of PDF files.

ImageMagick недавно изменил свою политику безопасности, теперь они запрещают операции с PDF по умолчанию, поэтому обложки больше не могут быть извлечены, вы должны разрешить это в  policy.xml файле. Сделай это:

$ sudo nano /etc/ImageMagick-6/policy.xml

изменить строку:

<policy domain="coder" rights="none" pattern="PDF" />

к

<policy domain="coder" rights="read" pattern="PDF" />

Ctrl+x и ‘Y’ для сохранения и выхода. Наконец, перезапустите Calibre-Web. Вы можете сделать это из веб-интерфейса  Admin Settings > Restart (в нижней части экрана).

Подробнее:  https://github.com/janeczku/cale-web/wiki/FAQ

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