Jump to content
XPEnology Community

Librusec через COPS на хрени


Recommended Posts

Всем привет! Долго искал и нашел как сделать, чтобы скачивать книги минуя MyHomeLib прямо на читалку. Особенно актуально в пору отпусков. Первоисточник тут.

Итак, поехали:

1. Запоминаем путь где лежит Librusec, например, /volume2/Downloads/Librusec/lib.rus.ec

2. Ставим php 5.6

3. Ставим и настраиваем Web Station

 

Скрытый текст

1649604144_2018-07-3109-15-49.thumb.png.87923d991de4e57376aa71a98cb06b41.png

1561572985_2018-07-3109-18-25.thumb.png.540580e4912ba27a178ff71c63cf254e.png

Проставляем все галки и выбираем все расширения, в open_basedir в конец строки через двоеточие добавляем путь к библиотеке из п.1

5.Скачать и распаковать архив copsfb2.zip в корень web-сервера
6. В директорию (от корня web-сервера) copsfb2/create_db/ скопировать librusec_local_fb2.inpx и соответственно отредактировать в copsfb2/create_db/create_db_conf.php параметр $inpx_file
7. На директорию (от корня web-сервера) copsfb2/fb2lib/ дать права на запись для группы http, под которой работает web-сервер.
8. Отредактировать в copsfb2/config_local.php параметры:
$config['zipbook_directory'] должна указывать путь к архивам с книгами (п.1).
Другие параметры пока не трогаем!
9. Запустить проверку: http://diskstation/copsfb2/checkconfig.php . diskstation - адрес вашей хрени. В выводе должны быть все Ok, кроме последнего, где говорит, что не найден
metadata.db, это нормально
10. Запускаем загрузку INPX и создание metadata.db: http://diskstation/copsfb2/create_db/create_db.php
11. Если предыдущий пункт прошел успешно, запускаем http://diskstation/copsfb2/index.php, проверяем навигацию по библиотеке и закачку. Если есть проблемы, проверяем настройки путей и open_basedir
12. По желанию редактируем остальные параметры в copsfb2/config_local.php и copsfb2/config.php, например, ставим пароль на доступ к странице.

Скрытый текст

1499376533_2018-07-3109-26-27.thumb.png.abdab36d71b226c5f62f2164b7b0b102.png

1312041570_2018-07-3109-34-43.thumb.png.79d26dc2979c59fc36b98a5b2cfd7605.png

 

 

Edited by Olegin
  • Like 2
  • Thanks 3
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
В ‎31‎.‎07‎.‎2018 в 09:11, Olegin сказал:

Проставляем все галки и выбираем все расширения, в open_basedir в конец строки через двоеточие добавляем путь к библиотеке из п.1

