Личная библиотека OPDS

Доброго времени суток!
Надоело копировать книги на флеш-карты, решил озадачиться созданием своего OPDS сервера, для удобного доступа к своей библиотеке.
Т.к. давно являюсь пользователем owncloud сервера, попробовал для него плагин, но то-ли руки кривые, то ли плагин такой, короче он у меня особо не заработал.
Поиск в интернатах наткнул на меня на Simple OPDS. И было решено ее попробовать на Ubuntu сервер 14.04.
Описание программы (взято с сайта программы):

Бесплатная программа для операционной системы Linux, предназначенная для быстрого создания электронного OPDS-каталога книг. OPDS (Open Publication Distribution System) каталог позволяет получать доступ к Вашей библиотеке через Интернет с большинства устройств для чтения электронных книг, планшетов, смартфонов и т.д.

Simple OPDS написан на языке Python. Основная программа-демон sopdsd.py выполняет три главные задачи:

— Рекурсивно по расписанию обходит указанный в конфигурационном файле каталог с электронными книгами, создавая каталог книг в БД Mysql.

— Выполняет работу встроенного HTTP/OPDS-сервера, отвечает на запросы клиентов согласно протокола OPDS.

— Выполняет работу встроенного HTTP/WEB-сервера, предоставляет доступ к коллекции книг для простых веб-браузеров.

Кроме того, в пакете SimpleOPDS имеются скрипты sopds.cgi и sopds.wsgi, которые могут быть использованы для организации работы Вашего сервера с применением распространенных http-серверов Apache и Nginx.

Первым делом устанавливаем python3, python коннектор для MySQL, далее скачиваем и распаковываем дистрибутив Simple OPDS

Создаем базу в MySQL
Если задан пароль в Mysql, заходим с указанием пароля (ключ -p)

Тем самым мы создали базу с именем sopds, пользователя sopds и пароль пользователя password.
Теперь нужно создать нужные таблицы в созданной базе, к счастью разработчик в дистрибутив положил скрипты sql, для создания таблиц.

Редактируем конфигурационный файл:
vi conf/sopds.conf

Запускаем сервер:

Проверяем

Сервер в принципе готов отрабатывать ваши запросы на порту 8081, те вы можете работать с ним по адресу http://вашipадрес:8081.
Но я решил, что мне удобней будет использовать для этой цели nginx.
Создаем конфигурацию виртуального хоста для nginx:
vi /etc/nginx/conf.d/books.mydomain.ru.conf

Просим nginx перечитать конфигурацию:

Не забудьте внести изменения в обслуживающий ваш домен DNS сервер, нужно добавить A-запись, по типу:
books    A   XXX.XXX.XXX.XXX
Где XXX.XXX.XXX.XXX — ваш IP адрес.
Для автоматического старта сервера OPDS при загрузки системы, я просто добавил старт в crontab:

При работе через nginx, имеет смысл в конфигурационном файле sopds.conf  указать локальный адрес 127.0.0.1

Ну вот вроде и все, приятного чтения!

Личная библиотека OPDS: 2 комментария

  1. Если пользуешь nginx лучше при помощи uWSGI использовать sopds.wsgi, а в Cron добавить периодический запуск sopds-scan.py.
    В этом случае sopdsd.py не нужно использовать совсем. В нем в качестве http сервера используется стандартный сервер, встроенный в Питон. Его конечно достаточно, чтобы использовать для «домашних» целей, но в принципе для production он не предназначен.

    1. Приветствую!
      Для личных целей и python http пойдет, через nginx:)
      А так, да… ваш вариант не плох!

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *