Требуется Mysql не ниже версии 5 (необходима поддержка хранимых процедур)
Требуется Python не ниже версии 3.3 (используется атрибут zlib.Decompressor.eof, введенный в версии 3.3)
@@ -15,7 +16,7 @@ yum install mysql
yum install python3
yum install mysql-connector-python3
2. Установка.
1.2 Установка.
Загрузить проект можно с сайта www.sopds.ru.
Проект имеет следующую структуру:
opds - каталог проекта (можно задать свое имя каталога)
@@ -24,20 +25,10 @@ opds - каталог проекта (можно задать свое имя
conf - каталог с файлом конфигурации
README.md - файл README
Для работы CGI-скрипта необходимо разрешить доступ к каталогу opds, например при помощи следующих директив конфигурационного файла web-сервера Apache httpd.conf:
<Directory"/home/www/opds">
Options Indexes FollowSymLinks
AllowOverride All
Order allow,deny
Allow from all
</Directory>
Alias /opds "/home/www/opds"
3. Конфигурационный файл.
1.3 Конфигурационный файл.
Перед началом работы необходимо внести необходимые настройки в файл конфигурации ./conf/sopds.conf
4. Инициализация базы данных.
1.4 Инициализация базы данных.
Во первых для работы каталога необходимо создать базу данных "sopds" и пользователя с необходимыми правами, например
следующим образом:
mysql -uroot -proot_pass mysql
@@ -53,69 +44,65 @@ Alias /opds "/home/www/opds"
Все указанные выше процедуры могут быть выполнены при помощи скрипта ./db/db_create.sh суперпользователем root (для Fedora)
5. Сканирование каталога с книгами.
Для однократого сканирования каталога с электронными книгами можно запустить скрипт sopds-scan.py
Для запуска периодического сканирования согласно настроек секции [daemon] конфигурационого файла необходимо запустить сканнер книг
в режиме демона командой ./sopdsd.py start
1.5 Использование OPDS-сервера.
OPDS-Сервер запускается командой:
./sopdsd.py start
6. Доступ к OPDS каталогу через WWW.
Указанная команда запустит два процесса в режиме демона Linux:
- Демон сканирования, который будет производить периодическое сканирование Вашей коллекции книг на основании настроек в
секции [scand] конфигурационного файла
- Демон http-opds-сервера, который предоставит доступ к коллекции книг OPDS-клиентам (по умолчанию прослушивается порт 8081)
на основании настроек в секции [httpd] конфигурационного файла.
Доступ к OPDS-каталогу в этом случае можно получить по адресу http://<ВашСервер>:8081/
6.1 Использование CGI
Для сервера Apache необходимо разрешить запуск cgi-скрипта ./py/sopds.cgi
при помощи директивы, помещенной в .htacess:
Options ExecCGI
или
Options +ExecCGI
Команда ./sopdsd.py stop - приведет к остановке обеих процессов
Команда ./sopdsd.py status - покажет информацию о состоянии процессов
6.2 Использование WSGI
Для начала необходимо установить mod_wsgi в Apache
Далее необходимо разрешить запуск wsgi-скрипта ./py/sopds.wsgi
при помощи директив, помещенной в .htacess:
AddHandler wsgi-script .wsgi
Options ExecCGI
или
AddHandler wsgi-script .wsgi
Options +ExecCGI
Описания по нектороым проблемам, которые могут возникнуть с mod_wsgi: https://code.google.com/p/modwsgi/wiki/IssuesWithExpatLibrary
Кроме того в пакете присутсвует программа однократного сканирования коллекции книг: sopds-scan.py
7. Использование OPDS каталога с устройств поддерживающих OPDS.
Ввести OPDS каталог и следующий URL: your_domain_name/opds/py/sopds.cgi
Либо, если Вы используете WSGI : your_domain_name/opds/py/sopds.wsgi
Для доступа к коллекции книг, можно использовать внешний HTTP-сервер, такой как Apache, для этого в
пакете программ присутсвуют скрипты:
- sopds.cgi для использования технологии CGI (смотри раздел Базовая настройка CGI в сервере Apache)
- sopds.wsgi для использования технологии WSGI (см. раздел Базовая настройка WSGI в сервере Apache)
8. Обновление версий
1.6 Обновление версий
- Поскольку при переходе от версии к версии возможно изменение структуры БД необходимо пересоздать ее следующей командой
./db/db_create.sh либо выполнить рекомендации в п.4
- После пересоздания БД и, как следствие уничтожении сыллок из БД на извлеченные обложки стоит удалить со всем содержимым
папку covers
rm -rf covers
9. Настройка конвертации fb2 в EPUB или MOBI (возможно кому-нибудь нужно)
- во первых необходимо скачать последнюю версию конвертера fb2toepub по ссылке выше (текущая уже находится в проекте)
к сожалению конвертер не совершенный и не все книги может конвертирвать, но большинство все-таки конвертируется
- далее, необходимо скопировать архив в папку opds/fb2toepub и разархивировать
- далее, компилируем проект командой make, в результате в папке unix_dist появится исполняемый файл fb2toepub
- в конфигурационном файле sopds.conf необходимо задать путь к этому конвертеру, а также путь к временной папке, куда будут помещаться сконвертированные файлы,
например таким образом:
- в конфигурационном файле sopds.conf необходимо задать путь к этому конвертеру, а также путь к временной папке,
куда будут помещаться сконвертированные файлы, например таким образом:
fb2toepub=../fb2toepub/unix_dist/fb2toepub
temp_dir=/tmp
- В результате OPDS-клиенту будут предоставлятся ссылки на FB2-книгу в формате epub
9.2 - Конвертер fb2epub http://code.google.com/p/epub-tools/ (конвертер написан на Java, так что в вашей системе должнен быть установлен как минимум JDK 1.5)
2.2 Конвертер fb2epub http://code.google.com/p/epub-tools/ (конвертер написан на Java, так что в вашей системе должнен быть установлен как минимум JDK 1.5)
- также сначала скачать последнюю версию по ссылке выше (текущая уже находится в проекте)
- скопировать jar-файл например в каталог opds/fb2epub (Здесь уже лежит shell-скрипт для запуска jar-файла)
- Соответственно прописать пути в файле конфигурации sopds.conf к shell-скрипту fb2epub
fb2toepub=../fb2epub/fb2epub
temp_dir=/tmp
9.3 - Конвертер fb2conv (конвертация в epub и mobi) http://www.the-ebook.org/forum/viewtopic.php?t=28447
2.3 Конвертер fb2conv (конвертация в epub и mobi) http://www.the-ebook.org/forum/viewtopic.php?t=28447
- Необходимо установить python 2.7 и пакеты lxml, cssutils:
yum install python
yum install python-lxml
yum install python-cssutils
- скачать последнюю версию конвертера по ссылке выше (текущая уже находится в каталоге fb2conv проекта)
- скачать утилиту KindleGen с сайта Amazon http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621 (текущая версия утилиты уже находится в каталоге fb2conv проекта)
- скачать утилиту KindleGen с сайта Amazon http://www.amazon.com/gp/feature.html?ie=UTF8&docId=1000234621
(текущая версия утилиты уже находится в каталоге fb2conv проекта)
- скопировать архив проекта в opds/fb2conv (Здесь уже подготовлены shell-скрипты для запуска конвертера) и разархивировать его
- Для конвертации в MOBI нужно архив с утилитой KindleGen положить в каталог с конвертером и разархивировать
- В конфигурационном файле sopds.conf задать пути к соответствующим скриптам:
@@ -123,3 +110,105 @@ Alias /opds "/home/www/opds"
# Установка этой опции в yes значительно замедляет сканирование каталога (НА ПОРЯДОК!!!)
# Правда зарание извлеченные обложки в OPDS-клиенте будут загружаться практически мгновенно
cover_extract = no
cover_extract = yes
# cover_show - способ показа обложек:
# 0 - не показывать,
@@ -50,7 +50,7 @@ cover_extract = no
# 2 - извлекать обложки на лету и показывать
# 3 - показать ранее извлеченную обложку, если обложка не извлекалась, то извелечь на лету и показать
#
cover_show = 2
cover_show = 1
# Предположительно столько байт от начала файла fb2 необходимо считать, чтобы получить необходимую метаинформацию (только description), если 0 то парсится весь файл
# при использование числа отличного от 0 возможны ошибки (например description очень длинный и занимает более, чем указанное число байт)