Установка Koha
Содержание
- 1 Koha
- 1.1 Установка на Debian
- 1.1.1 Подготовка
- 1.1.2 Добавляем репозиторий Koha
- 1.1.3 Ставим
- 1.1.4 Редактирование файла /etc/koha/koha-sites.conf
- 1.1.5 Настройка Apache
- 1.1.6 Настройка безопасности базы данных
- 1.1.7 Создать экземпляр Koha
- 1.1.8 Установка plack
- 1.1.9 Настройка через web
- 1.1.10 Настраиваем поддержку русского языка для нормального поиска в Koha
- 1.1 Установка на Debian
Koha
Koha — автоматизированная библиотечная информационная система и в действительности является первой свободной АБИС. Разработку АБИС Koha начала в 1999 году Katipo Communications для библиотечного союза Хорофенуа, Новая Зеландия. Первая инсталляция состоялась в январе 2000 года.
Установка на Debian
Официальная инструкция.
Так же хорошо бы почитать Koha on ubuntu.
Подготовка
apt update && apt upgrade && apt install screen vim mc sudo wget gnupg2 && apt autoremove && apt clean shutdown -r now apt-get install --reinstall ca-certificate # Бывают проблемы с сертификатами
Добавляем репозиторий Koha
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] https://debian.koha-community.org/koha 24.05 main' | tee /etc/apt/sources.list.d/koha.list apt update
Ставим
apt install koha-common apt install mariadb-server
Редактирование файла /etc/koha/koha-sites.conf
Тут нужно почитать Как настроить доменное имя для Koha
В общем тут идея в том, что если твой домен для koha должен быть вида mykoha.mydomen.ru то строку:
DOMAIN=".myDNSname.org"
меняем на:
DOMAIN=".mydomen.ru"
Остальное можно оставить без изменения, часть домена mykoha (из примера выше), будет задаваться при создании экземпляра Koha ( koha-create --create-db mykoha), об этом будет ниже.
Еще интересный факт, koha создает отдельный домен который может быть и на другом порту (не 80) для административных целей (для персонала):
INTRAPORT="8080" INTRAPREFIX="" INTRASUFFIX="-admin"
В целом koha позволяет делать различные варианты, где будет находится админка для персонала (для административных целей), это может быть другой порт, поддомен и их комбинация. В официальной документации об этом есть информация.
Например, при такой настройке создастся домен (если смотреть пример выше) mykoha-admin.mydomen.ru:8080 Для административных целей. (хотя это не обязательно, можно играться с портом, префиксами и суффиксами)
Блок:
OPACPORT="80" OPACPREFIX="" OPACSUFFIX=""
Относится к пользовательской части koha, ее менять не требуется.
Настройка Apache
a2enmod rewrite a2enmod cgi systemctl restart apache2
a2enmod - это сокращение от "Apache2 enable module", это утилита управления модулями Apache, предоставляемая дистрибутивом Linux, на котором установлен Apache. Эта утилита позволяет включить или отключить модули Apache, не перекомпилируя его из исходного кода.
В командах выше подключаются модули rewrite и cgi и перезапускается apache.
Если вы настраиваете Koha для доступа по IP-адресу, а не по имени домена, не забудьте отредактировать /etc/apache2/ports.conf и убедиться, что присутствуют следующие строки:
Listen 80 Listen <номер порта интерфейса персонала>
Вторая запись Listen вам понадобится только в том случае, если вы решили сделать интерфейс для персонала доступным через другой порт.
Настройка безопасности базы данных
mysql_secure_installation
Создать экземпляр Koha
Внимание! меняем mykoha на реальное название экземпляра библиотеки
sudo koha-create --create-db mykoha
Здесь mykoha - это название библиотеки указанное в примере выше, в итоге должно получится два сайта:
mykoha.mydomen.ru mykoha-admin.mydomen.ru:8080
Первый для пользователей, второй для персонала (администраторов)
Дополнительно читаем тут и тут
Установка plack
Plack — это интерфейс между веб-приложениями Perl и веб-серверами.
Внимание! меняем mykoha на реальное название экземпляра библиотеки
a2enmod headers proxy_http koha-plack --enable mykoha koha-plack --start mykoha systemctl restart apache2
Настройка через web
Для дальнейшей настройки нам потребуется зайти на сайт администрирования (персонала):
mykoha-admin.mydomen.ru:8080
Это все зависит от настроек в файле /etc/koha/koha-sites.conf (см. выше)
Логин и пароль для доступа можно получить следующим образом:
koha-passwd имя_библиотеки
Если домен mykoha-admin.mydomen.ru не существующий, то можно прописать его в /etc/hosts (linux) или c:\Windows\system32\drivers\etc\hosts
Настраиваем поддержку русского языка для нормального поиска в Koha
Список поддерживаемых языков:
koha-translate --list --available
Установка требуемого языка:
koha-translate --install ru-RU
Читаем тут Но тут есть неточности!.
apt-get install yaz-icu
Теперь через web интерфейс персонала перейдите в раздел:
Дополнительно > Администрирование > Глобальные системные настройки > Поиск .
- Измените системную настройку UseICUStyleQuotes на Using .
- Измените системную настройку QueryFuzzy на «Не пытаться» .
- Измените системную настройку QueryStemming на «Не пытаться» .
Изменим файл /etc/koha/zebradb/etc/default.idx Вот его кусок:
# Traditional word index # Used if completenss is 'incomplete field' (@attr 6=1) and # structure is word/phrase/word-list/free-form-text/document-text index w completeness 0 position 1 alwaysmatches 1 firstinfield 1 icuchain words-icu.xml charmap word-phrase-utf.chr # Phrase index # Used if completeness is 'complete {sub}field' (@attr 6=2, @attr 6=1) # and structure is word/phrase/word-list/free-form-text/document-text index p completeness 1 firstinfield 1 icuchain phrases-icu.xml charmap word-phrase-utf.chr
Жирным выделено, что требуется добавить.
Затем копируем файлы:
cd /etc/koha/zebradb/etc/ cp words-icu.xml words-icu.xml.orig cp phrases-icu.xml phrases-icu.xml.orig
Теперь содержимое /etc/koha/zebradb/etc/words-icu.xml заменим на:
<icu_chain locale="ru"> <transform rule="[^а-яА-ЯёЁ] NFD"/> <tokenize rule="l"/> <transform rule="[[:WhiteSpace:][:Punctuation:]] Remove"/> <transform rule="NFD"/> <transform rule="[:Nonspacing Mark:] Remove"/> <transform rule="NFC"/> <display/> <casemap rule="l"/> </icu_chain>
а содержимое /etc/koha/zebradb/etc/phrases-icu.xml заменим на:
<icu_chain locale="ru"> <transform rule="[^а-яА-ЯёЁ\s\p{P}] NFD"/> <tokenize rule="w"/> <transform rule="[:Nonspacing Mark:] Remove"/> <transform rule="NFC"/> <transform rule="[в|на|с|для|и|но|а|что|как|это|так|же|то|не|он|она|они|мы|ты] Remove"/> <casemap rule="l"/> <display/> </icu_chain>
Выполняем
koha-zebra --restart mykoha koha-rebuild-zebra -f mykoha