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

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку
Немає опису редагування
Рядок 1: Рядок 1:
= Встановлення АБІС Koha з репозитарію на ОС Debian =
Розглядається встановлення АБІС Koha версій '''24.11–26.05''' '''з репозитарію''' [http://debian.koha-community.org/ debian.koha-community.org] на ОС '''Debian 13 (trixie)''' — поточному стабільному релізі Debian.
На даний час це найбільш протестований і розповсюджений варіант.
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.


'''Стан документа''' (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано '''Elasticsearch''' (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =


Див. також
__TOC__
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki
* [https://wiki.koha-community.org/wiki/Debian Koha & Debian] на Koha Wiki
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki


= Встановлення ОС Debian GNU/Linux 13 (trixie) =
== Вступ ==
Див. також:
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції
Перевірка поточної версії Debian:
lsb_release -d
Щодо сумісності Коха з іншими версіями ОС див.
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)


'''Примітка щодо Debian 12 (bookworm).''' Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).
У статті описано встановлення автоматизованої бібліотечної інформаційної системи '''Koha 26.05''' з офіційного репозиторію на '''Debian GNU/Linux 13 (Trixie)'''.


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

sudo mc -e /etc/apt/sources.list
* Koha 26.05;
deb http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware
* MariaDB;
deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware
* Apache;
* Elasticsearch;
* Plack;
* електронний каталог;
* інтерфейс бібліотекаря;
* HTTPS;
* SMTP;
* резервне копіювання.

Інструкція розрахована на чисту інсталяцію Debian 13.

Усі команди виконуються від користувача '''root'''.

== Мінімальні вимоги ==

Для невеликих бібліотек рекомендується:

{| class="wikitable"
! Компонент
! Мінімально
! Рекомендовано
|-
| Процесор
| 2 ядра
| 4 ядра і більше
|-
| Оперативна пам'ять
| 4 ГБ
| 8 ГБ і більше
|-
| Системний диск
| 40 ГБ SSD
| 100 ГБ SSD і більше
|-
| База даних
| MariaDB
| MariaDB
|-
| Пошуковий рушій
| Elasticsearch
| Elasticsearch
|}

Для середніх і великих бібліотек обсяг оперативної пам'яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.

== Підготовка системи ==

Оновити список пакетів та встановити всі доступні оновлення.

apt update
apt full-upgrade -y
reboot

=== Перевірка ===

Перевірити версію Debian.

cat /etc/debian_version

Повинна відображатися версія 13.x.

== Часовий пояс ==

Перевірити поточний часовий пояс.

timedatectl

Для України рекомендується:

timedatectl set-timezone Europe/Kyiv

=== Перевірка ===

timedatectl

У полі '''Time zone''' повинно бути

Europe/Kyiv

== Локалі ==

Перевірити поточні локалі.

locale

Якщо локалі ще не створені, виконати

dpkg-reconfigure locales

Рекомендується увімкнути

en_US.UTF-8 UTF-8
uk_UA.UTF-8 UTF-8

Локаль за замовчуванням

en_US.UTF-8

=== Перевірка ===

locale

== Ім'я сервера ==

Перевірити поточне ім'я сервера.

hostnamectl

При необхідності змінити його.

hostnamectl set-hostname koha

Якщо використовується доменне ім'я, рекомендується одразу встановити повне ім'я сервера, наприклад

koha.example.org

=== Перевірка ===

hostname -f

== Файл hosts ==

Відкрити файл

mc -e /etc/hosts

Приклад

127.0.0.1 localhost
127.0.1.1 koha.example.org koha
deb http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware
::1 localhost ip6-localhost ip6-loopback
deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware

=== Перевірка ===
deb http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware

deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware
hostname -f
ping -c4 localhost
deb http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware

deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware
== Синхронізація часу ==

Перевірити стан служби синхронізації часу.

systemctl status systemd-timesyncd

Якщо служба не запущена

systemctl enable systemd-timesyncd
systemctl restart systemd-timesyncd

=== Перевірка ===

timedatectl

У полі

System clock synchronized

повинно бути

yes

== Встановлення додаткових пакетів ==

Встановити пакети, які знадобляться під час налаштування сервера.

apt install -y \
apt-transport-https \
ca-certificates \
curl \
wget \
gnupg \
lsb-release \
software-properties-common \
mc \
htop \
iotop \
iftop \
tree \
zip \
unzip \
rsync \
cron \
certbot

=== Перевірка ===

mc
htop

Програми повинні запускатися без помилок.

== Налаштування репозиторію Koha ==

Встановити пакети, необхідні для роботи з HTTPS-репозиторіями.

apt update
deb http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware
apt install -y \
deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware
ca-certificates \
curl \
sudo apt-get update
gnupg
sudo apt-get upgrade


= Попередні налаштування =
Імпортувати ключ репозиторію Koha.
== Локаль з 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 ==
wget -qO- https://debian.koha-community.org/koha/gpg.asc \
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).
| gpg --dearmor \
Налаштування ключів:
-o /usr/share/keyrings/koha-keyring.gpg
sudo apt update
sudo apt install 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 та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):
Створити файл репозиторію.
* '''26.05 (stable)''' — поточний стабільний реліз
* '''25.11 (oldstable)''' — на один реліз позаду поточного стабільного
* '''25.05 (oldoldstable)''' — на два релізи позаду поточного стабільного
* '''24.11 (LTS)''' — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується


Щоб оновити список джерел пакетів для використання релізу 26.05:
mc -e /etc/apt/sources.list.d/koha.list
sudo tee /etc/apt/sources.list.d/koha.sources <<EOF
Types: deb
URIs: https://debian.koha-community.org/koha/
Suites: 26.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
EOF
Щоб оновити список джерел пакетів для використання LTS-релізу 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
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це '''не рекомендовано''': при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.


Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.
Вміст файлу
Оновлюємо список доступних для встановлення пакунків
sudo apt update


= Встановлення Koha =
deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] \
== Встановлення пакунків Koha ==
https://debian.koha-community.org/koha stable main
sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch
Якщо під час встановлення виникають помилки конфігурації пакунка libapache2-mpm-itk, читаємо стандартну інструкцію про налаштування
less /usr/share/doc/koha-common/README.Debian
(у нових версіях можуть бути зміни; давніші застереження щодо mpm-itk з часів Ubuntu та старих випусків Debian на trixie здебільшого вже не актуальні, але README варто переглянути за потреби).


== Встановлення БД MariaDB та допоміжних пакунків ==
Оновити список пакетів.
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).
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 на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити
apt update
...
<port>8888</port>
...
та додати цей порт у файл /etc/apache2/ports.conf
Listen 8888
Перезапуск Apache
sudo systemctl restart apache2
По умовчанню вхід через phpmyadmin для root закрито.
За потреби можна створити іншого користувача
mysql -u root -p
CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY 'парольдляsysadmin';
та надати йому привілеї на усі БД:
GRANT ALL PRIVILEGES ON *.* TO 'sysadmin'@'localhost' WITH GRANT OPTION;
exit
sudo systemctl restart mariadb


== Пакунки з CPAN (лише за потреби) ==
=== Перевірка ===
'''Пріоритет — пакунки Debian та Koha''' (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.


Перелік відсутніх модулів дивимось на сторінці „Домівка > Про АБІС Koha > Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:
apt policy koha-common
* '''HTTPD::Bench::ApacheBench''' — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all&section=all]
* '''Text::CSV::Unicode''' — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all&section=all]
* '''Selenium::Remote::Driver''' — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all&section=all]
* '''Locale::XGettext::TT2'''
* '''Test::PerlTidy'''


Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):
У списку джерел пакетів повинен бути репозиторій
sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
sudo perl -MCPAN -e 'install Test::Differences'
sudo perl -MCPAN -e 'install Text::CSV::Unicode'
sudo perl -MCPAN -e 'install Selenium::Remote::Driver'
sudo perl -MCPAN -e 'install Locale::XGettext::TT2'
sudo perl -MCPAN -e 'install Test::PerlTidy'


== Налаштування Apache та сценарій „koha-post-install-setup“ ==
https://debian.koha-community.org/koha
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 systemctl restart apache2


== Створення екземпляра АБІС Koha ==
== Встановлення 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).
ELASTICSEARCH_SERVER="127.0.0.1:9200" # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.
===== ports.conf =====
Додаємо
Listen 8080
Listen 8888
у файл /etc/apache2/ports.conf
Також перезапускаємо Apache
sudo systemctl restart apache2
==== Варіант з портами 80 та 8080 ====
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.