У меня тут пустая строка, если оставляю пустой то тест ( http://diskstation/copsfb2/checkconfig.php) проходит, если пишу путь до библиотеки  ( /volume2/volume2/Librusec/lib.rus.ec/) вместо теста - страница не найдена  (ошибка 404), Подскажите как правильно заполнить строку?

Полный доступ для группы HTTP на  /volume1/web/copsfb2 и /volume2/volume2/Librusec/lib.rus.ec Если в config_local.php выставляю  $config['get_metadata_from_fb2'] = TRUE, то не подтягивает метаданные данные (постоянно крутится бублик) При попытке скачать fb2 выкидывает 

You've been redirected because COPS is not configured properly  ZIP with books not found.

Edited by StrayCat
Link to comment
Share on other sites

Все заработало, вот тут https://www.synology-forum.ru/index.php?showtopic=4126&st=280&p=67202&#entry67202  брал информацию. Особенно хорошо работает с FBReader'ом, книги качаются непосредственно из программы, с другими ридерами пока не так гладко.

 

Link to comment
Share on other sites

  • 2 weeks later...
В 21.08.2018 в 18:43, Olegin сказал:

А веб сервер запустили, что стоит в общих настройках в строке внутренний сервер хттп?

 

А что там должно стоять? На картинке в первом посте стоит Nginx, но тогда галочку поставить не дает, просит установить Apache

Link to comment
Share on other sites

Читаю книги на Onyx Book, для скачивания книг использую OPDS World [EInk] http://4pda.ru/forum/index.php?showtopic=904526 Очень удобно, единственное пришлось отключить авторизацию, с авторизацией качалась пустая книга, точнее вместо содержимого книги было число 401, видимо ошибка авторизации. Интересно можно ли это как ни будь исправить?

 

Link to comment
Share on other sites

Получилось по инструкции. Дополню её для таких как я виндузятников.

пункт 3.5 ставим Apache HTTP server 2.2

пункт 4.5 убеждаемся что /var/services/web это символьная ссылка на корень web-сервера (а не как у меня было - директория). Если нужно делаем ссылку.

пункт 7.5 дать права на чтение всего пути до библиотеки lib.rus.ec и всех архивов группе http (точно не уверен, но по моему без этого выдавало ошибку)

Link to comment
Share on other sites

  • 1 month later...

Почему-то конвертилка в mobi отказывалась работать на 6.2 (3615/3617 ядро 3.10.105), не разобрался, на github обновления не помогли, переехал на 6.2.1 (918+, ядро 4.4.59), все заработало.

Link to comment
Share on other sites

  • 4 years later...

Откопаем стюардессу...

На 7.1 всё практически так же.

Щетаю, что все модули для PHP включать вредно, поэтому имеет смысл ограничиться только следующими расширениями: gd, intl, pdo_sqlite, zip

В настройках виртуального хоста наряду с Nginx профиль PHP по умолчанию я не использовал, а создал свой для приложения, причём open_base  - по умолчанию

И, как правильно заметили выше, при настройке прав на библиотеку архивов книг, необходимо дать права на Чтение группе пользователей http на всю Папку общего доступа в Панели управления, обязательно от корня, иначе файлы архивов книг не найдутся.

Link to comment
Share on other sites

И теперь вишенка на торте: т.к. COPSFB2 поддерживает OPDS, библиотека сходу залетает в сетевые библиотеки FBReader, можно искать/читать прям оттуда.

Уже наслаждаюсь, и Вам желаю!

Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...

Поделюсь своим опытом.

Есть на Гитхабе приложение (тыц). Штука кроссплатформенная, из коробки полноценный OPDS и нормальная вменяемая веб-морда.

У себя завернул в докер-контейнер убунты и все замечательно работает.

  • Like 1
  • Thanks 1
Link to comment
Share on other sites

19 hours ago, Vincent666 said:

У себя завернул в докер-контейнер убунты и все замечательно работает.

Может пригодиться кому. Не написал сразу.

Разворачивается контейнер Ubuntu, монтируется каталог с библиотекой (в моем случае точка монтирования /books , в него ложиться файл с гитхаба под линуксовую платформу).

И задается команда при запуске контейнера:

CMD bin/sh -c /books/./inpx-web --no-input

А все остальное по инструкции с сайта разработчика.

 

Работает сутками без проблем и сбоев.

Edited by Vincent666
Link to comment
Share on other sites

11 hours ago, Vincent666 said:

И задается команда при запуске контейнера:

CMD bin/sh -c /books/./inpx-web --no-input

А все остальное по инструкции с сайта разработчика.

 

Развернул у себя без докера.

Отличная штука. Всякие COPSFB2 просто нервно (и стыдливо) курят в сторонке.

Потому что поиск в COPSFB2 - это просто пипец.

Название книжки ввел - и можно чайку налить, сигаретку выкурить

В inpx-web на той же библиотеке от Либрусика - просто МГНОВЕННЫЙ поиск.

Да еще плюс к этому - вполне вменяемый (и быстрый!!!) веб-интерфейс.

В отличии от той же SimpleOPDS (еще одно не внятное, тормозное чудовище ))) )

Link to comment
Share on other sites

10 hours ago, SDL2000 said:

Развернул у себя без докера.

Я завернул в докер, что бы изолировать от основной системы (Гитхабу доверяй но проверяй..)

Ну и плюс у меня Либрусек и Флибуста отдельно)

Link to comment
Share on other sites

2 часа назад, Vincent666 сказал:

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

так может и контейнером поделитесь? (тоже что-то не рискую запускать прямо в DSM)

Link to comment
Share on other sites

Контейнер смысла нет выгружать.

Под катом процесс настройки пошагово опишу.

Spoiler

Скачиваем с Гитхаба файл inpx-web-х.х.х-linux.zip

Распаковываем его и перемещаем в каталог библиотеки (Например Либрусек, где лежат архивы и inpx-файл)

 

Далее открываем докер

1.thumb.JPG.8008a17bed99789f90a5b1e7e3f61bf3.JPG

Ищем образ Ubuntu  и скачиваем его.

 

По окончании загрузки переходим в образы, выбираем наш скачанный образ и нажимаем запуск.

2.thumb.JPG.2ad25e65b92b01c893237ffe182d34ca.JPG

 

 

Выбираем сеть как на скрине и нажимаем далее.

3.thumb.JPG.f5666c938ced02a9c34392907b685520.JPG

 

Пишем имя контейнера и выбираем Дополнительные настройки (по желанию можно урезать память до 2Гб)

4.thumb.JPG.5d479259ae380b87e2e02c82866ffb03.JPG

 

