Встановлення Koha з репозитарію на ОС Debian: відмінності між версіями

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку
 
(Не показані 62 проміжні версії цього користувача)
Рядок 1: Рядок 1:
Розглядається встановлення АБІС Koha версії 21.05.X-23.05.X '''з репозитарію''' [http://debian.koha-community.org/ debian.koha-community.org].
Розглядається встановлення АБІС Koha версії 21.05.X-23.11.X '''з репозитарію''' [http://debian.koha-community.org/ debian.koha-community.org].


На даний час це найбільш протестований і розповсюджений варіант.
На даний час це найбільш протестований і розповсюджений варіант.
Рядок 23: Рядок 23:
Щодо сумісності Коха з іншими версіями ОС див.
Щодо сумісності Коха з іншими версіями ОС див.
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)

= Попередні налаштування =
== Локаль з UTF-8 ==
Перевірка локалі:
sudo locale
у виводі повинно бути магічне „'''UTF-8'''“ (en.UTF-8,ru_RU.UTF-8 тощо), наприклад для України

LANG=uk_UA.UTF-8
LANGUAGE=
LC_CTYPE="uk_UA.UTF-8"
LC_NUMERIC="uk_UA.UTF-8"
LC_TIME="uk_UA.UTF-8"
LC_COLLATE="uk_UA.UTF-8"
LC_MONETARY="uk_UA.UTF-8"
LC_MESSAGES="uk_UA.UTF-8"
LC_PAPER="uk_UA.UTF-8"
LC_NAME="uk_UA.UTF-8"
LC_ADDRESS="uk_UA.UTF-8"
LC_TELEPHONE="uk_UA.UTF-8"
LC_MEASUREMENT="uk_UA.UTF-8"
LC_IDENTIFICATION="uk_UA.UTF-8"

Якщо '''UTF-8''' не згадується, то встановлюємо локаль
apt install locales-all
sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"


== Підключення гілок non-free та contrib для пакунків Дебіен ==
== Підключення гілок non-free та contrib для пакунків Дебіен ==
Рядок 54: Рядок 29:


sudo mc -e /etc/apt/sources.list
sudo mc -e /etc/apt/sources.list

<!--
deb http://deb.debian.org/debian/ buster main non-free contrib
deb-src http://deb.debian.org/debian/ buster main non-free contrib
deb http://security.debian.org/debian-security buster/updates main contrib non-free
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free
deb http://deb.debian.org/debian/ buster-updates main contrib non-free
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free
deb http://deb.debian.org/debian buster-backports main contrib non-free
deb-src http://deb.debian.org/debian buster-backports main
-->
deb http://deb.debian.org/debian/ bullseye main non-free contrib
deb http://deb.debian.org/debian/ bullseye main non-free contrib
deb-src http://deb.debian.org/debian/ bullseye main non-free contrib
deb-src http://deb.debian.org/debian/ bullseye main non-free contrib
Рядок 82: Рядок 45:
sudo apt-get upgrade
sudo apt-get upgrade


= Встановлення ОС Debian GNU/Linux 12 bookworm =
<!--== Користувач для Koha ==


Див. також:
Додаємо користувача
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції


Перевірка поточної версії Debian:
(нижче замість „АдміністраторСистемиKoha“ вводимо своє)
lsb_release -d


Щодо сумісності Коха з іншими версіями ОС див.
sudo adduser АдміністраторСистемиKoha
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)


== Підключення гілок non-free та contrib для пакунків Дебіен ==
Деколи група автоматично не створюється — тоді потрібно ще


Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib
sudo addgroup АдміністраторСистемиKoha
sudo adduser АдміністраторСистемиKoha АдміністраторСистемиKoha


sudo mc -e /etc/apt/sources.list
Командою „sudo visudo“ відкриваємо для редагування файл привілеїв адміністратора і надаємо їх користувачу АдміністраторСистемиKoha, додавши у кінці файлу рядок

АдміністраторСистемиKoha ALL=(ALL) ALL

Після додавання клавіатурним скороченням Ctrl-O зберігаємо файл (/etc/sudoers) та через Ctrl-X виходимо.
-->

<!--== Підключення репозитарію Debian „testing“ та „unstable“ ==

Деякі пакунки (чи оновленні версії) не попали в стабільний випуск Debian, проте можуть бути у випуску „testing“ чи „unstable“.

Створюємо файл /etc/apt/apt.conf і додаємо наступне

# Зробити „wheezy“ дистрибутивом за умовчанням
APT::Default-Release "wheezy";

Створюємо файл /etc/apt/preferences і додаємо наступне (щоб у стабільної гілки „wheezy“ був вищий пріоритет)


deb http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware
Package: *
deb-src http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware
Pin: release a=stable
Pin-Priority: 700
deb http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
Package: *
deb-src http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
Pin: release a=testing
Pin-Priority: 650
deb http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
Package: *
deb-src http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
Pin: release a=unstable
Pin-Priority: 600

У файл /etc/apt/sources.list додаємо наступне джерело

# Джерело пакунків з гілки Дебіен „testing“
deb http://http.us.debian.org/debian/ testing main contrib non-free.
deb-src http://http.us.debian.org/debian/ testing main contrib non-free.
deb http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
# Джерело пакунків з гілки Дебіен „testing“ — оновлення безпеки
deb http://security.debian.org/ testing/updates main contrib non-free
deb-src http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
deb-src http://security.debian.org/ testing/updates main contrib non-free
deb http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
# Джерело пакунків з гілки Дебіен „unstable“
deb http://http.us.debian.org/debian/ unstable main contrib non-free.
deb-src http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
deb-src http://http.us.debian.org/debian/ unstable main contrib non-free.
sudo apt-get update
sudo apt-get upgrade


