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
(в нижней части экрана).