В доп.настройках выбираем вкладку Команда выполнения и вписываем команду bin/sh -c /books/./inpx-web --no-input

5.thumb.JPG.0a6acfeb6626e012b44412379d98b38f.JPG

И нажимаем сохранить.

 

Далее настраиваем порты (порт контейнера по умолчанию 12380) локальный указываем какой вам удобно.

6.thumb.JPG.cf7901f4395e83eacd2e69dbf85ed2ac.JPG

 

Добавляем каталог где лежит библиотека

7.thumb.JPG.8cd0b2103618033b742882a1eb828713.JPG

 

и указываем точку монтирования (с моем случае /books, в  команде это тоже влияет)

8.thumb.JPG.8d749a29dd94d9684d1c2f3211d2c396.JPG

 

 

9.thumb.JPG.f4ccb0ad7e4ee58673384fb5eed9be37.JPG

 

Ну и нажимаем завершить.

 

Edited by Vincent666
  • Like 2
  • Thanks 1
Link to comment
Share on other sites

6 часов назад, Vincent666 сказал:

процесс настройки пошагово опишу.

Отлично! Всё сделал, даже саму прогу и её рабочую директорию в другую папку засунул (чтобы вместе с библиотекой не лежала).

По локальной сети прекрасно работает, а вот во внешний мир почему-то не могу пробросить. Вроде всё повторяю, как уже не раз делал для других приложений в докере: создаю обратный прокси с внешнего порта HTTPS на localhost HTTP (порт 9999); добавляю в Конфигурацию маршрутизатора. Пробую зайти - явно вижу, что порты пробрасываются правильно, но inpx-web выдаёт "Ошибка" :(

(я ещё пароль в конфиг добавил - может он влияет?)

Link to comment
Share on other sites

11 hours ago, dj_nsk said:

Отлично! Всё сделал, даже саму прогу и её рабочую директорию в другую папку засунул (чтобы вместе с библиотекой не лежала).

По локальной сети прекрасно работает, а вот во внешний мир почему-то не могу пробросить. Вроде всё повторяю, как уже не раз делал для других приложений в докере: создаю обратный прокси с внешнего порта HTTPS на localhost HTTP (порт 9999); добавляю в Конфигурацию маршрутизатора. Пробую зайти - явно вижу, что порты пробрасываются правильно, но inpx-web выдаёт "Ошибка" :(

(я ещё пароль в конфиг добавил - может он влияет?)

При использовании прокси на роутере у вас должна быть настройка только для 443 и 80 порта. В Сино для правила прокси обязательно нужно создавать WebSocket.

Пароль не влияет.

Edited by Vincent666
Link to comment
Share on other sites

2 часа назад, Vincent666 сказал:

При использовании прокси на роутере у вас должна быть настройка только для 443 и 80 порта. В Сино для правила прокси обязательно нужно создавать WebSocket.

ничего не понял :)

У меня на DSM крутится свой сайт и несколько приложений в контейнерах, к которым тоже надо дать доступ извне да ещё и через HTTPS (например, openspeedtest) - такой доступ я делал через механизм обратного прокси (для каждого приложения свой набор портов прописывается). Как я это всё через 443 и 80  сделаю?

Link to comment
Share on other sites

1 hour ago, dj_nsk said:

У меня на DSM крутится свой сайт и несколько приложений в контейнерах, к которым тоже надо дать доступ извне да ещё и через HTTPS (например, openspeedtest) - такой доступ я делал через механизм обратного прокси (для каждого приложения свой набор портов прописывается). Как я это всё через 443 и 80  сделаю?

Проще поднять nginx proxy, и через него делать.

И да, все отлично делается через 80 и 443 )))

Link to comment
Share on other sites

1 hour ago, dj_nsk said:

У меня на DSM крутится свой сайт и несколько приложений в контейнерах, к которым тоже надо дать доступ извне да ещё и через HTTPS (например, openspeedtest) - такой доступ я делал через механизм обратного прокси (для каждого приложения свой набор портов прописывается). Как я это всё через 443 и 80  сделаю?

Ну тут Вам нужно изучать мат.часть по Reverse Proxy.

У меня на роутере проброшены только 80 и 443 порты. Все остальное завязано на Реверс Прокси.

 

Spoiler

1.thumb.JPG.fa6e4490e45fc312f1925fa426765f13.JPG

 

Edited by Vincent666
Link to comment
Share on other sites

5 minutes ago, SDL2000 said:

Проще поднять nginx proxy, и через него делать.

И да, все отлично делается через 80 и 443 )))

 

Да и штатный Reverse Proxy замечательно работает (не спорю конечно, Nginx Proxy Manager будет иметь более широкий функционал). 

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...