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

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку

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

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

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

Див. також

Встановлення ОС 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 доступні стабільні версії, які виходять 2 рази на рік і підтримуються 24-42 місяці (https://wiki.koha-community.org/wiki/Koha_Versioning).

Налаштування ключів:

sudo apt update
sudo apt install sudo apt-transport-https ca-certificates curl gnupg2
sudo mkdir -p --mode=0755 /etc/apt/keyrings
sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc

Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків. Це рекомендується для виробничих середовищ, щоб "випадково" не оновитися до нового великого випуску.

Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.

Поточні номери версій Koha та їхні кодові назви:

  • 25.05 (stable) — поточний стабільний реліз і наступна версія з довготривалою підтримкою (LTS)
  • 24.11 (LTS) (oldstable) — на один реліз позаду від поточного стабільного
  • 24.05 (oldoldstable) — на два релізи позаду від поточного стабільного
  • 23.11 (oldoldoldstable) — версія з довготривалою підтримкою, підтримується приблизно 3 з половиною роки

Щоб оновити список джерел пакетів для використання релізу 25.05:

sudo tee /etc/apt/sources.list.d/koha.sources <<EOF
Types: deb
URIs: https://debian.koha-community.org/koha/
Suites: 25.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
EOF

Щоб оновити список джерел пакетів для використання релізу 24.11:

sudo tee /etc/apt/sources.list.d/koha.sources <<EOF
Types: deb
URIs: https://debian.koha-community.org/koha/
Suites: 24.11
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
EOF

Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list.

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

sudo apt 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: [1]).
  • Text::CSV::Unicode (0.40), перевірка в Debian: [2]).
  • Selenium::Remote::Driver (1.27), перевірка в Debian: [3]).
  • Locale::XGettext::TT2
  • Test::PerlTidy

Встановлюємо командами (при цьому, якщо це перше використання 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'
sudo  perl -MCPAN -e 'install Test::PerlTidy'


Налаштування 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 символами (див. [4], [5]). Екземпляр з назвою більшої довжини буде непрацездатним.

Створення екземпляра АБІС 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_25_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, встановленої з джерела.

Див. також