===== koha-ukr-unimarc-site.conf =====
Встановити Koha.
/змінюється/
Створюємо файл
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).
ELASTICSEARCH_SERVER="127.0.0.1:9200" # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.
===== 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 systemctl restart apache2
==== Варіант з доменами ====
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС 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“ ===
<syntaxhighlight lang="bash">
Синтаксис команди для створення екземплярів АБІС Koha — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та більш актуальний у [http://git.koha-community.org/gitweb/?p=koha.git;a=blob_plain;f=debian/scripts/koha-create;hb=HEAD коді на Git], а також через вбудовану довідку „koha-create --help“ (список нижче — орієнтовний, звіряйте з --help для вашої версії, оскільки перелік прапорців періодично змінюється):
apt install -y koha-common
koha-create [--create-db|--request-db|--populate-db|--use-db] \
</syntaxhighlight>
[--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 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.''


Зверніть увагу на прапорець '''--elasticsearch-server''' — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.
Під час встановлення буде створено користувача '''koha''', каталоги програми та встановлено всі необхідні Perl-модулі. :contentReference[oaicite:1]{index=1}


Створення екземпляра АБІС 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:.


== Веб-встановлювач ==
<syntaxhighlight lang="bash">
=== Актуальні українські sql-файли ===
koha-list
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.
</syntaxhighlight>
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:
'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). Бачимо запит на авторизацію від веб-встановлювача.
== MariaDB ==
Крок 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 systemctl restart koha-common
sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl restart memcached
koha-plack --restart $INSTANCE
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.


==== Помилка „Gateway Timeout“ ====
<syntaxhighlight lang="bash">
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати
systemctl enable mariadb
systemctl restart mariadb
sudo systemctl restart apache2
та перезапустити веб-встановлювач (й попередньо очистити таблиці).
</syntaxhighlight>


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


== Пошуковий рушій: Elasticsearch (рекомендовано) ==
<syntaxhighlight lang="bash">
Koha підтримує два пошукові рушії, що перемикаються системною преференцією '''SearchEngine''': Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано '''Elasticsearch''' — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.
mysql_secure_installation
</syntaxhighlight>


Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.
Рекомендується:


=== Встановлення сервера Elasticsearch ===
* встановити пароль користувача '''root''';
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:
* видалити анонімних користувачів;
sudo apt install openjdk-21-jdk-headless
* заборонити віддалений вхід користувача '''root''';
Підключаємо офіційний репозитарій Elastic та ключ:
* видалити тестову базу даних;
sudo apt install apt-transport-https
* перезавантажити таблиці привілеїв.
sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc
sudo tee /etc/apt/sources.list.d/elasticsearch.sources <<EOF
Types: deb
URIs: https://artifacts.elastic.co/packages/8.x/apt
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/elasticsearch.asc
EOF
sudo apt update
sudo apt install elasticsearch
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.
Запуск і автозапуск служби:
sudo systemctl enable --now elasticsearch
Перевірка:
curl -k https://localhost:9200 -u elastic


=== Плагіни ICU та українського аналізатора ===
=== Перевірка ===
Плагін '''analysis-icu''' Koha вимагає обов'язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін '''analysis-ukrainian''' — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian
sudo systemctl restart elasticsearch
Плагін analysis-ukrainian надає ES-аналізатор з назвою '''ukrainian'''. Прив'язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.


=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===
<syntaxhighlight lang="bash">
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з'єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &lt;elasticsearch&gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:
systemctl is-active mariadb
<elasticsearch>
</syntaxhighlight>
<server>127.0.0.1:9200</server>
<index_name>koha_ukr_unimarc</index_name>
<handle_args>
<verify_SSL>0</verify_SSL>
</handle_args>
</elasticsearch>
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).


=== Індексація та перемикання Koha на Elasticsearch ===
Повинно бути
1) У пошуку системних преференцій відкриваємо '''SearchEngine''' (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на '''Elasticsearch'''.
2) Будуємо індекси для потрібного екземпляра:
sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:
sudo koha-es-indexer --start ukr_unimarc
sudo koha-es-indexer --status ukr_unimarc
4) Перевірка результату: пошук символу '''*''' у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.


Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.
<syntaxhighlight lang="text">
active
</syntaxhighlight>


=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===
== Створення бібліотеки ==
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.


Необхідно додати кириличні символи до файлу
У прикладах використовується назва
/etc/koha/zebradb/etc/word-phrase-utf.chr

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

space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
За потреби замініть її на власну.
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.

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

При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.
<syntaxhighlight lang="bash">
koha-create --create-db library
</syntaxhighlight>

Під час створення буде:

* створено базу даних;
* створено користувача MariaDB;
* створено конфігурацію Apache;
* створено конфігурацію Plack;
* створено службові каталоги;
* згенеровано пароль адміністратора бази даних.

=== Перевірка ===

<syntaxhighlight lang="bash">
koha-list
</syntaxhighlight>

Повинно відобразитися

<syntaxhighlight lang="text">
library
</syntaxhighlight>

== Пароль доступу до бази даних ==

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

Переглянути його можна у файлі

<syntaxhighlight lang="bash">
mc -e /etc/koha/sites/library/koha-conf.xml
</syntaxhighlight>

Знайти рядок

<syntaxhighlight lang="xml">
<pass>...</pass>
</syntaxhighlight>

Цей пароль знадобиться під час роботи веб-інсталятора.

'''Примітка.'''

Не змінюйте цей пароль вручну без необхідності.
== Налаштування вебсерверу ==

Після створення бібліотеки Koha автоматично створює конфігураційні файли Apache.

Перевірити їх наявність.

ls -l /etc/apache2/sites-available/

Повинні бути присутні файли

library.conf
library_ssl.conf

Увімкнути необхідні модулі Apache.

a2enmod rewrite
a2enmod headers
a2enmod proxy
a2enmod proxy_http
a2enmod ssl
a2enmod cgid

Перезапустити Apache.

systemctl restart apache2

=== Перевірка ===

Перевірити конфігурацію.

apachectl configtest

Повинно відобразитися

Syntax OK

Перевірити стан служби.

systemctl is-active apache2

Повинно бути

active

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

Встановити Certbot.

apt install -y certbot python3-certbot-apache

Отримати сертифікат Let's Encrypt.

certbot --apache

Під час налаштування:

* вказати адресу електронної пошти;
* погодитися з умовами використання;
* вибрати домен бібліотеки;
* дозволити автоматичне перенаправлення HTTP → HTTPS.

=== Перевірка ===

Відкрити у браузері

https://library.example.org

та

https://library.example.org:8080

Повинно відображатися захищене з'єднання.

Перевірити автоматичне оновлення сертифікатів.

systemctl status certbot.timer

Повинно бути

active (waiting)

== Plack ==

Запустити Plack для бібліотеки.

koha-plack --enable library

Перезапустити Plack.

koha-plack --restart library

=== Перевірка ===

koha-plack --status library

Повинно відобразитися

Plack is enabled

== Memcached ==

Якщо сервер Memcached ще не встановлено

apt install -y memcached

Увімкнути автоматичний запуск.

systemctl enable memcached
systemctl restart memcached

Переконатися, що використання Memcached увімкнено у файлі

mc -e /etc/koha/koha-sites.conf

Параметр

USE_MEMCACHED="yes"

=== Перевірка ===

systemctl is-active memcached

Повинно бути

active

== Elasticsearch ==

Перевірити роботу служби.

systemctl is-active elasticsearch

Повинно бути

active

Перевірити відповідь сервера.

curl http://127.0.0.1:9200

Повинен відобразитися JSON із відомостями про Elasticsearch.

Побудувати пошукові індекси.

koha-elasticsearch --rebuild -v -f library

'''Примітка.'''

Під час першого індексування великої бази даних процес може тривати тривалий час.

=== Перевірка ===

У журналі не повинно бути повідомлень про помилки.

== Доступ до вебінсталятора ==

Після створення бібліотеки відкрити службовий інтерфейс.

https://library.example.org:8080

Відобразиться майстер встановлення Koha.

Для підключення до бази даних використовуються параметри з файлу

/etc/koha/sites/library/koha-conf.xml

Заповнити:

* Database name;
* Database user;
* Database password.

Після успішного підключення перейти до наступного кроку.

== Початкове налаштування Koha ==

Під час роботи майстра рекомендується:

* встановити демонстраційні дані лише для тестового сервера;
* для робочого сервера не встановлювати приклади читачів, примірників та бібліографічних записів;
* вибрати формат MARC — UNIMARC;
* вибрати стандартні системні налаштування.

Після завершення інсталятора увійти до службового інтерфейсу під користувачем

koha_admin

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

=== Перевірка ===

Відкрити головну сторінку службового інтерфейсу.

Переконатися, що:

* відображається головне меню;
* відсутні повідомлення про помилки;
* працює пошук;
* відкривається модуль «Керування».

== Завершення встановлення ==

Після завершення вебінсталятора рекомендується виконати кілька додаткових перевірок.

=== Перевірити служби ===

systemctl status apache2
systemctl status mariadb
systemctl status memcached
systemctl status elasticsearch

Усі служби повинні перебувати у стані '''active (running)'''.

=== Перевірити бібліотеку ===

koha-list

Повинна відображатися створена бібліотека.

=== Перевірити Plack ===

koha-plack --status koha

Якщо використовується інша назва бібліотеки, замініть '''koha''' на власну.

Plack повинен бути увімкнений.

=== Перевірити вебінтерфейси ===

Відкрити у браузері:

https://koha.example.org

та

https://koha.example.org:8080

Повинні відкриватися відповідно:

* електронний каталог (OPAC);
* службовий інтерфейс Koha.

== Перші кроки після встановлення ==

Після успішного встановлення рекомендується:

* створити резервну копію бази даних;
* налаштувати електронну пошту;
* перевірити створення резервних копій;
* створити додаткових адміністраторів;
* налаштувати бібліотеки, категорії читачів та правила користування;
* встановити логотип бібліотеки;
* налаштувати резервне копіювання сервера.

== Корисні команди ==

Перелік бібліотек

koha-list

Перезапустити Plack

koha-plack --restart koha

Зупинити Plack

koha-plack --stop koha

Запустити Plack

koha-plack --start koha

Перебудувати індекси Elasticsearch

koha-elasticsearch --rebuild -f -v koha

Перевірити конфігурацію Apache

apachectl configtest

Переглянути журнали Apache

journalctl -u apache2

Переглянути журнали MariaDB

journalctl -u mariadb

Переглянути журнали Elasticsearch

journalctl -u elasticsearch

== Типові проблеми ==

=== Apache не запускається ===

Перевірити конфігурацію.

apachectl configtest

Після виправлення помилок перезапустити службу.

systemctl restart apache2

=== MariaDB не запускається ===

Переглянути журнал.

journalctl -u mariadb -n 100

=== Elasticsearch недоступний ===

Перевірити службу.

systemctl status elasticsearch

Перевірити відповідь сервера.

curl http://127.0.0.1:9200


==== Запуск служби Zebra ====
=== Не відкривається службовий інтерфейс ===
sudo koha-zebra --start ukr_unimarc


==== Запуск індексації Zebra ====
Перевірити Apache.
sudo koha-rebuild-zebra -f -v ukr_unimarc


== Включення Plack ==
systemctl status apache2
koha-plack --enable ukr_unimarc; koha-plack --start ukr_unimarc
Щодо продуктивності див. також тут:
* https://wiki.koha-community.org/wiki/Performance


== Створення sitemap ==
Перевірити Plack.
koha-sitemap --enable ukr_unimarc
koha-sitemap --generate ukr_unimarc


== E-mail ==
koha-plack --status koha
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:
sudo koha-email-enable ukr_unimarc


== Вимкнення оновлення Koha ==
Перевірити журнали.
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:
Types: deb
URIs: https://debian.koha-community.org/koha/
# Suites: 26.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.


= Виправлення проблем =
journalctl -u apache2 -n 100
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).


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


= Оновлення Koha =
Для оновлення Debian
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources
має бути наступне
Types: deb
URIs: https://debian.koha-community.org/koha/
Suites: 25.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install koha-common
Деколи необхідно оновити ключ debian-сховища Koha:
sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.


Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:
apt update
* чи не зникло (і не потребує повторного додавання) налаштування &lt;verify_SSL&gt;0&lt;/verify_SSL&gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;
apt full-upgrade
* чи не з'явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).


== Встановлення/оновлення допоміжних perl-модулів ==
Для оновлення Koha використовується стандартний механізм оновлення пакетів Debian.
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка > Про АБІС 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 (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).
sudo cpan
install Test::DBIx::Class
install Readonly::XS
install HTTPD::Bench::ApacheBench


== Оновлення локалізації ==
Перед оновленням рекомендується створити резервну копію бази даних та каталогу
sudo koha-translate --update uk-UA
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.


= Вилучення Koha =
/etc/koha
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами
sudo systemctl restart mariadb
sudo systemctl restart apache2
sudo koha-zebra --stop ukr_unimarc
sudo koha-indexer --stop ukr_unimarc
sudo koha-es-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 systemctl restart memcached
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):
curl -k -X DELETE "https://localhost:9200/koha_ukr_unimarc_*" -u elastic
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):
sudo systemctl stop elasticsearch
sudo apt-get purge elasticsearch
sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch


Інколи виникає помилка 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 systemctl restart memcached


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


= Див. також =
* Оновлення Koha.
* [[Встановлення Koha з джерела на ОС Debian]]
* Резервне копіювання Koha.
* [[Оновлення Koha, встановленої з джерела]]
* Перенесення Koha на інший сервер.
* [[Коротка інструкція для адміністратора АБІС Koha]]
* Налаштування електронної пошти.
* [[Короткий посібник користувача АБІС Koha]]
* Оптимізація продуктивності.
[[Category:АБІС Koha]]
* HTTPS та сертифікати Let's Encrypt.
* Elasticsearch.
* Plack.
* Cron-завдання.

Версія за 19:55, 8 липня 2026

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

Розглядається встановлення АБІС Koha версій 24.11–26.05 з репозитарію debian.koha-community.org на ОС Debian 13 (trixie) — поточному стабільному релізі Debian. На даний час це найбільш протестований і розповсюджений варіант. Окрім цього ще є варіант встановлення АБІС Koha з джерельних кодів, що є дещо більш гнучким щодо налаштування, але і складнішим.

Стан документа (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано Elasticsearch (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.

Див. також

Встановлення ОС Debian GNU/Linux 13 (trixie)

Див. також:

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

lsb_release -d

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

Примітка щодо Debian 12 (bookworm). Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).

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

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

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

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

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

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

deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware
deb-src http://deb.debian.org/debian-security/ trixie-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 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning). Налаштування ключів:

sudo apt update
sudo apt install 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 та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на Koha_on_Debian):

  • 26.05 (stable) — поточний стабільний реліз
  • 25.11 (oldstable) — на один реліз позаду поточного стабільного
  • 25.05 (oldoldstable) — на два релізи позаду поточного стабільного
  • 24.11 (LTS) — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.
  • 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується

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

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

Щоб оновити список джерел пакетів для використання LTS-релізу 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

Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це не рекомендовано: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.

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

sudo apt update

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

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

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

Якщо під час встановлення виникають помилки конфігурації пакунка libapache2-mpm-itk, читаємо стандартну інструкцію про налаштування

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

(у нових версіях можуть бути зміни; давніші застереження щодо mpm-itk з часів Ubuntu та старих випусків Debian на trixie здебільшого вже не актуальні, але README варто переглянути за потреби).

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

На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).

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 на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити

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

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

Listen 8888

Перезапуск Apache

sudo systemctl restart apache2

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

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

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

GRANT ALL PRIVILEGES ON *.* TO 'sysadmin'@'localhost' WITH GRANT OPTION;
exit
sudo systemctl restart mariadb

Пакунки з CPAN (лише за потреби)

Пріоритет — пакунки Debian та Koha (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.

Перелік відсутніх модулів дивимось на сторінці „Домівка > Про АБІС Koha > Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:

  • HTTPD::Bench::ApacheBench — перевірка в Debian: [1]
  • Text::CSV::Unicode — перевірка в Debian: [2]
  • Selenium::Remote::Driver — перевірка в Debian: [3]
  • Locale::XGettext::TT2
  • Test::PerlTidy

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

sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
sudo perl -MCPAN -e 'install Test::Differences'
sudo perl -MCPAN -e 'install Text::CSV::Unicode'
sudo perl -MCPAN -e 'install Selenium::Remote::Driver'
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 systemctl restart apache2

Створення екземпляра АБІС 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).
ELASTICSEARCH_SERVER="127.0.0.1:9200" # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.
ports.conf

Додаємо

Listen 8080
Listen 8888

у файл /etc/apache2/ports.conf Також перезапускаємо Apache

sudo systemctl restart apache2

Варіант з портами 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).
ELASTICSEARCH_SERVER="127.0.0.1:9200" # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.
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 systemctl restart apache2

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

Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС 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“ (список нижче — орієнтовний, звіряйте з --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]). Екземпляр з назвою більшої довжини буде непрацездатним.

Зверніть увагу на прапорець --elasticsearch-server — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.

Створення екземпляра АБІС 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-таблиць доступні у Dropbox Сергія Дубика за адресою: '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 systemctl restart koha-common
sudo systemctl restart apache2
sudo systemctl restart mariadb
sudo systemctl restart memcached
koha-plack --restart $INSTANCE

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

Помилка „Gateway Timeout“

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

sudo systemctl restart apache2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Пошуковий рушій: Elasticsearch (рекомендовано)

Koha підтримує два пошукові рушії, що перемикаються системною преференцією SearchEngine: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано Elasticsearch — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.

Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.

Встановлення сервера Elasticsearch

Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:

sudo apt install openjdk-21-jdk-headless

Підключаємо офіційний репозитарій Elastic та ключ:

sudo apt install apt-transport-https
sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc
sudo tee /etc/apt/sources.list.d/elasticsearch.sources <<EOF
Types: deb
URIs: https://artifacts.elastic.co/packages/8.x/apt
Suites: stable
Components: main
Signed-By: /etc/apt/keyrings/elasticsearch.asc
EOF
sudo apt update
sudo apt install elasticsearch

Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node. Запуск і автозапуск служби:

sudo systemctl enable --now elasticsearch

Перевірка:

curl -k https://localhost:9200 -u elastic

Плагіни ICU та українського аналізатора

Плагін analysis-icu Koha вимагає обов'язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін analysis-ukrainian — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.

sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian
sudo systemctl restart elasticsearch

Плагін analysis-ukrainian надає ES-аналізатор з назвою ukrainian. Прив'язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.

Особливість Debian 13 (trixie): HTTP::Tiny і TLS

На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з'єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції <elasticsearch> у /etc/koha/sites/ukr_unimarc/koha-conf.xml:

<elasticsearch>
  <server>127.0.0.1:9200</server>
  <index_name>koha_ukr_unimarc</index_name>
  <handle_args>
    <verify_SSL>0</verify_SSL>
  </handle_args>
</elasticsearch>

Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).

Індексація та перемикання Koha на Elasticsearch

1) У пошуку системних преференцій відкриваємо SearchEngine (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на Elasticsearch. 2) Будуємо індекси для потрібного екземпляра:

sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc

(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва) 3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:

sudo koha-es-indexer --start ukr_unimarc
sudo koha-es-indexer --status ukr_unimarc

4) Перевірка результату: пошук символу * у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.

Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.

Альтернатива (legacy): Zebra з підтримкою кирилиці

Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в 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“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.

Запуск служби 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

За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:

sudo koha-email-enable ukr_unimarc

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

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

Types: deb
URIs: https://debian.koha-community.org/koha/
# Suites: 26.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc

Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.

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

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

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

Оновлення Koha

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

Types: deb
URIs: https://debian.koha-community.org/koha/
Suites: 25.05
Components: main
Signed-By: /etc/apt/keyrings/koha.asc
sudo apt-get update
sudo apt-get upgrade
sudo apt-get install koha-common

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

sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc

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

Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:

  • чи не зникло (і не потребує повторного додавання) налаштування <verify_SSL>0</verify_SSL> у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;
  • чи не з'явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).

Встановлення/оновлення допоміжних 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 (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).

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

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

sudo koha-translate --update uk-UA

та, за потреби, інших мов (pl-PL, de-DE, fr-FR) Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.

Вилучення Koha

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

sudo systemctl restart mariadb
sudo systemctl restart apache2
sudo koha-zebra --stop ukr_unimarc
sudo koha-indexer --stop ukr_unimarc
sudo koha-es-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 systemctl restart memcached

Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):

curl -k -X DELETE "https://localhost:9200/koha_ukr_unimarc_*" -u elastic

Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):

sudo systemctl stop elasticsearch
sudo apt-get purge elasticsearch
sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch

Інколи виникає помилка 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 systemctl restart memcached

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

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

Див. також