= Попередні налаштування =
Оновлюємо список доступних для встановлення пакунків
== Локаль з UTF-8 ==
Перевірка локалі:
sudo locale
у виводі повинно бути магічне „'''UTF-8'''“ (en.UTF-8 тощо), наприклад для України


LANG=uk_UA.UTF-8
sudo apt-get update
LANGUAGE=
-->
LC_CTYPE="uk_UA.UTF-8"
LC_NUMERIC="uk_UA.UTF-8"
LC_TIME="uk_UA.UTF-8"
LC_COLLATE="uk_UA.UTF-8"
LC_MONETARY="uk_UA.UTF-8"
LC_MESSAGES="uk_UA.UTF-8"
LC_PAPER="uk_UA.UTF-8"
LC_NAME="uk_UA.UTF-8"
LC_ADDRESS="uk_UA.UTF-8"
LC_TELEPHONE="uk_UA.UTF-8"
LC_MEASUREMENT="uk_UA.UTF-8"
LC_IDENTIFICATION="uk_UA.UTF-8"

Якщо '''UTF-8''' не згадується, то встановлюємо локаль
apt install locales locales-all
sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"


== Підключення репозитарію Koha ==
== Підключення репозитарію Koha ==
Рядок 148: Рядок 109:
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільна та розробницька версії.
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільна та розробницька версії.


Спочатку додаємо ключ gpg.asc (koha-keyring.gpg) до довірених ключів APT:
Підключаємо у файлі '''/etc/apt/sources.list''' стабільну версію (рекомендується)
deb http://debian.koha-community.org/koha stable main
(доступні й інші версії (напр. oldstable, oldoldstable…), див. тут http://debian.koha-community.org/koha/dists/)


Встановити gpg
Швидко підключити репозитарій Koha можна командою
apt-get install gnupg2
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list


Звантажити та встановити ключ
Також можна вибрати репозитарій з певною версією, напр
echo 'deb http://debian.koha-community.org/koha 21.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb http://debian.koha-community.org/koha 21.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb http://debian.koha-community.org/koha 22.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb http://debian.koha-community.org/koha 22.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb http://debian.koha-community.org/koha 23.05 main' | sudo tee /etc/apt/sources.list.d/koha.list


Новіший спосіб
Також додаємо ключ gpg.asc до довірених ключів APT:
apt-get install gnupg2
wget -q -O- https://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
або новіший спосіб
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg

або старіший спосіб
wget -q -O- https://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -

Див. також [https://wiki.koha-community.org/wiki/Koha_on_Debian#The_apt-key_deprecation_warning] та [https://wiki.debian.org/DebianRepository/UseThirdParty]).

Швидко підключити репозитарій стабільну версію Koha (рекомендується) можна командою
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list

Також можна вибрати репозитарій з певною версією (див. тут http://debian.koha-community.org/koha/dists/), напр
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
'''echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main' | sudo tee /etc/apt/sources.list.d/koha.list'''
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.11 main' | sudo tee /etc/apt/sources.list.d/koha.list


Оновлюємо список доступних для встановлення пакунків
Оновлюємо список доступних для встановлення пакунків
Рядок 174: Рядок 141:


== Встановлення пакунків Koha ==
== Встановлення пакунків Koha ==
sudo apt-get install koha-common koha-deps koha-perldeps koha-elasticsearch
sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch


Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here
Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here
Рядок 206: Рядок 173:


Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin

Щодо phpmyadmin також див. https://think.unblog.ch/en/phpmyadmin-error-php-7-2-5-is-required/


Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити
Рядок 236: Рядок 205:
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.


Станом на 21.03.2021 необхідні модулі
Станом на 12.2023 необхідні модулі


* '''HTTPD::Bench::ApacheBench''' (0.73), перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all&section=all]).
* '''HTTPD::Bench::ApacheBench''' (0.73), перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all&section=all]).
* '''Test::DBIx::Class''' (0.42), перевірка в Debian: [https://packages.debian.org/search?keywords=libtest-dbix-class-perl&searchon=names&suite=all&section=all]).
* '''Text::CSV::Unicode''' (0.40), перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all&section=all]).
* '''Text::CSV::Unicode''' (0.40), перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all&section=all]).
* '''Selenium::Remote::Driver''' (1.27), перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all&section=all]).
* '''Selenium::Remote::Driver''' (1.27), перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all&section=all]).
* '''Test::MockModule'''

<!-- exists in Debian 10: * '''Net::OAuth2::AuthorizationServer''' (0.16), перевірка в Debian: [https://packages.debian.org/search?keywords=libnet_oauth2_authorizationserver-perl&searchon=names&suite=all&section=all]). -->


* Locale::XGettext::TT2
* '''Locale::XGettext::TT2'''


Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) :
Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) :
Рядок 258: Рядок 223:


sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl

sudo perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore'
sudo perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore'

sudo perl -MCPAN -e 'install Test::Differences'
sudo perl -MCPAN -e 'install Test::Differences'
sudo perl -MCPAN -e 'install Test::DBIx::Class'

— встановився, вивід —
NEWELLC/Test-DBIx-Class-0.52.tar.gz
make install -- OK


