Литвек - электронная библиотека >> Автор неизвестен >> Интернет и др. >> От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал

От архивов Флибусты до веб-библиотеки за 5 минут fb2index — веб-сервер библиотеки fb2-книг, мануал 

Постановка задачи

Открыть в сети электронную библиотеку всегда было сложно.

Найдя подходящего хостера требовалось запустить веб-сервер, на него установить какую-то CMS, снабдить её модулем с собственно электронной библиотекой, настроить это всё. Убедиться, что оно работает. И только после этого приступить к наполнению библиотеки книгами, попутно исправляя вылезающие баги и косяки.

Неудивительно, что библиотеки в сети создавали люди, имеющие опыт сисадмина и/или программиста.


Вот, например, инструкция по поднятию клона широко известного Либрусека:

howto по установке Либрусека (v0.31)

Либрусек разрабатывается как модуль друпала. Можно прикрутить и к другой cms, но это потребует определённых усилий. Должно быть не слишком сложно. Но бессмысленно. По объему кода представляет из себя 20% друпала 6.0 - 6000 строк 300 килобайт php. Всё тестировалось исключительно с Apache/MySQL5 под линуксом, должно работать и с другими серверами, не проверял. Видимо, потребует напильника. (однако, Apache-специфичных вещей вроде бы не используется, поэтому достаточно любого веб сервера, хоть на fastcgi.)

...

полностью - здесь: https://github.com/larin/librusec

Не всякий разберётся. И возьмутся за это единицы. Собственно, после Либрусека их и были единицы: Флибуста (как самый известный случай), да еще три-четыре малоизвестных клона (не доживших до наших дней).


Так жить нельзя, подумал Н., юзер Флибусты[1] и программист. И поставил перед собой задачу:


Zero-config развёртывание библиотеки из набора zip-архивов 

отправлено 2 года назад

Разрабатывается приложение для быстрого поднятия библиотеки FB2, с нулевой конфигурацией: кинул архивы, запустил бинарник - и библиотека готова. (...) Требуются тестеры потыкать по ссылкам, зарепортить встреченные баги. Желающим кину ссылку в приват.


Так родился движок fb2index

Характеристики

 14.11.2016 движок был опубликован (в теме на Флибусте, см. https://flisland.net/node/349288)


От архивов Флибусты до веб-библиотеки за 5 минут

Ладно, не за пять. Мои 88 файлов прожёвывает за 15 минут.

Короче, библиотечка в духе минимализма: исходный код[2] и скриншоты[3].

Возможно, кому-то пригодится.


Использование:

fb2index.exe ПУТЬ_К_ZIP_ФАЙЛУ

или

fb2index.exe -r ПУТЬ_К_КАТАЛОГУ_С_ZIP_ФАЙЛАМИ


После индексации книг, каковая займёт некоторое время, можно заходить на http://localhost:8080 и начинать пользоваться библиотекой.

Другой адрес и порт можно указать с помощью опции -http АДРЕС:ПОРТ (или -http :ПОРТ).

База данных по умолчанию хранится в оперативной памяти. Чтобы сохранить её на диск, укажите опцию -db ПУТЬ_К_БД.


UPDATE (4 Oct 2017):

Не прошло и года, как появилась сборка для Windows.


На этом можно было бы и завершить описание, но имеет смысл уточнить про скорость работы с архивами:


Индексация одного 2.5Гб ZIP-архива с FB2 занимает у меня на машине 20 с, на VPS от DigitalOcean - 9 с.

Итак, индексация полного архива (88 файлов) заняла ровно 15 минут. Поисковый индекс занял 55 мб, а весь процесс (с базой данных в оперативной памяти) - 900 мб.


Упомянутые 88 файлов-архивов - это стандартные zip-архивы с содержимым Флибусты (только fb2), распространяемые через торренты (напр. https://booktracker.org/viewforum.php?f=245). Сейчас уже больше... :) ...Каждый - примерно по 2,5 гигабайта.

Т.е. после запуска fb2index полная копия Флибусты становится доступной в сети через 15-30 минут, в зависимости от мощности компьютера.

Где скачать?

 https://github.com/opennota/fb2index/releases


От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 1

Скриншоты

Общий список книг
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 2


Страничка книги
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 3



Страничка "читать книгу"
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 4


Поиск по библиотеке
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 5


Страничка автора
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 6


 Страничка жанров
 От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 7


Перечень книг по жанру
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 8


Перечень авторов
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 9


 Перечень книжных серий
От архивов Флибусты до веб-библиотеки за 5 минут. fb2index — веб-сервер библиотеки fb2-книг, мануал. Иллюстрация № 10



Способы использования

Способы использования fb2index ограничены только фантазией создателя библиотеки. Возможные примеры (из обсуждения на Флибусте):


Его достоинство - поднимать апач, потом ещё php и sql, да ставить друпал, да на него накладывать ларинский движок, да потом всё это долго настраивать - всего этого не надо!

Уже сейчас запустить движок может любой линуксоид (ибо сборка стандартная, парой команд), а если автор таки скомпилирует движки (и для Винды, да)[4], то и вовсе всё будет молниеносно.

Достоинства очевидны.

Недостатки: вся работа по улучшению книг д.б. произведена с файлами книг. Что лежит в архивах - то и будет в выдаче. Это недостаток для коллективной работы, типа как на Флибусте, но мелочь для "авторских" библиотек, которые делает один человек. Он и так будет работать главным образом с файлами - подбор, отсев дублей, улучшение и т.п.

Также - оформление выдачи. Оно жёсткое, минималистичное, изменить