sudo perl -MCPAN -e 'install Text::CSV::Unicode'
sudo perl -MCPAN -e 'install Text::CSV::Unicode'
Рядок 270: Рядок 232:
RMBARKER/Text-CSV-Unicode-0.400.tar.gz
RMBARKER/Text-CSV-Unicode-0.400.tar.gz
./Build install -- OK
./Build install -- OK

sudo perl -MCPAN -e 'install Test::MockModule'
— встановився


sudo perl -MCPAN -e 'install Selenium::Remote::Driver'
sudo perl -MCPAN -e 'install Selenium::Remote::Driver'
Рядок 507: Рядок 466:
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.


Оновлення для українських SQL-таблиць доступні у [https://www.dropbox.com/referrals/NTE4MzAyOTY5?src=global9 DrobBox] Сергія Дубика за адресою:
Оновлення для українських SQL-таблиць доступні у DrobBox Сергія Дубика за адресою:


'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0'
'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0'


Тека '''SQL_Koha_22_11_0X_adds/uk-UA_additional/uk-UA''' (або у архіві SQL_Koha_22_11_0X_adds/uk-UA_additional.zip) містить оновлення, які необхідно накласти та теку '''uk-UA''' у '''/usr/share/koha/intranet/cgi-bin/installer/data/mysql'''
Тека '''SQL_Koha_23_05_0X_adds/uk-UA_additional/uk-UA''' містить оновлення, які необхідно скопіювати у теку '''uk-UA''' у '''/usr/share/koha/intranet/cgi-bin/installer/data/mysql'''


Виконайте наступну команду
(Теку /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA не витираємо, лише дописуємо (копіюємо зі заміною) оновлення з DrobBox).
sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.


=== Утворення локалізованих шаблонів ===
=== Утворення локалізованих шаблонів ===
Рядок 533: Рядок 494:
sudo koha-translate --list --available
sudo koha-translate --list --available


Встановлюємо переклади для української та російської
Встановлюємо переклади для української<!-- та російської -->


sudo koha-translate --install uk-UA
sudo koha-translate --install uk-UA
sudo koha-translate --install ru-RU
<!-- sudo koha-translate --install ru-RU -->


Ця команда також згенерує деякі перекладені дані для Коха (у форматі '''yaml'''-файлів) у теці
та декілька інших
/usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA
разом з раніше скопійованими '''SQL'''-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).

Також можете встановити деякі інші мови інтерфейсу


sudo koha-translate --install pl-PL
sudo koha-translate --install pl-PL
sudo koha-translate --install be-BY
<!-- sudo koha-translate --install be-BY -->
sudo koha-translate --install de-DE
sudo koha-translate --install fr-FR
sudo koha-translate --install it-IT
sudo koha-translate --install cs-CZ
sudo koha-translate --install bg-Cyrl


=== Кроки веб-встановлювача ===
=== Кроки веб-встановлювача ===


Типовий логін для екземляра напр. „unimarc“ буде:
Типовий логін для екземляра напр. „ukr_unimarc“ буде:
koha_ukr_unimarc
koha_ukr_unimarc


Пароль можна переглянути за допомогою:
Пароль та логін можна переглянути за допомогою:
sudo koha-passwd ukr_unimarc
sudo koha-passwd ukr_unimarc


Рядок 563: Рядок 533:
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв


Крок 3: створення таблиць, вибір МАРК-стандарту '''Unimarc''' (УкрМарк), вибір типових даних (послідовно '''вибираємо усі''' дані, імпорт 5-10 хв.).
Крок 3: створення таблиць, вибір МАРК-стандарту '''Unimarc''' (УкрМарк), вибір типових даних (послідовно '''вибираємо усі¹²''' '''дані''', імпорт 1-10 хв.).


¹Які типові дані можна вимкнути:
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin). Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.
* Приклади користувачів
* Приклади бібліотек/підрозділів


²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.
Встановлення завершено!


==== Помилка „Gateway Timeout“ ====
==== Процес імпорту даних ====
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).
sudo /etc/init.d/apache2 restart


На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.
та перезапустити веб-встановлювач.


Якщо була така помилка, то скоріш всього sql-дані вставилися в БД частково і веб-встановлювач може видавати помилку на кшталт


Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТИ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:
DBIx::Class::Storage::DBI::_dbh_execute(): Duplicate entry '380-55' for key 'PRIMARY' at /usr/share/koha/lib/Koha/SearchField.pm line 38


#!/bin/bash
У такому випадку необхідно
# MySQL сервер та інформація про підключення
INSTANCE="ukr_unimarc"
MYSQL_USER="koha_"$INSTANCE
MYSQL_PASSWORD="ваш_пароль"
MYSQL_HOST="localhost" # або інший хост, на якому запущено MySQL
MYSQL_DB="koha_"$INSTANCE
# Вибір всіх таблиць в базі даних
TABLES=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -se "SHOW TABLES")
# Вимкнення перевірки зовнішніх ключів
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 0;"
# Цикл для виконання DELETE для кожної таблиці
for table in $TABLES
do
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "DELETE FROM $table;"
done
# Включення перевірки зовнішніх ключів
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 1;"
echo "Всі дані з бази даних $MYSQL_DB були очищені."
sudo /etc/init.d/koha-common restart
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mariadb restart
sudo /etc/init.d/memcached restart
koha-plack --restart $INSTANCE


Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.
1 варіант)


==== Помилка „Gateway Timeout“ ====
Очистити БД і наново запустити веб-встановлювач:
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати
mysql -u root -p
DROP DATABASE koha_ukr_unimarc;
DROP USER 'koha_ukr_unimarc'@'localhost';
quit

sudo /etc/init.d/mysql restart
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/memcached restart
sudo koha-zebra --stop ukr_unimarc
sudo koha-disable ukr_unimarc
sudo koha-remove ukr_unimarc
sudo userdel ukr_unimarc-koha
sudo groupdel ukr_unimarc-koha


та перезапустити веб-встановлювач (й попередньо очистити таблиці).
sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc


==== Адаптаційний етап ====
2 варіант)
=====Створення бібліотеки/підрозділу=====


Створюємо свій підрозділ, напр.
Простіший варіант drop-ання усіх таблиць (згадується тут https://www.cyberciti.biz/faq/how-do-i-empty-mysql-database/) а не цілої БД. Тоді не потрібно перевстановлювати екземпляр Koha.


Код біб­ліо­те­ки/під­роз­ді­лу: AB
Через phpmyadmin виділити усі таблиці у БД koha_ukr_unimarc, та вибрати „Знищити“ їх (знімаємо галочуку „Enable foreign key checks“).
Найменування: Абонемент


=====Створення категорії користувачів=====
Перед кроками веб-встановлювача перезапускаємо
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.
sudo /etc/init.d/memcached restart

===== Створення адміністратора Коха=====

Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.


===== Створення нового типу одиниць =====
оскільки може бути помиока
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.
DBIx::Class::Storage::DBI::catch {...} (): DBI Connection failed: Access denied for user 'koha_ukr_unimarc'@'localhost' (using password: YES) at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1520. at /usr/share/koha/lib/Koha/Database.pm line 100
(створюється новий пароль для koha_ukr_unimarc і веб-встановлювач може видавати помилку)


===== Створення нового правила обігу =====
Далі знову проходимо кроки веб-встановлювача.
Наприклад, вибираємо
Підрозділ бібліотеки: Абонемент
Категорія користувача: Студент
Тип одиниці: BOOK
Поточна дозволена кількість видач: 50
Термін випозичання: 14
Одиниці: дні
Продовження (дозволена кількість): 1
=====Встановлення завершено!=====
Вітаємо, Ви закінчили і готові до використання Коха


== Підтримка кирилиці рушієм пошуку Zebra ==
== Підтримка кирилиці рушієм пошуку Zebra ==
Рядок 649: Рядок 647:
* https://wiki.koha-community.org/wiki/Performance
* https://wiki.koha-community.org/wiki/Performance
* https://wiki.koha-community.org/wiki/Benchmark_for_16.11
* https://wiki.koha-community.org/wiki/Benchmark_for_16.11

== Створення sitemap ==
koha-sitemap --enable ukr_unimarc
koha-sitemap --generate ukr_unimarc


== E-mail ==
== E-mail ==
Рядок 655: Рядок 657:


sudo koha-email-enable ukr_unimarc
sudo koha-email-enable ukr_unimarc

== Вимкнення оновлення Koha ==
Для більш контрольованого оновлення пакунків Коха можна тимчасово виключити оновлення у /etc/apt/sources.list.d/koha.list
#deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main

Це дозволить легко оновлювати інші пакунки Debian


= Виправлення проблем =
= Виправлення проблем =
Рядок 687: Рядок 695:


Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].

Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.

Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коха до найновішої коригувальної версії у гілці 23.05, то у файлі /etc/apt/sources.list.d/koha.list
має бути наступне

deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main


sudo apt-get update
sudo apt-get update
Рядок 694: Рядок 709:
Деколи необхідно оновити ключ debian-сховища Koha.
Деколи необхідно оновити ключ debian-сховища Koha.


wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg

Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок у /etc/apt/sources.list.d/koha.list (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha).


== Встановлення/оновлення допоміжних perl-модулів ==
== Встановлення/оновлення допоміжних perl-модулів ==
Рядок 710: Рядок 727:


sudo apt-get install знайдений_пакунок
sudo apt-get install знайдений_пакунок

Напр.
sudo apt-get install libhttp-tiny-perl


=== Пакунки з CPAN ===
=== Пакунки з CPAN ===
Рядок 735: Рядок 755:
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами


sudo /etc/init.d/mysql restart
sudo /etc/init.d/mariadb restart
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/apache2 restart
sudo koha-zebra --stop ukr_unimarc
sudo koha-zebra --stop ukr_unimarc
Рядок 742: Рядок 762:
sudo koha-disable ukr_unimarc
sudo koha-disable ukr_unimarc
sudo koha-remove ukr_unimarc
sudo koha-remove ukr_unimarc
sudo userdel ukr_unimarc-koha
sudo /sbin/userdel ukr_unimarc-koha
sudo groupdel ukr_unimarc-koha
sudo /sbin/groupdel ukr_unimarc-koha
sudo /etc/init.d/memcached restart
sudo /etc/init.d/memcached restart


Рядок 758: Рядок 778:
Перевірте також теки:
Перевірте також теки:
/var/spool/koha
/var/spool/koha
/var/log/koha
/var/lib/koha
/var/lib/koha
/var/cache/koha
/usr/share/koha
/usr/share/koha
/etc/koha
/etc/koha


Можна очистити вміст цих тек щодо екземляру ukr_unimarc
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc
rm -rf /var/spool/koha/ukr_unimarc
rm -rf /var/spool/koha/ukr_unimarc
rm -rf /var/lib/koha/ukr_unimarc
rm -rf /var/log/koha/ukr_unimarc
rm -rf /var/lib/koha/ukr_unimarc
rm -rf /var/cache/koha/ukr_unimarc

У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha
rm -rf /usr/share/koha
rm -rf /usr/share/koha
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.

У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо
rm -rf /etc/koha/sites/ukr_unimarc
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/
rm -rf /etc/koha

Вилучення налаштувань для веб-сервера Apache2

rm /etc/apache2/sites-enabled/ukr_unimarc.conf
rm /etc/apache2/sites-available/ukr_unimarc.conf

Якщо після видалення планується перевстановлення Коха, то ще потрібно
sudo /etc/init.d/memcached restart


= Налаштування =
= Налаштування =

Поточна версія на 22:17, 28 липня 2024

Розглядається встановлення АБІС Koha версії 21.05.X-23.11.X з репозитарію debian.koha-community.org.

На даний час це найбільш протестований і розповсюджений варіант.

Окрім цього ще є варіант встановлення АБІС Koha з джерельних кодів, що є дещо більш гнучким щодо налаштування, але і складнішим.

Див. також

Встановлення ОС Debian GNU/Linux 11 Bullseye

Див. також:

Перевірка поточної версії Debian:

lsb_release -d

Щодо сумісності Коха з іншими версіями ОС див.

Підключення гілок non-free та contrib для пакунків Дебіен

Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib

sudo mc -e /etc/apt/sources.list
deb     http://deb.debian.org/debian/ bullseye main non-free contrib
deb-src http://deb.debian.org/debian/ bullseye main non-free contrib

deb     http://security.debian.org/debian-security/ bullseye-security main
deb-src http://security.debian.org/debian-security/ bullseye-security main

deb     http://deb.debian.org/debian/ bullseye-updates main contrib non-free
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free

deb     http://deb.debian.org/debian bullseye-backports main contrib non-free
deb-src http://deb.debian.org/debian bullseye-backports main
 
sudo apt-get update
sudo apt-get upgrade

Встановлення ОС Debian GNU/Linux 12 bookworm

Див. також:

Перевірка поточної версії Debian:

lsb_release -d

Щодо сумісності Коха з іншими версіями ОС див.

Підключення гілок non-free та contrib для пакунків Дебіен

Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib

sudo mc -e /etc/apt/sources.list
deb 	http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware

deb 	http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware

deb 	http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware

deb 	http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware

deb 	http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
 
sudo apt-get update
sudo apt-get upgrade

Попередні налаштування

Локаль з UTF-8

Перевірка локалі:

 sudo locale

у виводі повинно бути магічне „UTF-8“ (en.UTF-8 тощо), наприклад для України

LANG=uk_UA.UTF-8
LANGUAGE=
LC_CTYPE="uk_UA.UTF-8"
LC_NUMERIC="uk_UA.UTF-8"
LC_TIME="uk_UA.UTF-8"
LC_COLLATE="uk_UA.UTF-8"
LC_MONETARY="uk_UA.UTF-8"
LC_MESSAGES="uk_UA.UTF-8"
LC_PAPER="uk_UA.UTF-8"
LC_NAME="uk_UA.UTF-8"
LC_ADDRESS="uk_UA.UTF-8"
LC_TELEPHONE="uk_UA.UTF-8"
LC_MEASUREMENT="uk_UA.UTF-8"
LC_IDENTIFICATION="uk_UA.UTF-8"

Якщо UTF-8 не згадується, то встановлюємо локаль

  apt install locales locales-all
  sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"

Підключення репозитарію Koha

В репозитарії debian.koha-community.org доступні стабільна та розробницька версії.

Спочатку додаємо ключ gpg.asc (koha-keyring.gpg) до довірених ключів APT:

Встановити gpg

apt-get install gnupg2

Звантажити та встановити ключ

Новіший спосіб

wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg

або старіший спосіб

wget -q -O- https://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -

Див. також [1] та [2]).

Швидко підключити репозитарій стабільну версію Koha (рекомендується) можна командою

echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list

Також можна вибрати репозитарій з певною версією (див. тут http://debian.koha-community.org/koha/dists/), напр

echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.11 main' | sudo tee /etc/apt/sources.list.d/koha.list

Оновлюємо список доступних для встановлення пакунків

sudo apt-get update

Встановлення Koha

Встановлення пакунків Koha

sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch

Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here

Якщо далі щось піде не так, читаємо стандартну інструкцію про налаштування

less /usr/share/doc/koha-common/README.Debian

(у нових версіях можуть бути зміни)

Встановлення БД MySQL та допоміжних пакунків

sudo apt-get install mariadb-server 
sudo mysql_secure_installation

За винятком першого питання, на всі питання можна відповісти Так (“Y”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!

sudo apt-get install memcached libmemcached-tools
sudo apt install aptitude
sudo apt install php-twig
sudo apt install phpmyadmin php libapache2-mod-php 
  • для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“
  • configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку

Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin

Щодо phpmyadmin також див. https://think.unblog.ch/en/phpmyadmin-error-php-7-2-5-is-required/

Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити

...
<port>8888</port>
...

та додати цей порт у файл /etc/apache2/ports.conf

Listen 8888

Перезапуск Apache

sudo /etc/init.d/apache2 restart

По умовчанню вхід через phphmyadmin для root закрито. За потреби можна створити іншого користувача

mysql -u root -p
CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY 'парольдляsysadmin';

та надати йому привілеї на усі БД:

GRANT ALL PRIVILEGES ON *.* TO 'sysadmin'@'localhost' WITH GRANT OPTION;
exit
sudo /etc/init.d/mysql restart

Пакунки з CPAN

Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.

Станом на 12.2023 необхідні модулі

  • HTTPD::Bench::ApacheBench (0.73), перевірка в Debian: [3]).
  • Text::CSV::Unicode (0.40), перевірка в Debian: [4]).
  • Selenium::Remote::Driver (1.27), перевірка в Debian: [5]).
  • Locale::XGettext::TT2

Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) :

sudo apt-get install make
sudo  perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'

— встановився, вивід —

ADIRAJ/ApacheBench-0.73.tar.gz
make install  -- OK
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl 
sudo  perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore'
sudo  perl -MCPAN -e 'install Test::Differences'
sudo  perl -MCPAN -e 'install Text::CSV::Unicode'

— встановився, вивід —

RMBARKER/Text-CSV-Unicode-0.400.tar.gz
 ./Build install  -- OK
sudo  perl -MCPAN -e 'install Selenium::Remote::Driver'

— встановився, вивід —

TEODESIAN/Selenium-Remote-Driver-1.32.tar.gz
 /usr/bin/make install  -- OK


sudo  perl -MCPAN -e 'install Locale::XGettext::TT2'


Налаштування Apache та сценарій „koha-post-install-setup“

1) Виконуємо сценарій

sudo koha-post-install-setup

(він задіює модулі Rewrite та Suexec для Apache)

2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http

sudo a2enmod deflate
sudo a2enmod rewrite
sudo a2enmod cgi
sudo a2enmod headers proxy_http

3) Редагуємо /etc/apache2/conf-available/charset.conf

AddCharset UTF-8 .utf8
AddDefaultCharset UTF-8

та задіюємо його

sudo a2enconf charset

4) Перезапуск Apache

sudo /etc/init.d/apache2 restart

Створення екземпляра АБІС Koha

Варіанти налаштування АБІС Koha з доменами та портами

Варіант з портами 8080 та 8888 (тестовий)

Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.

koha-ukr-unimarc-site.conf

Створюємо файл

sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf

наступного змісту

DOMAIN="localhost"           # Change this to be your domain. Any instance will be a subdomain of this string.
OPACPORT="8080"                # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used)
OPACPREFIX=""                # For users' interface URL: Prefix to be added to the instance name.
OPACSUFFIX=""                # For users' interface URL: Suffix to be added to the instance name.
INTRAPORT="8888"             # TCP listening port for the administration interface
INTRAPREFIX=""               # For administration interface URL: Prefix to be added to the instance name.
INTRASUFFIX=""               # For administration interface URL: Suffix to be added to the instance name.
ZEBRA_MARC_FORMAT="unimarc"  # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
ZEBRA_LANGUAGE="uk"          # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
DEFAULTSQL=""                # a value is generally not needed.
BIBLIOS_INDEXING_MODE="dom"         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.
AUTHORITIES_INDEXING_MODE="dom"     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.
USE_MEMCACHED="yes"                 # Set the instance to make use of memcache.
MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers.
MEMCACHED_PREFIX="koha_"            # Set the desired prefix for the instance memcached namespace.
ENABLE_SRU="yes"                    # Enable the Z39.50/SRU server (default: disabled).
SRU_SERVER_PORT="7090"              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
ports.conf

Додаємо

Listen 8080
Listen 8888

у файл /etc/apache2/ports.conf

Також перезапускаємо Apache

sudo /etc/init.d/apache2 restart

Варіант з портами 80 та 8080

Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.

koha-ukr-unimarc-site.conf

/змінюється/ Створюємо файл

sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf

наступного змісту

DOMAIN="localhost"           # Change this to be your domain. Any instance will be a subdomain of this string.
OPACPORT="80"                # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used)
OPACPREFIX=""                # For users' interface URL: Prefix to be added to the instance name.
OPACSUFFIX=""                # For users' interface URL: Suffix to be added to the instance name.
INTRAPORT="8080"             # TCP listening port for the administration interface
INTRAPREFIX=""               # For administration interface URL: Prefix to be added to the instance name.
INTRASUFFIX=""               # For administration interface URL: Suffix to be added to the instance name.
ZEBRA_MARC_FORMAT="unimarc"  # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
ZEBRA_LANGUAGE="uk"          # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
DEFAULTSQL=""                # a value is generally not needed.
BIBLIOS_INDEXING_MODE="dom"         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.
AUTHORITIES_INDEXING_MODE="dom"     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.
USE_MEMCACHED="yes"                 # Set the instance to make use of memcache.
MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers.
MEMCACHED_PREFIX="koha_"            # Set the desired prefix for the instance memcached namespace.
ENABLE_SRU="yes"                    # Enable the Z39.50/SRU server (default: disabled).
SRU_SERVER_PORT="7090"              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
ports.conf

Додаємо

Listen 8080
Listen 8008

у файл /etc/apache2/ports.conf

Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008. Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок

<VirtualHost *:8008>

Також перезапускаємо Apache

sudo /etc/init.d/apache2 restart

Варіант з доменами

Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт

opac.librarydomain.ua
staff.librarydomain.ua

Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha

Команда „koha-create“

Синтаксис команди для створення екземплярів АБІС Koha — на вікі та більш актуальний у коді на Git, а також через вбудовану довідку „koha-create --help“:

koha-create [--create-db|--request-db|--populate-db|--use-db] \
  [--marcflavor marc21(default)|normarc|unimarc] \
  [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \
  [--elasticsearch-server localhost:9200(default)] \
  [--auth-idx   dom(default)|grs1] \
  [--biblio-idx dom (default)|grs1] \
  [--use-memcached] \
  [--memcached-servers 127.0.0.1:11211,host2:port2,...] \
  [--memcached-prefix KOHA|koha_|...] \
  [--enable-sru] \
  [--sru-port 7090(default)|9998] \
  [--defaultsql /path/to/some.sql] \
  [--configfile /path/to/config] \
  [--passwdfile /path/to/passwd] \
  [--dbhost host] \
  [--database   dbname]  \
  [--adminuser admin_user_id_in_db] \
  [--template-cache-dir /var/cache/koha/<instance>/templates(default)] \
  [--timezone time/zone (America/Argentina)] \
  [--upload-path /var/lib/koha/<instancename>/uploads(default)|...] \
  [--tmp-path dir /var/lib/koha/<instance>/tmp(default)] \
  [--letsencrypt] \
  [--smtp-host host] \
  [--smtp-port NN] \
  [--smtp-timeout NN] \
  [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \
  [--smtp-user-name user] \
  [--smtp-password  pass] \
  [--smtp-debug] \
  [--mb-host localhost)default)] \
  [--mb-port NN default: 61613] \
  [--mb-user guest(default)] \
  [--mb-pass guest(default)] \
  [--mb-vhost koha_<instance>(default)] \
  [--keep-cookie NAME] \
  [--help,-h] \
  instancename

Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [6], [7]). Екземпляр з назвою більшої довжини буде непрацездатним.

Створення екземпляра АБІС Koha (українська, Unimarc)

sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc

Вивід:

Koha instance is empty, no staff user created.
Starting Koha worker daemon for ukr_unimarc (default):.
Starting Koha indexing daemon for ukr_unimarc:.

Веб-встановлювач

Актуальні українські sql-файли

Частина локалізованих SQL-таблиць українською була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.

Оновлення для українських SQL-таблиць доступні у DrobBox Сергія Дубика за адресою:

'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0'

Тека SQL_Koha_23_05_0X_adds/uk-UA_additional/uk-UA містить оновлення, які необхідно скопіювати у теку uk-UA у /usr/share/koha/intranet/cgi-bin/installer/data/mysql

Виконайте наступну команду

sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;

щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.

Утворення локалізованих шаблонів

Спочатку дивимося перелік доступних мов

sudo koha-translate --list --available

Встановлюємо переклади для української

sudo koha-translate --install uk-UA

Ця команда також згенерує деякі перекладені дані для Коха (у форматі yaml-файлів) у теці

/usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA

разом з раніше скопійованими SQL-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).

Також можете встановити деякі інші мови інтерфейсу

sudo koha-translate --install pl-PL 
sudo koha-translate --install de-DE
sudo koha-translate --install fr-FR
sudo koha-translate --install it-IT
sudo koha-translate --install cs-CZ
sudo koha-translate --install bg-Cyrl
…

Кроки веб-встановлювача

Типовий логін для екземляра напр. „ukr_unimarc“ буде:

koha_ukr_unimarc

Пароль та логін можна переглянути за допомогою:

sudo koha-passwd ukr_unimarc

або логін і пароль зберігаються у файлі /etc/koha/sites/ukr_unimarc/koha-conf.xml, у розділі config знаходимо користувача (user) та пароль (pass). Також побачити логін та пароль можна через команди

sudo xmlstarlet sel -t -v 'yazgfs/config/user' /etc/koha/sites/ukr_unimarc/koha-conf.xml
sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/ukr_unimarc/koha-conf.xml

У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.

Крок 1: мова uk-UA, перевірка залежностей

Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв

Крок 3: створення таблиць, вибір МАРК-стандарту Unimarc (УкрМарк), вибір типових даних (послідовно вибираємо усі¹² дані, імпорт 1-10 хв.).

¹Які типові дані можна вимкнути:

  • Приклади користувачів
  • Приклади бібліотек/підрозділів

²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.

Процес імпорту даних

Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).

На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.


Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТИ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:

#!/bin/bash 
# MySQL сервер та інформація про підключення
INSTANCE="ukr_unimarc"
MYSQL_USER="koha_"$INSTANCE
MYSQL_PASSWORD="ваш_пароль"
MYSQL_HOST="localhost" # або інший хост, на якому запущено MySQL
MYSQL_DB="koha_"$INSTANCE 
# Вибір всіх таблиць в базі даних 
TABLES=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -se "SHOW TABLES")
# Вимкнення перевірки зовнішніх ключів
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 0;" 
# Цикл для виконання DELETE для кожної таблиці
for table in $TABLES
do
  mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "DELETE FROM $table;"
done 
# Включення перевірки зовнішніх ключів
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 1;"
echo "Всі дані з бази даних $MYSQL_DB були очищені."
sudo /etc/init.d/koha-common restart
sudo /etc/init.d/apache2 restart
sudo /etc/init.d/mariadb restart
sudo /etc/init.d/memcached restart
koha-plack --restart $INSTANCE

Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.

Помилка „Gateway Timeout“

Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати

sudo /etc/init.d/apache2 restart

та перезапустити веб-встановлювач (й попередньо очистити таблиці).

Адаптаційний етап

Створення бібліотеки/підрозділу

Створюємо свій підрозділ, напр.

   Код біб­ліо­те­ки/під­роз­ді­лу: AB
   Найменування: Абонемент
Створення категорії користувачів

Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.

Створення адміністратора Коха

Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.

Створення нового типу одиниць

Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.

Створення нового правила обігу

Наприклад, вибираємо

Підрозділ бібліотеки: Абонемент
Категорія користувача: Студент
Тип одиниці: BOOK
Поточна дозволена кількість видач: 50
Термін випозичання: 14
Одиниці: дні
Продовження (дозволена кількість): 1
Встановлення завершено!

Вітаємо, Ви закінчили і готові до використання Коха

Підтримка кирилиці рушієм пошуку Zebra

Необхідно додати кириличні символи до файлу

/etc/koha/zebradb/etc/word-phrase-utf.chr

а саме виправити на наступне:

lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’
uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’

space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}

Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.

Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу /etc/koha/zebradb/lang_defs/en/sort-string-utf.chr (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).

При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни.

Запуск служби Zebra

sudo koha-zebra --start ukr_unimarc

Запуск індексації Zebra

sudo koha-rebuild-zebra -f -v ukr_unimarc

Включення Plack

koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc

Щодо продуктивності див. також тут:

Створення sitemap

koha-sitemap --enable   ukr_unimarc
koha-sitemap --generate ukr_unimarc

E-mail

By default, email is turned off. This is to let you get everything set up before you risk sending unwanted notices to people. To turn email on:

sudo koha-email-enable ukr_unimarc

Вимкнення оновлення Koha

Для більш контрольованого оновлення пакунків Коха можна тимчасово виключити оновлення у /etc/apt/sources.list.d/koha.list

#deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main

Це дозволить легко оновлювати інші пакунки Debian

Виправлення проблем

Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії. Це у випадку, якщо про проблему повідомлено на баґгтрекар Koha і знайдено й прийнято її вирішення (латка) до виходу наступної версії. Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha.

Див. також: Виправлення та вдосконалення для АБІС Koha, зроблені українською спільнотою АБІС Koha.

Оновлення Koha

Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.

Оновлення проходить легко для варіанту встановлення Koha з пакунків Debian.

Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.

Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коха до найновішої коригувальної версії у гілці 23.05, то у файлі /etc/apt/sources.list.d/koha.list має бути наступне

deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main

sudo apt-get update
sudo apt-get upgrade
sudo apt-get install koha-common

Деколи необхідно оновити ключ debian-сховища Koha.

wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg

Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок у /etc/apt/sources.list.d/koha.list (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha).

Встановлення/оновлення допоміжних perl-модулів

Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка > Про АБІС Koha > Модулі Perl“.

Ви можете побачити відсутні модулі Perl, виділені різними кольорами,

Пакунки з репозитарію Debian

Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук https://www.debian.org/distrib/packages#search_packages

Знайдені пакунки довстановлюємо

sudo apt-get install знайдений_пакунок

Напр.

sudo apt-get install libhttp-tiny-perl

Пакунки з CPAN

Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN.

Наприклад, при оновлення до 16.11:

(perl-пакунок „Test::DBIx::Class“ також вимагав встановлення debian-пакунка „apache2-dev“)

sudo cpan
install Test::DBIx::Class
install Readonly::XS
install HTTPD::Bench::ApacheBench

Оновлення локалізації

sudo koha-translate --update uk-UA

та, за потреби, інших мов (ru-RU, pl-PL, be-BY)

Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.

Вилучення Koha

Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. Попередньо необхідно зупинити та вилучити усі екземпляри АБІС Koha командами

sudo /etc/init.d/mariadb restart
sudo /etc/init.d/apache2 restart
sudo koha-zebra --stop ukr_unimarc
sudo koha-indexer --stop ukr_unimarc
sudo koha-plack --stop ukr_unimarc
sudo koha-disable ukr_unimarc
sudo koha-remove ukr_unimarc
sudo /sbin/userdel ukr_unimarc-koha
sudo /sbin/groupdel ukr_unimarc-koha
sudo /etc/init.d/memcached restart

Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha' returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.

Перегляд переліку наявних екземплярів

sudo koha-list

Остаточне вилучення пакунків Koha

sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch

Перевірте також теки:

/var/spool/koha
/var/log/koha
/var/lib/koha
/var/cache/koha
/usr/share/koha
/etc/koha

Можна очистити вміст цих тек щодо екземпляру ukr_unimarc

rm -rf /var/spool/koha/ukr_unimarc
rm -rf /var/log/koha/ukr_unimarc
rm -rf /var/lib/koha/ukr_unimarc 
rm -rf /var/cache/koha/ukr_unimarc 

У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha

rm -rf /usr/share/koha

Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.

У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо

rm -rf /etc/koha/sites/ukr_unimarc

Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/

rm -rf /etc/koha

Вилучення налаштувань для веб-сервера Apache2

rm /etc/apache2/sites-enabled/ukr_unimarc.conf
rm /etc/apache2/sites-available/ukr_unimarc.conf

Якщо після видалення планується перевстановлення Коха, то ще потрібно

sudo /etc/init.d/memcached restart

Налаштування

Щодо додаткових налаштувань та адаптацій див. тут: Налаштування Koha, встановленої з джерела.

Див. також