<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="uk">
	<id>http://wiki.koha.org.ua/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dubyk</id>
	<title>Koha Ukraine Wiki - Внесок користувача [uk]</title>
	<link rel="self" type="application/atom+xml" href="http://wiki.koha.org.ua/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Dubyk"/>
	<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/%D0%A1%D0%BF%D0%B5%D1%86%D1%96%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0:%D0%92%D0%BD%D0%B5%D1%81%D0%BE%D0%BA/Dubyk"/>
	<updated>2026-07-24T22:12:54Z</updated>
	<subtitle>Внесок користувача</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9354</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9354"/>
		<updated>2026-07-17T16:09:54Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 5. Перемикання на Elasticsearch та побудова індексів */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій ==&lt;br /&gt;
=== Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (типове значення в базі даних — &#039;&#039;&#039;Zebra&#039;&#039;&#039;; саме встановлення пакунка koha-elasticsearch і заповнення блоку &amp;amp;lt;elasticsearch&amp;amp;gt; це значення НЕ змінюють — перемикання завжди окремий ручний крок, див. нижче). У цій редакції інструкції за основний рушій обрано Elasticsearch — підтримка кирилиці реалізується штатним плагіном ICU, а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch (містить CLI-утиліти koha-elasticsearch і koha-es-indexer) ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
Рядок &#039;&#039;&#039;ELASTICSEARCH_SERVER&#039;&#039;&#039; у конфіг-файлі екземпляра (вище, розділ „Створення екземпляра“) — це ЛИШЕ адреса: koha-create підставляє її прямою заміною плейсхолдера __ELASTICSEARCH_SERVER__ у шаблоні /etc/koha/sites/&amp;amp;lt;instance&amp;amp;gt;/koha-conf.xml (перевірено в debian/scripts/koha-create офіційного репозиторію Koha). Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і SearchEngine НЕ перемикає.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Щодо версії 26.05:&#039;&#039;&#039; беріть щонайменше &#039;&#039;&#039;26.05.01&#039;&#039;&#039;, не 26.05.00 — у 26.05.00 була помилка індексації Elasticsearch (Bug 42485, &amp;quot;Elasticsearch dynamic mapping date detection causes indexing failures with ARRAY MARC format&amp;quot;), виправлена в 26.05.01 (там-таки закрито і CVE-2026-6428). Для LTS 24.11 так само — беріть останній maintenance-випуск гілки, не .00.&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (окремо від koha-elasticsearch) ====&lt;br /&gt;
Koha 26.05 орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Пакунок під час установлення один раз друкує в консоль автогенерований пароль користувача elastic та інформацію про security auto-configuration (самопідписаний CA й сертифікати створюються в /etc/elasticsearch/certs/). Для автоматизації пароль зручніше не ловити з логу apt, а перегенерувати окремою командою (крок 3 нижче).&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Швидка перевірка (без валідації TLS-сертифіката):&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
Коректніший варіант для скриптів автоматизації (з валідацією CA, який ES сам згенерував):&lt;br /&gt;
 curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та українського аналізатора ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково: власний файл Koha admin/searchengine/elasticsearch/index_config.yaml напряму визначає аналізатори analyzer_standard, analyzer_phrase, analyzer_stdno через icu_tokenizer і фільтр icu_folding — без плагіна Koha не зможе навіть створити індекс. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; (офіційна документація: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-ukrainian.html) реєструє в Elasticsearch аналізатор ukrainian на основі лематизатора Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik).&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
&#039;&#039;Увага: обидва плагіни прив&#039;язані до конкретної збірки Elasticsearch. Після кожного оновлення пакунка elasticsearch їх потрібно перевстановити (remove, потім install) — інакше Koha не зможе відкрити індекс: analyzer_phrase з index_config.yaml посилається саме на icu_folding, і без плагіна ES поверне помилку на кшталт &amp;quot;failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Чесно про analysis-ukrainian:&#039;&#039;&#039; сам плагін лише робить аналізатор ukrainian ДОСТУПНИМ у Elasticsearch. Koha його ніде автоматично не використовує — у стандартному index_config.yaml немає жодної згадки українського аналізатора, усі мови проходять через один і той самий analyzer_standard (icu_tokenizer + icu_folding). Щоб реально задіяти лематизацію для української, потрібно:&lt;br /&gt;
# скопіювати собі /usr/share/koha/intranet/cgi-bin/admin/searchengine/elasticsearch/index_config.yaml і додати в копії власний аналізатор на основі ukrainian;&lt;br /&gt;
# вказати шлях до копії в koha-conf.xml через &amp;amp;lt;elasticsearch_index_config&amp;amp;gt; (рядок-заготовка вже є в шаблоні koha-conf-site.xml.in, лише закоментований);&lt;br /&gt;
# за потреби так само перевизначити мапінг полів через &amp;amp;lt;elasticsearch_index_mappings&amp;amp;gt;;&lt;br /&gt;
# застосувати зміни через сторінку /cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&amp;amp;i_know_what_i_am_doing=1&amp;amp;reset_fields=1 і повний переіндекс (крок 5).&lt;br /&gt;
Це предмет окремого тестування на тестовому екземплярі, а не «встановили плагін — і все запрацювало». Без цього кастомізування ви отримуєте лише icu_tokenizer + icu_folding — це вже помітно кращий пошук кирилицею за посимвольну токенізацію, але не повноцінну лематизацію словоформ.&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має security увімкненою за замовчуванням) ====&lt;br /&gt;
Скидаємо/встановлюємо пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
(для автоматизації додайте -b/--batch, щоб пропустити підтвердження, і -i, якщо задаєте пароль самі, а не автогенерований)&lt;br /&gt;
Прописуємо ці дані в /etc/koha/sites/ukr_unimarc/koha-conf.xml — у блоці &amp;amp;lt;elasticsearch&amp;amp;gt; елементи &#039;&#039;&#039;userinfo&#039;&#039;&#039; і &#039;&#039;&#039;use_https&#039;&#039;&#039; вже присутні в офіційному шаблоні koha-conf-site.xml.in, просто закоментовані; розкоментовуємо й заповнюємо:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
Альтернатива без userinfo — вписати user:pass прямо в адресу сервера (це також штатно підтримується):&lt;br /&gt;
 &amp;lt;server&amp;gt;elastic:ВАШ_ПАРОЛЬ@127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Задокументоване на Koha Wiki рішення — додати параметр handle_args, який Koha прозоро передає в конструктор Search::Elasticsearch, а той — у HTTP::Tiny (саме HTTP::Tiny і підтримує ключ verify_SSL; handle_args як параметр Search::Elasticsearch::Role::Cxn підтверджено офіційною документацією модуля):&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
   &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть koha-common і Plack/індексувальні служби екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемикання на Elasticsearch та побудова індексів ====&lt;br /&gt;
1) Адміністрація → Глобальні системні преференції → Пошук → &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; → значення &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; → Зберегти. Крок обов&#039;язковий: типове значення в базі — Zebra, і жоден з попередніх кроків його не змінює.&lt;br /&gt;
2) Перша повна побудова індексів, з прапорцем -d (видалити старий індекс перед перебудовою — критично при першому переході чи після зміни index_config.yaml чи mappings.yaml):&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d -v ukr_unimarc&lt;br /&gt;
(--rebuild — обов&#039;язкова дія команди, без неї скрипт завершиться з помилкою; без -b/-a перебудовуються ОБИДВА типи записів — це поведінка за замовчуванням, тож вказувати -b і -a одночасно немає сенсу, це виходить еквівалентно відсутності обох прапорців)&lt;br /&gt;
3) Запускаємо фонову індексувальну службу (підхоплює подальші зміни в БД без ручних перебудов):&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Швидка перевірка, що Koha дійсно використовує ES, а не залишилась на Zebra: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує).&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Практичне налаштування: лематизація analysis-ukrainian для вибраних полів ====&lt;br /&gt;
Це розширення пункту 2: конкретний, перевірений у джерельному коді Koha 26.05.01 спосіб реально задіяти аналізатор ukrainian, без правок Perl-коду.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Механізм перевизначення.&#039;&#039;&#039; У шаблоні koha-conf-site.xml.in закладено (закоментовано) три незалежні override-файли, кожен зчитується напряму в Koha/SearchEngine/Elasticsearch.pm через C4::Context-&amp;gt;config(...):&lt;br /&gt;
 &amp;lt;!-- &amp;lt;elasticsearch_index_config&amp;gt;__KOHA_CONF_DIR__/searchengine/elasticsearch/index_config.yaml&amp;lt;/elasticsearch_index_config&amp;gt; --&amp;gt;&lt;br /&gt;
 &amp;lt;!-- &amp;lt;elasticsearch_field_config&amp;gt;__KOHA_CONF_DIR__/searchengine/elasticsearch/field_config.yaml&amp;lt;/elasticsearch_field_config&amp;gt; --&amp;gt;&lt;br /&gt;
 &amp;lt;!-- &amp;lt;elasticsearch_index_mappings&amp;gt;__KOHA_CONF_DIR__/searchengine/elasticsearch/mappings.yaml&amp;lt;/elasticsearch_index_mappings&amp;gt; --&amp;gt;&lt;br /&gt;
Для нашої задачі index_config.yaml чіпати не потрібно (аналізатори типу ukrainian реєструються самим ES-плагіном, а не в цьому файлі) — працюємо лише з field_config.yaml (типи полів) і mappings.yaml (яке поле яким типом індексується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Крок 1 — копіюємо типові файли собі&#039;&#039;&#039; (оригінали в /usr/share/koha перезаписуються при кожному оновленні пакунка koha-common, редагувати їх напряму не можна):&lt;br /&gt;
 sudo mkdir -p /etc/koha/sites/ukr_unimarc/searchengine/elasticsearch&lt;br /&gt;
 sudo cp /usr/share/koha/intranet/cgi-bin/admin/searchengine/elasticsearch/field_config.yaml \&lt;br /&gt;
         /usr/share/koha/intranet/cgi-bin/admin/searchengine/elasticsearch/mappings.yaml \&lt;br /&gt;
         /etc/koha/sites/ukr_unimarc/searchengine/elasticsearch/&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Крок 2 — у копії field_config.yaml додаємо новий тип поруч з &amp;quot;default&amp;quot;&#039;&#039;&#039;, зберігаючи ті самі під-поля phrase/raw/ci_raw (вони й далі потрібні для точного пошуку, сортування й фільтрів — міняємо лише основний аналізатор):&lt;br /&gt;
 default_uk:&lt;br /&gt;
   type: text&lt;br /&gt;
   analyzer: ukrainian&lt;br /&gt;
   search_analyzer: ukrainian&lt;br /&gt;
   fields:&lt;br /&gt;
     phrase:&lt;br /&gt;
       type: text&lt;br /&gt;
       analyzer: analyzer_phrase&lt;br /&gt;
       search_analyzer: analyzer_phrase&lt;br /&gt;
     raw:&lt;br /&gt;
       type: keyword&lt;br /&gt;
       normalizer: nfkc_cf_normalizer&lt;br /&gt;
     ci_raw:&lt;br /&gt;
       type: keyword&lt;br /&gt;
       normalizer: icu_folding_normalizer&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Крок 3 — у копії mappings.yaml точково міняємо тип потрібних полів&#039;&#039;&#039; з default на default_uk. Файл величезний (у 26.05.01 — понад 4000 рядків), редагуємо конкретні блоки. Розумний мінімум для першого запуску — поля, де морфологічна варіативність пошукового запиту найбільше заважає читачам (заголовок, автор, предметні рубрики):&lt;br /&gt;
 title:&lt;br /&gt;
   label: title&lt;br /&gt;
   type: default_uk   # було: default&lt;br /&gt;
   ...&lt;br /&gt;
Аналогічно знаходимо блоки author та su (предметні рубрики) і міняємо їм type. Інші поля (ідентифікатори, дати, stdno-подібні) не чіпаємо.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Крок 4 — прописуємо шляхи в koha-conf.xml&#039;&#039;&#039; (розкоментовуємо, index_mappings не чіпаємо — лишаємо закоментованим, якщо не змінювали index_config.yaml):&lt;br /&gt;
 &amp;lt;elasticsearch_field_config&amp;gt;/etc/koha/sites/ukr_unimarc/searchengine/elasticsearch/field_config.yaml&amp;lt;/elasticsearch_field_config&amp;gt;&lt;br /&gt;
 &amp;lt;elasticsearch_index_mappings&amp;gt;/etc/koha/sites/ukr_unimarc/searchengine/elasticsearch/mappings.yaml&amp;lt;/elasticsearch_index_mappings&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Крок 5 — застосовуємо й переіндексовуємо.&#039;&#039;&#039; Зміни мапінгу застосовуються лише через reset у веб-інтерфейсі (це прямо застережено коментарем у самому шаблоні koha-conf-site.xml.in: reset скидає й будь-які зміни, зроблені раніше через Search engine configuration UI):&lt;br /&gt;
 https://&amp;lt;staff-інтерфейс&amp;gt;/cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&amp;amp;i_know_what_i_am_doing=1&amp;amp;reset_fields=1&lt;br /&gt;
Далі повний переіндекс:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d -v ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Не перевірено емпірично (у пісочниці немає робочого Elasticsearch): як саме аналізатор ukrainian обробляє не-українські токени (латиницею написані прізвища іноземних авторів, назви іншими мовами) — найімовірніше, пропускає без лематизації, але без реального тесту на змішаномовних записах стверджувати напевно не можу. Перевірте на тестовому екземплярі з реальними даними, перш ніж переносити на прод.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Чому не &amp;quot;і ICU, і лематизація одночасно&amp;quot; (multi-field з бустом у запиті).&#039;&#039;&#039; Архітектурно можна додати ukrainian ще одним під-полем (fields:) поруч із phrase/raw/ci_raw, зберігши analyzer_standard основним. Але для основного ключового пошуку Koha (Koha/SearchEngine/Elasticsearch/QueryBuilder.pm, sub build_query) будує query_string по базовому імені поля з його типовим analyzer/search_analyzer — довільні додаткові під-поля в цей запит автоматично не потрапляють. Суфікси .phrase/.raw/.ci_raw жорстко прописані в коді лише для конкретних сценаріїв (точні збіги, сортування, префіксний пошук). Щоб і новий .ukrainian-варіант реально брав участь у звичайному пошуку (з бустом поруч з основним полем), знадобиться правити сам QueryBuilder.pm — тобто повертаємось до проблеми, заради якої відмовлялись від Zebra: такий патч не переживає оновлення koha-common. Тому в цій інструкції — свідомий компроміс: конфігураційна заміна аналізатора на вибраних полях (Кроки 1–5), без патчів Perl-коду, ціною втрати ICU-фолдингу саме на цих полях.&lt;br /&gt;
&lt;br /&gt;
=== Zebra з підтримкою кирилиці (стара альтернатива) ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна додати рядок Enabled: no у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: no&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9353</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9353"/>
		<updated>2026-07-16T16:03:19Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Альтернатива (legacy): Zebra з підтримкою кирилиці */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій ==&lt;br /&gt;
=== Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (типове значення в базі даних — &#039;&#039;&#039;Zebra&#039;&#039;&#039;; саме встановлення пакунка koha-elasticsearch і заповнення блоку &amp;amp;lt;elasticsearch&amp;amp;gt; це значення НЕ змінюють — перемикання завжди окремий ручний крок, див. нижче). У цій редакції інструкції за основний рушій обрано Elasticsearch — підтримка кирилиці реалізується штатним плагіном ICU, а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch (містить CLI-утиліти koha-elasticsearch і koha-es-indexer) ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
Рядок &#039;&#039;&#039;ELASTICSEARCH_SERVER&#039;&#039;&#039; у конфіг-файлі екземпляра (вище, розділ „Створення екземпляра“) — це ЛИШЕ адреса: koha-create підставляє її прямою заміною плейсхолдера __ELASTICSEARCH_SERVER__ у шаблоні /etc/koha/sites/&amp;amp;lt;instance&amp;amp;gt;/koha-conf.xml (перевірено в debian/scripts/koha-create офіційного репозиторію Koha). Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і SearchEngine НЕ перемикає.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Щодо версії 26.05:&#039;&#039;&#039; беріть щонайменше &#039;&#039;&#039;26.05.01&#039;&#039;&#039;, не 26.05.00 — у 26.05.00 була помилка індексації Elasticsearch (Bug 42485, &amp;quot;Elasticsearch dynamic mapping date detection causes indexing failures with ARRAY MARC format&amp;quot;), виправлена в 26.05.01 (там-таки закрито і CVE-2026-6428). Для LTS 24.11 так само — беріть останній maintenance-випуск гілки, не .00.&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (окремо від koha-elasticsearch) ====&lt;br /&gt;
Koha 26.05 орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Пакунок під час установлення один раз друкує в консоль автогенерований пароль користувача elastic та інформацію про security auto-configuration (самопідписаний CA й сертифікати створюються в /etc/elasticsearch/certs/). Для автоматизації пароль зручніше не ловити з логу apt, а перегенерувати окремою командою (крок 3 нижче).&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Швидка перевірка (без валідації TLS-сертифіката):&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
Коректніший варіант для скриптів автоматизації (з валідацією CA, який ES сам згенерував):&lt;br /&gt;
 curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та українського аналізатора ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково: власний файл Koha admin/searchengine/elasticsearch/index_config.yaml напряму визначає аналізатори analyzer_standard, analyzer_phrase, analyzer_stdno через icu_tokenizer і фільтр icu_folding — без плагіна Koha не зможе навіть створити індекс. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; (офіційна документація: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-ukrainian.html) реєструє в Elasticsearch аналізатор ukrainian на основі лематизатора Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik).&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
&#039;&#039;Увага: обидва плагіни прив&#039;язані до конкретної збірки Elasticsearch. Після кожного оновлення пакунка elasticsearch їх потрібно перевстановити (remove, потім install) — інакше Koha не зможе відкрити індекс: analyzer_phrase з index_config.yaml посилається саме на icu_folding, і без плагіна ES поверне помилку на кшталт &amp;quot;failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Чесно про analysis-ukrainian:&#039;&#039;&#039; сам плагін лише робить аналізатор ukrainian ДОСТУПНИМ у Elasticsearch. Koha його ніде автоматично не використовує — у стандартному index_config.yaml немає жодної згадки українського аналізатора, усі мови проходять через один і той самий analyzer_standard (icu_tokenizer + icu_folding). Щоб реально задіяти лематизацію для української, потрібно:&lt;br /&gt;
# скопіювати собі /usr/share/koha/intranet/cgi-bin/admin/searchengine/elasticsearch/index_config.yaml і додати в копії власний аналізатор на основі ukrainian;&lt;br /&gt;
# вказати шлях до копії в koha-conf.xml через &amp;amp;lt;elasticsearch_index_config&amp;amp;gt; (рядок-заготовка вже є в шаблоні koha-conf-site.xml.in, лише закоментований);&lt;br /&gt;
# за потреби так само перевизначити мапінг полів через &amp;amp;lt;elasticsearch_index_mappings&amp;amp;gt;;&lt;br /&gt;
# застосувати зміни через сторінку /cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&amp;amp;i_know_what_i_am_doing=1&amp;amp;reset_fields=1 і повний переіндекс (крок 5).&lt;br /&gt;
Це предмет окремого тестування на тестовому екземплярі, а не «встановили плагін — і все запрацювало». Без цього кастомізування ви отримуєте лише icu_tokenizer + icu_folding — це вже помітно кращий пошук кирилицею за посимвольну токенізацію, але не повноцінну лематизацію словоформ.&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має security увімкненою за замовчуванням) ====&lt;br /&gt;
Скидаємо/встановлюємо пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
(для автоматизації додайте -b/--batch, щоб пропустити підтвердження, і -i, якщо задаєте пароль самі, а не автогенерований)&lt;br /&gt;
Прописуємо ці дані в /etc/koha/sites/ukr_unimarc/koha-conf.xml — у блоці &amp;amp;lt;elasticsearch&amp;amp;gt; елементи &#039;&#039;&#039;userinfo&#039;&#039;&#039; і &#039;&#039;&#039;use_https&#039;&#039;&#039; вже присутні в офіційному шаблоні koha-conf-site.xml.in, просто закоментовані; розкоментовуємо й заповнюємо:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
Альтернатива без userinfo — вписати user:pass прямо в адресу сервера (це також штатно підтримується):&lt;br /&gt;
 &amp;lt;server&amp;gt;elastic:ВАШ_ПАРОЛЬ@127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Задокументоване на Koha Wiki рішення — додати параметр handle_args, який Koha прозоро передає в конструктор Search::Elasticsearch, а той — у HTTP::Tiny (саме HTTP::Tiny і підтримує ключ verify_SSL; handle_args як параметр Search::Elasticsearch::Role::Cxn підтверджено офіційною документацією модуля):&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
   &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть koha-common і Plack/індексувальні служби екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемикання на Elasticsearch та побудова індексів ====&lt;br /&gt;
1) Адміністрація → Глобальні системні преференції → Пошук → &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; → значення &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; → Зберегти. Крок обов&#039;язковий: типове значення в базі — Zebra, і жоден з попередніх кроків його не змінює.&lt;br /&gt;
2) Перша повна побудова індексів, з прапорцем -d (видалити старий індекс перед перебудовою — критично при першому переході чи після зміни index_config.yaml чи mappings.yaml):&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d -v ukr_unimarc&lt;br /&gt;
(--rebuild — обов&#039;язкова дія команди, без неї скрипт завершиться з помилкою; без -b/-a перебудовуються ОБИДВА типи записів — це поведінка за замовчуванням, тож вказувати -b і -a одночасно немає сенсу, це виходить еквівалентно відсутності обох прапорців)&lt;br /&gt;
3) Запускаємо фонову індексувальну службу (підхоплює подальші зміни в БД без ручних перебудов):&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Швидка перевірка, що Koha дійсно використовує ES, а не залишилась на Zebra: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує).&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Zebra з підтримкою кирилиці (стара альтернатива) ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна додати рядок Enabled: no у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: no&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9352</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9352"/>
		<updated>2026-07-16T16:02:26Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій ==&lt;br /&gt;
=== Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (типове значення в базі даних — &#039;&#039;&#039;Zebra&#039;&#039;&#039;; саме встановлення пакунка koha-elasticsearch і заповнення блоку &amp;amp;lt;elasticsearch&amp;amp;gt; це значення НЕ змінюють — перемикання завжди окремий ручний крок, див. нижче). У цій редакції інструкції за основний рушій обрано Elasticsearch — підтримка кирилиці реалізується штатним плагіном ICU, а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch (містить CLI-утиліти koha-elasticsearch і koha-es-indexer) ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
Рядок &#039;&#039;&#039;ELASTICSEARCH_SERVER&#039;&#039;&#039; у конфіг-файлі екземпляра (вище, розділ „Створення екземпляра“) — це ЛИШЕ адреса: koha-create підставляє її прямою заміною плейсхолдера __ELASTICSEARCH_SERVER__ у шаблоні /etc/koha/sites/&amp;amp;lt;instance&amp;amp;gt;/koha-conf.xml (перевірено в debian/scripts/koha-create офіційного репозиторію Koha). Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і SearchEngine НЕ перемикає.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;&#039;Щодо версії 26.05:&#039;&#039;&#039; беріть щонайменше &#039;&#039;&#039;26.05.01&#039;&#039;&#039;, не 26.05.00 — у 26.05.00 була помилка індексації Elasticsearch (Bug 42485, &amp;quot;Elasticsearch dynamic mapping date detection causes indexing failures with ARRAY MARC format&amp;quot;), виправлена в 26.05.01 (там-таки закрито і CVE-2026-6428). Для LTS 24.11 так само — беріть останній maintenance-випуск гілки, не .00.&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (окремо від koha-elasticsearch) ====&lt;br /&gt;
Koha 26.05 орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Пакунок під час установлення один раз друкує в консоль автогенерований пароль користувача elastic та інформацію про security auto-configuration (самопідписаний CA й сертифікати створюються в /etc/elasticsearch/certs/). Для автоматизації пароль зручніше не ловити з логу apt, а перегенерувати окремою командою (крок 3 нижче).&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Швидка перевірка (без валідації TLS-сертифіката):&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
Коректніший варіант для скриптів автоматизації (з валідацією CA, який ES сам згенерував):&lt;br /&gt;
 curl --cacert /etc/elasticsearch/certs/http_ca.crt -u elastic https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та українського аналізатора ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково: власний файл Koha admin/searchengine/elasticsearch/index_config.yaml напряму визначає аналізатори analyzer_standard, analyzer_phrase, analyzer_stdno через icu_tokenizer і фільтр icu_folding — без плагіна Koha не зможе навіть створити індекс. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; (офіційна документація: https://www.elastic.co/guide/en/elasticsearch/plugins/current/analysis-ukrainian.html) реєструє в Elasticsearch аналізатор ukrainian на основі лематизатора Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik).&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
&#039;&#039;Увага: обидва плагіни прив&#039;язані до конкретної збірки Elasticsearch. Після кожного оновлення пакунка elasticsearch їх потрібно перевстановити (remove, потім install) — інакше Koha не зможе відкрити індекс: analyzer_phrase з index_config.yaml посилається саме на icu_folding, і без плагіна ES поверне помилку на кшталт &amp;quot;failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Чесно про analysis-ukrainian:&#039;&#039;&#039; сам плагін лише робить аналізатор ukrainian ДОСТУПНИМ у Elasticsearch. Koha його ніде автоматично не використовує — у стандартному index_config.yaml немає жодної згадки українського аналізатора, усі мови проходять через один і той самий analyzer_standard (icu_tokenizer + icu_folding). Щоб реально задіяти лематизацію для української, потрібно:&lt;br /&gt;
# скопіювати собі /usr/share/koha/intranet/cgi-bin/admin/searchengine/elasticsearch/index_config.yaml і додати в копії власний аналізатор на основі ukrainian;&lt;br /&gt;
# вказати шлях до копії в koha-conf.xml через &amp;amp;lt;elasticsearch_index_config&amp;amp;gt; (рядок-заготовка вже є в шаблоні koha-conf-site.xml.in, лише закоментований);&lt;br /&gt;
# за потреби так само перевизначити мапінг полів через &amp;amp;lt;elasticsearch_index_mappings&amp;amp;gt;;&lt;br /&gt;
# застосувати зміни через сторінку /cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&amp;amp;i_know_what_i_am_doing=1&amp;amp;reset_fields=1 і повний переіндекс (крок 5).&lt;br /&gt;
Це предмет окремого тестування на тестовому екземплярі, а не «встановили плагін — і все запрацювало». Без цього кастомізування ви отримуєте лише icu_tokenizer + icu_folding — це вже помітно кращий пошук кирилицею за посимвольну токенізацію, але не повноцінну лематизацію словоформ.&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має security увімкненою за замовчуванням) ====&lt;br /&gt;
Скидаємо/встановлюємо пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
(для автоматизації додайте -b/--batch, щоб пропустити підтвердження, і -i, якщо задаєте пароль самі, а не автогенерований)&lt;br /&gt;
Прописуємо ці дані в /etc/koha/sites/ukr_unimarc/koha-conf.xml — у блоці &amp;amp;lt;elasticsearch&amp;amp;gt; елементи &#039;&#039;&#039;userinfo&#039;&#039;&#039; і &#039;&#039;&#039;use_https&#039;&#039;&#039; вже присутні в офіційному шаблоні koha-conf-site.xml.in, просто закоментовані; розкоментовуємо й заповнюємо:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
Альтернатива без userinfo — вписати user:pass прямо в адресу сервера (це також штатно підтримується):&lt;br /&gt;
 &amp;lt;server&amp;gt;elastic:ВАШ_ПАРОЛЬ@127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Задокументоване на Koha Wiki рішення — додати параметр handle_args, який Koha прозоро передає в конструктор Search::Elasticsearch, а той — у HTTP::Tiny (саме HTTP::Tiny і підтримує ключ verify_SSL; handle_args як параметр Search::Elasticsearch::Role::Cxn підтверджено офіційною документацією модуля):&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
   &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть koha-common і Plack/індексувальні служби екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемикання на Elasticsearch та побудова індексів ====&lt;br /&gt;
1) Адміністрація → Глобальні системні преференції → Пошук → &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; → значення &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; → Зберегти. Крок обов&#039;язковий: типове значення в базі — Zebra, і жоден з попередніх кроків його не змінює.&lt;br /&gt;
2) Перша повна побудова індексів, з прапорцем -d (видалити старий індекс перед перебудовою — критично при першому переході чи після зміни index_config.yaml чи mappings.yaml):&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d -v ukr_unimarc&lt;br /&gt;
(--rebuild — обов&#039;язкова дія команди, без неї скрипт завершиться з помилкою; без -b/-a перебудовуються ОБИДВА типи записів — це поведінка за замовчуванням, тож вказувати -b і -a одночасно немає сенсу, це виходить еквівалентно відсутності обох прапорців)&lt;br /&gt;
3) Запускаємо фонову індексувальну службу (підхоплює подальші зміни в БД без ручних перебудов):&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Швидка перевірка, що Koha дійсно використовує ES, а не залишилась на Zebra: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує).&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна додати рядок Enabled: no у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: no&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9351</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9351"/>
		<updated>2026-07-14T13:07:11Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Вимкнення оновлення Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
&lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна додати рядок Enabled: no у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: no&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9350</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9350"/>
		<updated>2026-07-14T12:29:57Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Підключення репозитарію Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 Enabled: yes&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
&lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9349</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9349"/>
		<updated>2026-07-14T12:17:35Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 8. Початкова індексація */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
&lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9348</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9348"/>
		<updated>2026-07-14T12:17:26Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 6. Перезапуск служб */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
&lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9347</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9347"/>
		<updated>2026-07-14T12:16:50Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Створення екземпляра */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9346</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9346"/>
		<updated>2026-07-14T12:16:38Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* ports.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9345</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9345"/>
		<updated>2026-07-14T12:16:28Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* ports.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
&lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9344</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9344"/>
		<updated>2026-07-14T12:16:12Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* koha-ukr-unimarc-site.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9343</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9343"/>
		<updated>2026-07-14T12:15:58Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* koha-ukr-unimarc-site.conf */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
&lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9342</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9342"/>
		<updated>2026-07-14T12:15:37Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* DNS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9341</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9341"/>
		<updated>2026-07-14T12:12:23Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системним параметром &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9340</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9340"/>
		<updated>2026-07-14T11:50:24Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Варіант з доменами */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: символ підкреслення не використовуйте для доменів (є не коректним символом у DNS-іменах). Це важливо зокрема для отримання сертифіката Let&#039;s Encrypt.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9339</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9339"/>
		<updated>2026-07-14T11:43:53Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Команда „koha-create“ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9338</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9338"/>
		<updated>2026-07-13T15:22:11Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Встановлення БД MariaDB та допоміжних пакунків */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
===Інший порт для phpmyadmin (опційно)===&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9337</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9337"/>
		<updated>2026-07-13T13:19:36Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Оновлення Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 26.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9336</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9336"/>
		<updated>2026-07-13T13:18:30Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 5. Індексація та перемикання Koha на Elasticsearch */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 5. Індексація та перемикання Koha на Elasticsearch ====&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9335</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9335"/>
		<updated>2026-07-13T13:18:05Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 6. Початкова індексація */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 8. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9334</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9334"/>
		<updated>2026-07-13T13:17:53Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 5. Перемкнути системне налаштування пошукового рушія */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 7. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
&lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9333</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9333"/>
		<updated>2026-07-13T13:17:29Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ====&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9332</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9332"/>
		<updated>2026-07-13T13:17:01Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9331</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9331"/>
		<updated>2026-07-13T13:16:48Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9330</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9330"/>
		<updated>2026-07-13T13:16:36Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 4. Перезапуск служб */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== 5. Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==== 6. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
&lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9329</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9329"/>
		<updated>2026-07-13T13:15:38Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Особливість Debian 13 (trixie): HTTP::Tiny і TLS */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9328</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9328"/>
		<updated>2026-07-13T13:15:26Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== 4. Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9327</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9327"/>
		<updated>2026-07-13T13:13:56Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Плагіни ICU та українського аналізатора */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9326</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9326"/>
		<updated>2026-07-13T13:12:37Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* 2. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагіни ICU та український аналізатор ====&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9325</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9325"/>
		<updated>2026-07-13T13:10:25Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9324</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9324"/>
		<updated>2026-07-13T13:09:56Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пошуковий рушій: Elasticsearch (рекомендовано) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Встановлення сервера Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 #sudo systemctl daemon-reload&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
==== 2. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9323</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9323"/>
		<updated>2026-07-13T13:05:44Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Elasticsearch: доведення налаштування до робочого стану (пріоритет) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Пошуковий рушій: Elasticsearch (рекомендовано) ===&lt;br /&gt;
&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією SearchEngine: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано Elasticsearch — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції. &lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
&lt;br /&gt;
==== 1. Сам сервер Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
 curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 echo &amp;quot;deb [signed-by=/etc/apt/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/8.x/apt stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable --now elasticsearch.service&lt;br /&gt;
 &lt;br /&gt;
==== 2. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9322</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9322"/>
		<updated>2026-07-13T13:04:11Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Elasticsearch: доведення налаштування до робочого стану (пріоритет) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch: доведення налаштування до робочого стану (пріоритет) ===&lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
==== 1. Сам сервер Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
 curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 echo &amp;quot;deb [signed-by=/etc/apt/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/8.x/apt stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable --now elasticsearch.service&lt;br /&gt;
 &lt;br /&gt;
==== 2. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 3. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 6. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9321</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9321"/>
		<updated>2026-07-13T13:01:50Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Альтернатива (legacy): Zebra з підтримкою кирилиці */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch: доведення налаштування до робочого стану (пріоритет) ===&lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
 &lt;br /&gt;
==== 1. Пакет-залежність Koha ====&lt;br /&gt;
 sudo apt install koha-elasticsearch&lt;br /&gt;
 &lt;br /&gt;
==== 2. Сам сервер Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
 curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 echo &amp;quot;deb [signed-by=/etc/apt/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/8.x/apt stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable --now elasticsearch.service&lt;br /&gt;
 &lt;br /&gt;
==== 3. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 6. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 7. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9320</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9320"/>
		<updated>2026-07-13T13:01:04Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Elasticsearch: доведення налаштування до робочого стану (пріоритет) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch: доведення налаштування до робочого стану (пріоритет) ===&lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
 &lt;br /&gt;
==== 1. Пакет-залежність Koha ====&lt;br /&gt;
 sudo apt install koha-elasticsearch&lt;br /&gt;
 &lt;br /&gt;
==== 2. Сам сервер Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
 curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 echo &amp;quot;deb [signed-by=/etc/apt/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/8.x/apt stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable --now elasticsearch.service&lt;br /&gt;
 &lt;br /&gt;
==== 3. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 6. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 7. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9319</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9319"/>
		<updated>2026-07-13T12:56:53Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Команда „koha-create“ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис — [https://wiki.koha-community.org/wiki/Commands_provided_by_the_Debian_packages#koha-create на вікі] та в [https://github.com/Koha-Community/Koha/blob/main/debian/scripts/koha-create коді на GitHub], а також через вбудовану довідку „koha-create --help“. &#039;&#039;&#039;Звірено з поточним --help/кодом на момент 26.05.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost(default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch: доведення налаштування до робочого стану (пріоритет) ===&lt;br /&gt;
 &lt;br /&gt;
Рядок ELASTICSEARCH_SERVER у конфіг-файлі вище — це ЛИШЕ адреса, яку koha-create підставить у &amp;lt;server&amp;gt; всередині блока &amp;lt;elasticsearch&amp;gt; файлу /etc/koha/sites/ukr_unimarc/koha-conf.xml. Сам Elasticsearch це НЕ встановлює, автентифікацію НЕ налаштовує і пошуковий рушій в Koha НЕ перемикає. Щоб Elasticsearch реально запрацював, потрібні додаткові кроки (актуально для 26.05, Elasticsearch 8.x):&lt;br /&gt;
 &lt;br /&gt;
==== 1. Пакет-залежність Koha ====&lt;br /&gt;
 sudo apt install koha-elasticsearch&lt;br /&gt;
 &lt;br /&gt;
==== 2. Сам сервер Elasticsearch (не входить у koha-elasticsearch) ====&lt;br /&gt;
 curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 echo &amp;quot;deb [signed-by=/etc/apt/keyrings/elasticsearch.asc] https://artifacts.elastic.co/packages/8.x/apt stable main&amp;quot; | sudo tee /etc/apt/sources.list.d/elasticsearch.list&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
 sudo systemctl daemon-reload&lt;br /&gt;
 sudo systemctl enable --now elasticsearch.service&lt;br /&gt;
 &lt;br /&gt;
==== 3. Плагін analysis-icu (потрібен для коректного аналізу, зокрема нелатинських/кириличних текстів) ====&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
&#039;&#039;Увага: після кожного оновлення пакета elasticsearch плагін потрібно перевстановлювати (remove, потім install) — інакше після апдейту Koha видаватиме помилку на кшталт &amp;quot;Custom Analyzer [analyzer_phrase] failed to find filter under name [icu_folding]&amp;quot;.&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
==== 4. Автентифікація (ES 8.x має безпеку увімкненою за замовчуванням) ====&lt;br /&gt;
Отримати/скинути пароль користувача elastic:&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-reset-password -u elastic&lt;br /&gt;
Прописати ці дані вручну в /etc/koha/sites/ukr_unimarc/koha-conf.xml (ЦЕ НЕ робиться через koha-sites.conf/ELASTICSEARCH_SERVER — тільки прямим редагуванням готового koha-conf.xml), у блоці &amp;lt;elasticsearch&amp;gt; розкоментувати й заповнити:&lt;br /&gt;
 &amp;lt;userinfo&amp;gt;elastic:ВАШ_ПАРОЛЬ&amp;lt;/userinfo&amp;gt;&lt;br /&gt;
 &amp;lt;use_https&amp;gt;1&amp;lt;/use_https&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
==== 5. Перезапуск служб ====&lt;br /&gt;
 sudo systemctl restart elasticsearch.service&lt;br /&gt;
 sudo systemctl restart koha-common.service&lt;br /&gt;
 &lt;br /&gt;
Перевірка (з автентифікацією):&lt;br /&gt;
 curl -k -u &#039;elastic:ВАШ_ПАРОЛЬ&#039; https://localhost:9200&lt;br /&gt;
 &lt;br /&gt;
==== 6. Перемкнути системне налаштування пошукового рушія ====&lt;br /&gt;
У staff-інтерфейсі: More &amp;gt; Administration &amp;gt; Global system preferences &amp;gt; Searching → SearchEngine → Elasticsearch → Save.&lt;br /&gt;
 &lt;br /&gt;
==== 7. Початкова індексація ====&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -d ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Перевірка: пошук у каталозі за &amp;quot;*&amp;quot; (зірочка) має повертати результати (у Zebra зірочка так не працює — це ознака, що Elasticsearch справді використовується).&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Примітка щодо кластера з кількома нодами: коментар у самому шаблоні koha-conf-site.xml.in каже, що елемент &amp;lt;server&amp;gt; &amp;quot;may be repeated to include all servers on your cluster&amp;quot; — але це стосується ручного редагування вже згенерованого koha-conf.xml, а не значення змінної ELASTICSEARCH_SERVER (вона одна адреса, без розбору списку через кому чи подібне).&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9318</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9318"/>
		<updated>2026-07-13T12:51:08Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Варіант з доменами */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
koha-create будує імена хостів за жорсткою формулою (незмінно й у 26.05):&lt;br /&gt;
 OPAC:  http://&amp;lt;OPACPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;OPACSUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;OPACPORT&amp;gt;&lt;br /&gt;
 STAFF: http://&amp;lt;INTRAPREFIX&amp;gt;&amp;lt;ІМ&#039;Я_ЕКЗЕМПЛЯРА&amp;gt;&amp;lt;INTRASUFFIX&amp;gt;&amp;lt;DOMAIN&amp;gt;:&amp;lt;INTRAPORT&amp;gt;&lt;br /&gt;
 &lt;br /&gt;
Ім&#039;я екземпляра завжди підставляється в середину — прибрати його самими лише змінними koha-sites.conf неможливо. Тобто отримати рівно &amp;quot;catalog.librarydomain.ua&amp;quot; (без імені екземпляра в назві хоста) стандартною схемою напряму не вийде. &lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf  =====&lt;br /&gt;
 DOMAIN=&amp;quot;.librarydomain.ua&amp;quot;   # Крапка на початку ОБОВ&#039;ЯЗКОВА — інакше ім&#039;я екземпляра й домен зіллються без роздільника (буде &amp;quot;ukr_unimarclibrarydomain.ua&amp;quot;)&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;-intra&amp;quot;         # додає &amp;quot;-intra&amp;quot; перед доменом в адмін-адресі&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
Це дасть OPAC на http://ukr_unimarc.librarydomain.ua/ та staff-інтерфейс на http://ukr_unimarc-intra.librarydomain.ua/ (обидва на порту 80 — розрізняються доменним іменем, не портом).&lt;br /&gt;
 &lt;br /&gt;
Створюємо екземпляр (значення DOMAIN/PREFIX/SUFFIX на цьому етапі не важливі — вони все одно будуть переписані), а потім вручну підправляємо ServerName у згенерованому файлі Apache:&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 sudo nano /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
 &lt;br /&gt;
У першій секції (&amp;lt;VirtualHost *:80&amp;gt; для ЕК) знайти рядок&lt;br /&gt;
 ServerName ...&lt;br /&gt;
і замінити на&lt;br /&gt;
 ServerName catalog.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
У другій секції (&amp;lt;VirtualHost *:80&amp;gt; для Intranet замінити на&lt;br /&gt;
 ServerName koha.librarydomain.ua&lt;br /&gt;
 &lt;br /&gt;
Зберегти файл і перезапустити Apache:&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9317</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9317"/>
		<updated>2026-07-13T12:37:36Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Варіант з доменами */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
 &lt;br /&gt;
Для випадку, коли для АБІС Koha заздалегідь виділено окремі домени, наприклад:&lt;br /&gt;
 catalog.librarydomain.ua&lt;br /&gt;
 koha.librarydomain.ua&lt;br /&gt;
&lt;br /&gt;
===== DNS =====&lt;br /&gt;
 &lt;br /&gt;
Налаштуйте A-записи (або CNAME) обох імен на IP-адресу сервера у вашого DNS-провайдера чи у внутрішньому DNS. &lt;br /&gt;
&lt;br /&gt;
Загальні технічні поради — https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9316</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9316"/>
		<updated>2026-07-13T12:36:04Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Варіант з портами 80 та 8080 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт&lt;br /&gt;
 opac.librarydomain.ua&lt;br /&gt;
 staff.librarydomain.ua&lt;br /&gt;
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9315</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9315"/>
		<updated>2026-07-13T12:34:40Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Варіант з портами 8080 та 8888 (тестовий) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 80 та 8080 (тестовий, локальна мережа) ====&lt;br /&gt;
 &lt;br /&gt;
Підходить, коли Koha доступна напряму за IP-адресою сервера в локальній мережі, без реального доменного імені. Електронний каталог (для читачів) — порт 80, адміністративний інтерфейс (для бібліотекарів) — порт 8080.&lt;br /&gt;
 &lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
 &lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;&amp;quot;                    # ПОРОЖНЬО для доступу за IP. НЕ &amp;quot;localhost&amp;quot; — koha-create формує ServerName як OPACPREFIX+ІМ&#039;Я_ЕКЗЕМПЛЯРА+OPACSUFFIX+DOMAIN без роздільників, тож &amp;quot;localhost&amp;quot; дав би &amp;quot;ukr_unimarclocalhost&amp;quot;. Порожній DOMAIN — стандартна практика офіційної інструкції для IP-based встановлення.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP-порт інтерфейсу читачів (типово 80, якщо пропустити)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP-порт адміністративного інтерфейсу&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Формат MARC для індексування Zebra &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Основна мова індексування Zebra. Дійсні значення: cs, el, en(типово), es, fr, nb, ru, uk.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # значення зазвичай не потрібне&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Використовувати memcache для екземпляра.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Список host:port memcached-серверів через кому.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Префікс простору імен memcached для екземпляра.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Увімкнути сервер Z39.50/SRU (типово вимкнено).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # TCP-порт для Z39.50/SRU-сервера (типово 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port). Підставляється напряму в &amp;lt;server&amp;gt; усередині блоку &amp;lt;elasticsearch&amp;gt; в koha-conf.xml створюваного екземпляра.&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Щодо BIBLIOS_INDEXING_MODE / AUTHORITIES_INDEXING_MODE - ці два рядки в попереднньому конфігу є &amp;quot;мертвим&amp;quot; залишком старих інструкцій і в них тепер немає сенсу&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
 &lt;br /&gt;
Порт 80 Apache вже слухає за замовчуванням, тож у /etc/apache2/ports.conf достатньо додати лише порт адмін-інтерфейсу:&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 &lt;br /&gt;
Типовий сайт-заглушка Apache (000-default) також слухає порт 80, і за відсутності збігу за ServerName саме він відповідатиме на прямі звернення за IP. Для чистого IP-доступу його варто вимкнути:&lt;br /&gt;
 sudo a2dissite 000-default&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 &lt;br /&gt;
&#039;&#039;Якщо з якоїсь причини типова сторінка Apache на порту 80 усе ж потрібна — тоді трюк із портом 8008 лишається робочим альтернативним варіантом (перенесення VirtualHost 000-default на порт 8008).&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
===== Створення екземпляра =====&lt;br /&gt;
 &lt;br /&gt;
 sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc&lt;br /&gt;
 &lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
 &lt;br /&gt;
OPAC буде доступний на http://&amp;lt;IP-сервера&amp;gt;/, адмін-інтерфейс — на http://&amp;lt;IP-сервера&amp;gt;:8080/.&lt;br /&gt;
&lt;br /&gt;
==== Варіант з портами 80 та 8080 ====&lt;br /&gt;
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
/змінюється/&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8008&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008.&lt;br /&gt;
Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок&lt;br /&gt;
 &amp;lt;VirtualHost *:8008&amp;gt;&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт&lt;br /&gt;
 opac.librarydomain.ua&lt;br /&gt;
 staff.librarydomain.ua&lt;br /&gt;
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9314</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9314"/>
		<updated>2026-07-13T10:06:02Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Встановлення БД MariaDB та допоміжних пакунків */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mariadb-secure-installation&lt;br /&gt;
&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 8080 та 8888 (тестовий) ====&lt;br /&gt;
Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;8080&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8888&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8888&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з портами 80 та 8080 ====&lt;br /&gt;
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
/змінюється/&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8008&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008.&lt;br /&gt;
Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок&lt;br /&gt;
 &amp;lt;VirtualHost *:8008&amp;gt;&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт&lt;br /&gt;
 opac.librarydomain.ua&lt;br /&gt;
 staff.librarydomain.ua&lt;br /&gt;
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9313</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9313"/>
		<updated>2026-07-13T10:02:26Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Встановлення пакунків Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mysql_secure_installation&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 8080 та 8888 (тестовий) ====&lt;br /&gt;
Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;8080&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8888&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8888&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з портами 80 та 8080 ====&lt;br /&gt;
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
/змінюється/&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8008&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008.&lt;br /&gt;
Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок&lt;br /&gt;
 &amp;lt;VirtualHost *:8008&amp;gt;&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт&lt;br /&gt;
 opac.librarydomain.ua&lt;br /&gt;
 staff.librarydomain.ua&lt;br /&gt;
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9312</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9312"/>
		<updated>2026-07-08T16:55:44Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Встановлення АБІС Koha з репозитарію на ОС Debian =&lt;br /&gt;
Розглядається встановлення АБІС Koha версій &#039;&#039;&#039;24.11–26.05&#039;&#039;&#039; &#039;&#039;&#039;з репозитарію&#039;&#039;&#039; [http://debian.koha-community.org/ debian.koha-community.org] на ОС &#039;&#039;&#039;Debian 13 (trixie)&#039;&#039;&#039; — поточному стабільному релізі Debian.&lt;br /&gt;
На даний час це найбільш протестований і розповсюджений варіант.&lt;br /&gt;
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Стан документа&#039;&#039;&#039; (редакція липень 2026 р.): перехід на Debian 13 (trixie) як основну ОС; актуалізовано таблицю версій Koha; пошуковим рушієм за замовчуванням у цій інструкції обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; (з плагінами ICU та українського аналізатора) замість Zebra; варіант із патчем кирилиці для Zebra залишено нижче як legacy-альтернатива для тих, хто ще не перейшов. Номери версій Koha та Debian зсуваються що 6–24 місяці — перед встановленням звіряйте таблицю нижче з посиланнями на Koha Wiki.&lt;br /&gt;
&lt;br /&gt;
Див. також&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Debian Koha &amp;amp; Debian] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki&lt;br /&gt;
&lt;br /&gt;
= Встановлення ОС Debian GNU/Linux 13 (trixie) =&lt;br /&gt;
Див. також:&lt;br /&gt;
* https://www.debian.org/releases/trixie/ — сторінка релізу Debian 13 trixie&lt;br /&gt;
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції&lt;br /&gt;
Перевірка поточної версії Debian:&lt;br /&gt;
 lsb_release -d&lt;br /&gt;
Щодо сумісності Коха з іншими версіями ОС див.&lt;br /&gt;
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка щодо Debian 12 (bookworm).&#039;&#039;&#039; Станом на липень 2026 р. bookworm має статус oldstable: Koha на ньому й далі працює і підтримується пакунками debian.koha-community.org, але нові інсталяції варто розгортати вже на trixie. Якщо йдеться не про нову інсталяцію, а про оновлення наявного сервера з bookworm на trixie — дотримуйтесь офіційного порядку: спершу довести bookworm до останніх оновлень, і лише тоді переходити на trixie (а не встановлювати систему „з нуля“).&lt;br /&gt;
&lt;br /&gt;
== Підключення гілок non-free та contrib для пакунків Дебіан ==&lt;br /&gt;
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib&lt;br /&gt;
 sudo mc -e /etc/apt/sources.list&lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-proposed-updates contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian/ trixie-backports contrib main non-free non-free-firmware&lt;br /&gt;
 &lt;br /&gt;
 deb 	http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
 deb-src http://deb.debian.org/debian-security/ trixie-security contrib main non-free non-free-firmware&lt;br /&gt;
  &lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
&lt;br /&gt;
= Попередні налаштування =&lt;br /&gt;
== Локаль з UTF-8 ==&lt;br /&gt;
Перевірка локалі:&lt;br /&gt;
  sudo locale&lt;br /&gt;
у виводі повинно бути магічне „&#039;&#039;&#039;UTF-8&#039;&#039;&#039;“ (en.UTF-8 тощо), наприклад для України&lt;br /&gt;
 LANG=uk_UA.UTF-8&lt;br /&gt;
 LANGUAGE=&lt;br /&gt;
 LC_CTYPE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NUMERIC=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TIME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_COLLATE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MONETARY=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MESSAGES=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_PAPER=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_NAME=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_ADDRESS=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_TELEPHONE=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_MEASUREMENT=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
 LC_IDENTIFICATION=&amp;quot;uk_UA.UTF-8&amp;quot;&lt;br /&gt;
Якщо &#039;&#039;&#039;UTF-8&#039;&#039;&#039; не згадується, то встановлюємо локаль&lt;br /&gt;
   apt install locales locales-all&lt;br /&gt;
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE=&amp;quot;uk_UA:uk&amp;quot;&lt;br /&gt;
&lt;br /&gt;
== Підключення репозитарію Koha ==&lt;br /&gt;
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік (травень і листопад) і підтримуються 18–42 місяці залежно від того, LTS це реліз чи ні (https://wiki.koha-community.org/wiki/Koha_Versioning).&lt;br /&gt;
Налаштування ключів:&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install apt-transport-https ca-certificates curl gnupg2&lt;br /&gt;
 sudo mkdir -p --mode=0755 /etc/apt/keyrings&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків.&lt;br /&gt;
Це рекомендується для виробничих середовищ, щоб &amp;quot;випадково&amp;quot; не оновитися до нового великого випуску.&lt;br /&gt;
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.&lt;br /&gt;
&lt;br /&gt;
Поточні номери версій Koha та їхні статус (станом на липень 2026 р.; точні номери зсуваються щопівроку — звіряйте на [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian]):&lt;br /&gt;
* &#039;&#039;&#039;26.05 (stable)&#039;&#039;&#039; — поточний стабільний реліз&lt;br /&gt;
* &#039;&#039;&#039;25.11 (oldstable)&#039;&#039;&#039; — на один реліз позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;25.05 (oldoldstable)&#039;&#039;&#039; — на два релізи позаду поточного стабільного&lt;br /&gt;
* &#039;&#039;&#039;24.11 (LTS)&#039;&#039;&#039; — довготривала підтримка (Long Term Support), орієнтовно до травня 2028 р.&lt;br /&gt;
* 22.11 — попередня LTS-версія; підтримка добігає кінця, для нових інсталяцій вже не використовується&lt;br /&gt;
&lt;br /&gt;
Щоб оновити список джерел пакетів для використання релізу 26.05:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Щоб оновити список джерел пакетів для використання LTS-релізу 24.11:&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/koha.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 24.11&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 EOF&lt;br /&gt;
Замість номера версії можна вказати символьну назву (stable, oldstable, oldoldstable) — Suites стане, напр., stable. Для продакшн-середовища це &#039;&#039;&#039;не рекомендовано&#039;&#039;&#039;: при переході репозитарію на новий stable ви автоматично й без попереднього тестування отримаєте великий реліз з новими можливостями.&lt;br /&gt;
&lt;br /&gt;
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list — одночасна наявність старого й нового форматів джерела для того самого репозитарію спричиняє конфлікти APT.&lt;br /&gt;
Оновлюємо список доступних для встановлення пакунків&lt;br /&gt;
 sudo apt update&lt;br /&gt;
&lt;br /&gt;
= Встановлення Koha =&lt;br /&gt;
== Встановлення пакунків Koha ==&lt;br /&gt;
 sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch&lt;br /&gt;
Якщо під час встановлення виникають помилки конфігурації пакунка libapache2-mpm-itk, читаємо стандартну інструкцію про налаштування&lt;br /&gt;
 less /usr/share/doc/koha-common/README.Debian&lt;br /&gt;
(у нових версіях можуть бути зміни; давніші застереження щодо mpm-itk з часів Ubuntu та старих випусків Debian на trixie здебільшого вже не актуальні, але README варто переглянути за потреби).&lt;br /&gt;
&lt;br /&gt;
== Встановлення БД MariaDB та допоміжних пакунків ==&lt;br /&gt;
На Debian 13 (trixie) типова СУБД для Koha — MariaDB (у репозитарії trixie немає пакунка mysql-server: Oracle не постачає його для Debian, тож MariaDB — фактично єдина реалістична опція).&lt;br /&gt;
 sudo apt-get install mariadb-server &lt;br /&gt;
 sudo mysql_secure_installation&lt;br /&gt;
За винятком першого питання, на всі питання можна відповісти Так (“&#039;&#039;&#039;Y&#039;&#039;&#039;”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!&lt;br /&gt;
 sudo apt-get install memcached libmemcached-tools&lt;br /&gt;
 sudo apt install aptitude&lt;br /&gt;
 sudo apt install php-twig&lt;br /&gt;
 sudo apt install phpmyadmin php libapache2-mod-php &lt;br /&gt;
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“&lt;br /&gt;
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку&lt;br /&gt;
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin&lt;br /&gt;
&lt;br /&gt;
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити&lt;br /&gt;
 ...&lt;br /&gt;
 &amp;lt;port&amp;gt;8888&amp;lt;/port&amp;gt;&lt;br /&gt;
 ...&lt;br /&gt;
та додати цей порт у файл /etc/apache2/ports.conf&lt;br /&gt;
 Listen 8888&lt;br /&gt;
Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
По умовчанню вхід через phpmyadmin для root закрито.&lt;br /&gt;
За потреби можна створити іншого користувача&lt;br /&gt;
 mysql -u root -p&lt;br /&gt;
 CREATE USER &#039;sysadmin&#039;@&#039;localhost&#039; IDENTIFIED BY &#039;парольдляsysadmin&#039;;&lt;br /&gt;
та надати йому привілеї на усі БД:&lt;br /&gt;
 GRANT ALL PRIVILEGES ON *.* TO &#039;sysadmin&#039;@&#039;localhost&#039; WITH GRANT OPTION;&lt;br /&gt;
 exit&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
== Пакунки з CPAN (лише за потреби) ==&lt;br /&gt;
&#039;&#039;&#039;Пріоритет — пакунки Debian та Koha&#039;&#039;&#039; (koha-deps, koha-perldeps): спільнота Koha прямо не рекомендує ставити perl-модулі напряму з CPAN на системах на базі Debian — тоді оновлення безпеки цих модулів лягає на вас особисто, а не на пакунковий менеджер дистрибутива. CPAN варто використовувати лише як крайній засіб, коли конкретного модуля немає ні в Debian, ні в репозитарії debian.koha-community.org.&lt;br /&gt;
&lt;br /&gt;
Перелік відсутніх модулів дивимось на сторінці „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“ вже після встановлення koha-common — залежності змінюються від версії до версії, тож наведений нижче перелік (актуальний станом на кінець 2023 р.) варто сприймати як приклад типових „проблемних“ пакунків, а не остаточний список:&lt;br /&gt;
* &#039;&#039;&#039;HTTPD::Bench::ApacheBench&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Text::CSV::Unicode&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Selenium::Remote::Driver&#039;&#039;&#039; — перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&amp;amp;searchon=names&amp;amp;suite=all&amp;amp;section=all]&lt;br /&gt;
* &#039;&#039;&#039;Locale::XGettext::TT2&#039;&#039;&#039;&lt;br /&gt;
* &#039;&#039;&#039;Test::PerlTidy&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Якщо модуля дійсно немає в жодному репозитарії, встановлюємо командами (при першому використанні CPAN підтверджуємо автоматичне налаштування та підключення до Інтернету):&lt;br /&gt;
 sudo apt-get install make libgdbm-dev apache2-dev libdatetimex-easy-perl&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install HTTPD::Bench::ApacheBench&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::Differences&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Text::CSV::Unicode&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Selenium::Remote::Driver&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Locale::XGettext::TT2&#039;&lt;br /&gt;
 sudo perl -MCPAN -e &#039;install Test::PerlTidy&#039;&lt;br /&gt;
&lt;br /&gt;
== Налаштування Apache та сценарій „koha-post-install-setup“ ==&lt;br /&gt;
1) Виконуємо сценарій&lt;br /&gt;
 sudo koha-post-install-setup&lt;br /&gt;
(він задіює модулі Rewrite та Suexec для Apache)&lt;br /&gt;
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http&lt;br /&gt;
 sudo a2enmod deflate&lt;br /&gt;
 sudo a2enmod rewrite&lt;br /&gt;
 sudo a2enmod cgi&lt;br /&gt;
 sudo a2enmod headers proxy_http&lt;br /&gt;
3) Редагуємо /etc/apache2/conf-available/charset.conf&lt;br /&gt;
 AddCharset UTF-8 .utf8&lt;br /&gt;
 AddDefaultCharset UTF-8&lt;br /&gt;
та задіюємо його&lt;br /&gt;
 sudo a2enconf charset&lt;br /&gt;
4) Перезапуск Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
== Створення екземпляра АБІС Koha ==&lt;br /&gt;
=== Варіанти налаштування АБІС Koha з доменами та портами ===&lt;br /&gt;
==== Варіант з портами 8080 та 8888 (тестовий) ====&lt;br /&gt;
Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;8080&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8888&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8888&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з портами 80 та 8080 ====&lt;br /&gt;
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.&lt;br /&gt;
&lt;br /&gt;
===== koha-ukr-unimarc-site.conf =====&lt;br /&gt;
/змінюється/&lt;br /&gt;
Створюємо файл&lt;br /&gt;
 sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf&lt;br /&gt;
наступного змісту&lt;br /&gt;
 DOMAIN=&amp;quot;localhost&amp;quot;           # Change this to be your domain. Any instance will be a subdomain of this string.&lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;                # TCP listening port for the users&#039; interface (if you skip this, the apache default of 80 will be used)&lt;br /&gt;
 OPACPREFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 OPACSUFFIX=&amp;quot;&amp;quot;                # For users&#039; interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;             # TCP listening port for the administration interface&lt;br /&gt;
 INTRAPREFIX=&amp;quot;&amp;quot;               # For administration interface URL: Prefix to be added to the instance name.&lt;br /&gt;
 INTRASUFFIX=&amp;quot;&amp;quot;               # For administration interface URL: Suffix to be added to the instance name.&lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;unimarc&amp;quot;  # Specifies format of MARC records to be indexed by Zebra. Possible values are &#039;marc21&#039;, &#039;normarc&#039; and &#039;unimarc&#039;.&lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;uk&amp;quot;          # Primary language for Zebra indexing. Possible values are &#039;en&#039;, &#039;fr&#039; and &#039;nb&#039;.&lt;br /&gt;
 DEFAULTSQL=&amp;quot;&amp;quot;                # a value is generally not needed.&lt;br /&gt;
 BIBLIOS_INDEXING_MODE=&amp;quot;dom&amp;quot;         # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.&lt;br /&gt;
 AUTHORITIES_INDEXING_MODE=&amp;quot;dom&amp;quot;     # Set the indexing mode for authority records. Valid values are dom (default) and grs1.&lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;                 # Set the instance to make use of memcache.&lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot; # Set a comma-separated list of host:port memcached servers.&lt;br /&gt;
 MEMCACHED_PREFIX=&amp;quot;koha_&amp;quot;            # Set the desired prefix for the instance memcached namespace.&lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;                    # Enable the Z39.50/SRU server (default: disabled).&lt;br /&gt;
 SRU_SERVER_PORT=&amp;quot;7090&amp;quot;              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).&lt;br /&gt;
 ELASTICSEARCH_SERVER=&amp;quot;127.0.0.1:9200&amp;quot; # Elasticsearch-сервер (host:port), який використовуватиме цей екземпляр.&lt;br /&gt;
===== ports.conf =====&lt;br /&gt;
Додаємо&lt;br /&gt;
 Listen 8080&lt;br /&gt;
 Listen 8008&lt;br /&gt;
у файл /etc/apache2/ports.conf&lt;br /&gt;
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008.&lt;br /&gt;
Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок&lt;br /&gt;
 &amp;lt;VirtualHost *:8008&amp;gt;&lt;br /&gt;
Також перезапускаємо Apache&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
==== Варіант з доменами ====&lt;br /&gt;
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт&lt;br /&gt;
 opac.librarydomain.ua&lt;br /&gt;
 staff.librarydomain.ua&lt;br /&gt;
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha&lt;br /&gt;
&lt;br /&gt;
=== Команда „koha-create“ ===&lt;br /&gt;
Синтаксис команди для створення екземплярів АБІС 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 для вашої версії, оскільки перелік прапорців періодично змінюється):&lt;br /&gt;
 koha-create [--create-db|--request-db|--populate-db|--use-db] \&lt;br /&gt;
   [--marcflavor marc21(default)|normarc|unimarc] \&lt;br /&gt;
   [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \&lt;br /&gt;
   [--elasticsearch-server localhost:9200(default)] \&lt;br /&gt;
   [--auth-idx   dom(default)|grs1] \&lt;br /&gt;
   [--biblio-idx dom (default)|grs1] \&lt;br /&gt;
   [--use-memcached] \&lt;br /&gt;
   [--memcached-servers 127.0.0.1:11211,host2:port2,...] \&lt;br /&gt;
   [--memcached-prefix KOHA|koha_|...] \&lt;br /&gt;
   [--enable-sru] \&lt;br /&gt;
   [--sru-port 7090(default)|9998] \&lt;br /&gt;
   [--defaultsql /path/to/some.sql] \&lt;br /&gt;
   [--configfile /path/to/config] \&lt;br /&gt;
   [--passwdfile /path/to/passwd] \&lt;br /&gt;
   [--dbhost host] \&lt;br /&gt;
   [--database   dbname]  \&lt;br /&gt;
   [--adminuser admin_user_id_in_db] \&lt;br /&gt;
   [--template-cache-dir /var/cache/koha/&amp;lt;instance&amp;gt;/templates(default)] \&lt;br /&gt;
   [--timezone time/zone (America/Argentina)] \&lt;br /&gt;
   [--upload-path /var/lib/koha/&amp;lt;instancename&amp;gt;/uploads(default)|...] \&lt;br /&gt;
   [--tmp-path dir /var/lib/koha/&amp;lt;instance&amp;gt;/tmp(default)] \&lt;br /&gt;
   [--letsencrypt] \&lt;br /&gt;
   [--smtp-host host] \&lt;br /&gt;
   [--smtp-port NN] \&lt;br /&gt;
   [--smtp-timeout NN] \&lt;br /&gt;
   [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \&lt;br /&gt;
   [--smtp-user-name user] \&lt;br /&gt;
   [--smtp-password  pass] \&lt;br /&gt;
   [--smtp-debug] \&lt;br /&gt;
   [--mb-host localhost)default)] \&lt;br /&gt;
   [--mb-port NN default: 61613] \&lt;br /&gt;
   [--mb-user guest(default)] \&lt;br /&gt;
   [--mb-pass guest(default)] \&lt;br /&gt;
   [--mb-vhost koha_&amp;lt;instance&amp;gt;(default)] \&lt;br /&gt;
   [--keep-cookie NAME] \&lt;br /&gt;
   [--help,-h] \&lt;br /&gt;
   instancename&lt;br /&gt;
&#039;&#039;Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Зверніть увагу на прапорець &#039;&#039;&#039;--elasticsearch-server&#039;&#039;&#039; — він одразу прописує адресу ES-сервера в koha-conf.xml створюваного екземпляра (типово localhost:9200), що корисно тепер, коли Elasticsearch — основний рушій пошуку в цій інструкції.&lt;br /&gt;
&lt;br /&gt;
Створення екземпляра АБІС Koha (українська, Unimarc)&lt;br /&gt;
 sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf   ukr_unimarc&lt;br /&gt;
Вивід:&lt;br /&gt;
 Koha instance is empty, no staff user created.&lt;br /&gt;
 Starting Koha worker daemon for ukr_unimarc (default):.&lt;br /&gt;
 Starting Koha indexing daemon for ukr_unimarc:.&lt;br /&gt;
&lt;br /&gt;
== Веб-встановлювач ==&lt;br /&gt;
=== Актуальні українські sql-файли ===&lt;br /&gt;
Частина локалізованих SQL-таблиць &#039;&#039;&#039;українською&#039;&#039;&#039; була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.&lt;br /&gt;
Оновлення для українських SQL-таблиць доступні у Dropbox Сергія Дубика за адресою:&lt;br /&gt;
&#039;https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0&#039;&lt;br /&gt;
Тека &#039;&#039;&#039;SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA&#039;&#039;&#039; містить оновлення, які необхідно скопіювати у теку &#039;&#039;&#039;uk-UA&#039;&#039;&#039; у &#039;&#039;&#039;/usr/share/koha/intranet/cgi-bin/installer/data/mysql&#039;&#039;&#039;&lt;br /&gt;
Виконайте наступну команду&lt;br /&gt;
 sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;&lt;br /&gt;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.&lt;br /&gt;
&lt;br /&gt;
=== Утворення локалізованих шаблонів ===&lt;br /&gt;
Спочатку дивимося перелік доступних мов&lt;br /&gt;
 sudo koha-translate --list --available&lt;br /&gt;
Встановлюємо переклади для української&lt;br /&gt;
 sudo koha-translate --install uk-UA&lt;br /&gt;
Ця команда також згенерує деякі перекладені дані для Коха (у форматі &#039;&#039;&#039;yaml&#039;&#039;&#039;-файлів) у теці&lt;br /&gt;
 /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA&lt;br /&gt;
разом з раніше скопійованими &#039;&#039;&#039;SQL&#039;&#039;&#039;-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).&lt;br /&gt;
Також можете встановити деякі інші мови інтерфейсу&lt;br /&gt;
 sudo koha-translate --install pl-PL &lt;br /&gt;
 sudo koha-translate --install de-DE&lt;br /&gt;
 sudo koha-translate --install fr-FR&lt;br /&gt;
 sudo koha-translate --install it-IT&lt;br /&gt;
 sudo koha-translate --install cs-CZ&lt;br /&gt;
 sudo koha-translate --install bg-Cyrl&lt;br /&gt;
 …&lt;br /&gt;
&lt;br /&gt;
=== Кроки веб-встановлювача ===&lt;br /&gt;
Типовий логін для екземляра напр. „ukr_unimarc“ буде:&lt;br /&gt;
 koha_ukr_unimarc&lt;br /&gt;
Пароль та логін можна переглянути за допомогою:&lt;br /&gt;
 sudo koha-passwd ukr_unimarc&lt;br /&gt;
або логін і пароль зберігаються у файлі &#039;&#039;&#039;/etc/koha/sites/ukr_unimarc/koha-conf.xml&#039;&#039;&#039;, у розділі &#039;&#039;&#039;config&#039;&#039;&#039; знаходимо користувача (&#039;&#039;&#039;user&#039;&#039;&#039;) та пароль (&#039;&#039;&#039;pass&#039;&#039;&#039;). Також побачити логін та пароль можна через команди&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/user&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
 sudo xmlstarlet sel -t -v &#039;yazgfs/config/pass&#039; /etc/koha/sites/ukr_unimarc/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.&lt;br /&gt;
Крок 1: мова &#039;&#039;&#039;uk-UA&#039;&#039;&#039;, перевірка залежностей&lt;br /&gt;
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв&lt;br /&gt;
Крок 3: створення таблиць, вибір МАРК-стандарту &#039;&#039;&#039;Unimarc&#039;&#039;&#039; (УкрМарк), вибір типових даних (послідовно &#039;&#039;&#039;вибираємо усі¹²&#039;&#039;&#039; &#039;&#039;&#039;дані&#039;&#039;&#039;, імпорт 1-10 хв.).&lt;br /&gt;
¹Які типові дані можна вимкнути:&lt;br /&gt;
* Приклади користувачів&lt;br /&gt;
* Приклади бібліотек/підрозділів&lt;br /&gt;
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.&lt;br /&gt;
&lt;br /&gt;
==== Процес імпорту даних ====&lt;br /&gt;
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.&lt;br /&gt;
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).&lt;br /&gt;
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.&lt;br /&gt;
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТІ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:&lt;br /&gt;
 #!/bin/bash &lt;br /&gt;
 # MySQL сервер та інформація про підключення&lt;br /&gt;
 INSTANCE=&amp;quot;ukr_unimarc&amp;quot;&lt;br /&gt;
 MYSQL_USER=&amp;quot;koha_&amp;quot;$INSTANCE&lt;br /&gt;
 MYSQL_PASSWORD=&amp;quot;ваш_пароль&amp;quot;&lt;br /&gt;
 MYSQL_HOST=&amp;quot;localhost&amp;quot; # або інший хост, на якому запущено MySQL&lt;br /&gt;
 MYSQL_DB=&amp;quot;koha_&amp;quot;$INSTANCE &lt;br /&gt;
 # Вибір всіх таблиць в базі даних &lt;br /&gt;
 TABLES=$(mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -se &amp;quot;SHOW TABLES&amp;quot;)&lt;br /&gt;
 # Вимкнення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 0;&amp;quot; &lt;br /&gt;
 # Цикл для виконання DELETE для кожної таблиці&lt;br /&gt;
 for table in $TABLES&lt;br /&gt;
 do&lt;br /&gt;
   mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;DELETE FROM $table;&amp;quot;&lt;br /&gt;
 done &lt;br /&gt;
 # Включення перевірки зовнішніх ключів&lt;br /&gt;
 mysql -u&amp;quot;$MYSQL_USER&amp;quot; -p&amp;quot;$MYSQL_PASSWORD&amp;quot; -h &amp;quot;$MYSQL_HOST&amp;quot; &amp;quot;$MYSQL_DB&amp;quot; -e &amp;quot;SET FOREIGN_KEY_CHECKS = 1;&amp;quot;&lt;br /&gt;
 echo &amp;quot;Всі дані з бази даних $MYSQL_DB були очищені.&amp;quot;&lt;br /&gt;
 sudo systemctl restart koha-common&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
 koha-plack --restart $INSTANCE&lt;br /&gt;
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.&lt;br /&gt;
&lt;br /&gt;
==== Помилка „Gateway Timeout“ ====&lt;br /&gt;
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
та перезапустити веб-встановлювач (й попередньо очистити таблиці).&lt;br /&gt;
&lt;br /&gt;
==== Адаптаційний етап ====&lt;br /&gt;
=====Створення бібліотеки/підрозділу=====&lt;br /&gt;
Створюємо свій підрозділ, напр.&lt;br /&gt;
    Код біб­ліо­те­ки/під­роз­ді­лу: AB&lt;br /&gt;
    Найменування: Абонемент&lt;br /&gt;
=====Створення категорії користувачів=====&lt;br /&gt;
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення адміністратора Коха=====&lt;br /&gt;
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.&lt;br /&gt;
===== Створення нового типу одиниць =====&lt;br /&gt;
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.&lt;br /&gt;
===== Створення нового правила обігу =====&lt;br /&gt;
Наприклад, вибираємо&lt;br /&gt;
 Підрозділ бібліотеки: Абонемент&lt;br /&gt;
 Категорія користувача: Студент&lt;br /&gt;
 Тип одиниці: BOOK&lt;br /&gt;
 Поточна дозволена кількість видач: 50&lt;br /&gt;
 Термін випозичання: 14&lt;br /&gt;
 Одиниці: дні&lt;br /&gt;
 Продовження (дозволена кількість): 1&lt;br /&gt;
=====Встановлення завершено!=====&lt;br /&gt;
Вітаємо, Ви закінчили і готові до використання Коха&lt;br /&gt;
&lt;br /&gt;
== Пошуковий рушій: Elasticsearch (рекомендовано) ==&lt;br /&gt;
Koha підтримує два пошукові рушії, що перемикаються системною преференцією &#039;&#039;&#039;SearchEngine&#039;&#039;&#039;: Zebra (класичний, історично типовий) та Elasticsearch. У цій редакції інструкції за основний рушій обрано &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039; — насамперед тому, що підтримка кирилиці/української реалізується штатними, підтримуваними Elastic-плагінами (ICU + офіційний плагін українського аналізатора), а не ручним патчем внутрішніх файлів Zebra, який доводиться повторно накладати після кожного оновлення пакунка koha-common.&lt;br /&gt;
&lt;br /&gt;
Пакунок koha-elasticsearch ми вже встановили разом з іншими пакунками Koha на початку інструкції.&lt;br /&gt;
&lt;br /&gt;
=== Встановлення сервера Elasticsearch ===&lt;br /&gt;
Koha станом на середину 2026 р. орієнтується на гілку Elasticsearch 8.x. Java (OpenJDK) для Elasticsearch зазвичай підтягується автоматично як залежність пакунка elasticsearch; за потреби додатково:&lt;br /&gt;
 sudo apt install openjdk-21-jdk-headless&lt;br /&gt;
Підключаємо офіційний репозитарій Elastic та ключ:&lt;br /&gt;
 sudo apt install apt-transport-https&lt;br /&gt;
 sudo curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch -o /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 sudo tee /etc/apt/sources.list.d/elasticsearch.sources &amp;lt;&amp;lt;EOF&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://artifacts.elastic.co/packages/8.x/apt&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/elasticsearch.asc&lt;br /&gt;
 EOF&lt;br /&gt;
 sudo apt update&lt;br /&gt;
 sudo apt install elasticsearch&lt;br /&gt;
Під час встановлення пакунок покаже автоматично згенерований пароль вбудованого користувача elastic — за потреби (автентифікація/TLS) збережіть його; для одновузлової локальної інсталяції під Koha безпеку кластера зазвичай спрощують, див. офіційну документацію Elastic щодо мінімальної конфігурації для single-node.&lt;br /&gt;
Запуск і автозапуск служби:&lt;br /&gt;
 sudo systemctl enable --now elasticsearch&lt;br /&gt;
Перевірка:&lt;br /&gt;
 curl -k https://localhost:9200 -u elastic&lt;br /&gt;
&lt;br /&gt;
=== Плагіни ICU та українського аналізатора ===&lt;br /&gt;
Плагін &#039;&#039;&#039;analysis-icu&#039;&#039;&#039; Koha вимагає обов&#039;язково — без нього індексація/пошук у Koha з увімкненим Elasticsearch не запрацюють коректно. Плагін &#039;&#039;&#039;analysis-ukrainian&#039;&#039;&#039; — офіційний плагін Elastic, що інтегрує лематизатор Lucene UkrainianMorfologikAnalyzer (проєкт Morfologik) і додає якісне визначення словоформ для української замість „сирої“ посимвольної токенізації.&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu&lt;br /&gt;
 sudo /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-ukrainian&lt;br /&gt;
 sudo systemctl restart elasticsearch&lt;br /&gt;
Плагін analysis-ukrainian надає ES-аналізатор з назвою &#039;&#039;&#039;ukrainian&#039;&#039;&#039;. Прив&#039;язка цього аналізатора до конкретних полів у мапінгу, який Koha створює для індексів biblios/authorities, — це вже налаштування на рівні мапінгу Elasticsearch (Адміністрація → Search engine configuration, або пряме редагування YAML-мапінгу в коді Koha); універсального „одна команда і все запрацювало“ рецепта тут немає, тому перш ніж переносити зміни на прод — перевірте поведінку на тестовому екземплярі й звіряйтеся з актуальною сторінкою https://wiki.koha-community.org/wiki/Elasticsearch. Навіть без ручного тюнінгу мапінгу підключений icu_tokenizer уже суттєво покращує коректність токенізації кирилиці порівняно з типовим standard-аналізатором.&lt;br /&gt;
&lt;br /&gt;
=== Особливість Debian 13 (trixie): HTTP::Tiny і TLS ===&lt;br /&gt;
На Debian 13 (trixie) через оновлену версію бібліотеки HTTP::Tiny (0.083+), яку постачає ОС, з&#039;єднання Koha з Elasticsearch може обриватися помилками перевірки TLS-сертифіката, навіть якщо ви звертаєтесь до localhost. Рішення — додати до секції &amp;amp;lt;elasticsearch&amp;amp;gt; у /etc/koha/sites/ukr_unimarc/koha-conf.xml:&lt;br /&gt;
 &amp;lt;elasticsearch&amp;gt;&lt;br /&gt;
   &amp;lt;server&amp;gt;127.0.0.1:9200&amp;lt;/server&amp;gt;&lt;br /&gt;
   &amp;lt;index_name&amp;gt;koha_ukr_unimarc&amp;lt;/index_name&amp;gt;&lt;br /&gt;
   &amp;lt;handle_args&amp;gt;&lt;br /&gt;
     &amp;lt;verify_SSL&amp;gt;0&amp;lt;/verify_SSL&amp;gt;&lt;br /&gt;
   &amp;lt;/handle_args&amp;gt;&lt;br /&gt;
 &amp;lt;/elasticsearch&amp;gt;&lt;br /&gt;
Після зміни — перезапустіть Koha-служби для екземпляра (нижче, розділ „Включення Plack“ і сусідні).&lt;br /&gt;
&lt;br /&gt;
=== Індексація та перемикання Koha на Elasticsearch ===&lt;br /&gt;
1) У пошуку системних преференцій відкриваємо &#039;&#039;&#039;SearchEngine&#039;&#039;&#039; (Адміністрація → Глобальні системні преференції → Пошук) і перемикаємо значення з Zebra на &#039;&#039;&#039;Elasticsearch&#039;&#039;&#039;.&lt;br /&gt;
2) Будуємо індекси для потрібного екземпляра:&lt;br /&gt;
 sudo koha-elasticsearch --rebuild -b -a -v ukr_unimarc&lt;br /&gt;
(прапорці -b і -a — окремо бібліографічні та авторитетні записи; без них перебудує обидва)&lt;br /&gt;
3) Запускаємо/перевіряємо індексувальну службу ES для екземпляра:&lt;br /&gt;
 sudo koha-es-indexer --start ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --status ukr_unimarc&lt;br /&gt;
4) Перевірка результату: пошук символу &#039;&#039;&#039;*&#039;&#039;&#039; у каталозі має повернути весь фонд (у Zebra зірочка окремо як пошуковий термін не спрацьовує, в Elasticsearch — спрацьовує) — це швидкий індикатор, що Koha дійсно звертається до ES, а не залишилася на Zebra.&lt;br /&gt;
&lt;br /&gt;
Служба Zebra (zebrasrv, індексувальний демон) на екземплярі, як і раніше, продовжує працювати у фоні навіть при увімкненому Elasticsearch — частина внутрішніх операцій Koha історично досі покладається на Zebra, тож вимикати її повністю не варто без окремого дослідження вашої версії Koha.&lt;br /&gt;
&lt;br /&gt;
=== Альтернатива (legacy): Zebra з підтримкою кирилиці ===&lt;br /&gt;
Якщо з якихось причин потрібно залишитися на Zebra як основному рушії пошуку (наприклад, обмежені ресурси сервера — Elasticsearch помітно вимогливіший до RAM), нижче — перевірений роками спосіб підтримки кирилиці для Zebra. Без цього патчу пошук українською/кирилицею в Zebra або не працює, або дає некоректні результати.&lt;br /&gt;
&lt;br /&gt;
Необхідно додати кириличні символи до файлу&lt;br /&gt;
 /etc/koha/zebradb/etc/word-phrase-utf.chr&lt;br /&gt;
а саме виправити на наступне:&lt;br /&gt;
 lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’&lt;br /&gt;
 uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’&lt;br /&gt;
 &lt;br /&gt;
 space {\001-\040}!&amp;quot;#$%&amp;amp;&#039;\()*+,-./:;&amp;lt;=&amp;gt;?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}&lt;br /&gt;
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.&lt;br /&gt;
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу&lt;br /&gt;
/etc/koha/zebradb/lang_defs/en/&#039;&#039;&#039;sort-string-utf.chr&#039;&#039;&#039; (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).&lt;br /&gt;
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни — це і є головний практичний недолік порівняно з Elasticsearch-варіантом вище: патч не переживає оновлення пакунка і його доводиться накладати заново щоразу.&lt;br /&gt;
&lt;br /&gt;
==== Запуск служби Zebra ====&lt;br /&gt;
 sudo koha-zebra --start ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
==== Запуск індексації Zebra ====&lt;br /&gt;
 sudo koha-rebuild-zebra -f -v ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Включення Plack ==&lt;br /&gt;
 koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc&lt;br /&gt;
Щодо продуктивності див. також тут:&lt;br /&gt;
* https://wiki.koha-community.org/wiki/Performance&lt;br /&gt;
&lt;br /&gt;
== Створення sitemap ==&lt;br /&gt;
 koha-sitemap --enable   ukr_unimarc&lt;br /&gt;
 koha-sitemap --generate ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== E-mail ==&lt;br /&gt;
За замовчуванням надсилання пошти вимкнене. Це дозволяє спершу довести налаштування до ладу, перш ніж ризикувати надіслати небажані сповіщення користувачам. Щоб увімкнути пошту:&lt;br /&gt;
 sudo koha-email-enable ukr_unimarc&lt;br /&gt;
&lt;br /&gt;
== Вимкнення оновлення Koha ==&lt;br /&gt;
Для більш контрольованого оновлення пакунків Коха можна тимчасово закоментувати рядок Suites (або весь блок) у /etc/apt/sources.list.d/koha.sources, напр.:&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 # Suites: 26.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
Це дозволить легко оновлювати інші пакунки Debian, не зачіпаючи koha-common.&lt;br /&gt;
&lt;br /&gt;
= Виправлення проблем =&lt;br /&gt;
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.&lt;br /&gt;
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґтрекер Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.&lt;br /&gt;
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha (приклад актуальної на 2026 р. проблеми — TLS-помилка Elasticsearch на Debian 13, описана вище в розділі про Elasticsearch).&lt;br /&gt;
&lt;br /&gt;
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.&lt;br /&gt;
&lt;br /&gt;
= Оновлення Koha =&lt;br /&gt;
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.&lt;br /&gt;
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].&lt;br /&gt;
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.&lt;br /&gt;
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коху до найновішої коригувальної версії у гілці 25.05, то у файлі /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
має бути наступне&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha/&lt;br /&gt;
 Suites: 25.05&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.asc&lt;br /&gt;
 sudo apt-get update&lt;br /&gt;
 sudo apt-get upgrade&lt;br /&gt;
 sudo apt-get install koha-common&lt;br /&gt;
Деколи необхідно оновити ключ debian-сховища Koha:&lt;br /&gt;
 sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc&lt;br /&gt;
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок Suites у /etc/apt/sources.list.d/koha.sources (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha) — див. розділ „Вимкнення оновлення Koha“ вище.&lt;br /&gt;
&lt;br /&gt;
Якщо оновлюєте екземпляр, який уже перейшов на Elasticsearch (розділ вище), після встановлення нової версії koha-common доцільно одразу перевірити:&lt;br /&gt;
* чи не зникло (і не потребує повторного додавання) налаштування &amp;amp;lt;verify_SSL&amp;amp;gt;0&amp;amp;lt;/verify_SSL&amp;amp;gt; у koha-conf.xml — деякі мажорні оновлення перегенеровують конфігураційні файли;&lt;br /&gt;
* чи не з&#039;явилися нові поля в мапінгу ES, що потребують повної переіндексації (koha-elasticsearch --rebuild -f).&lt;br /&gt;
&lt;br /&gt;
== Встановлення/оновлення допоміжних perl-модулів ==&lt;br /&gt;
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка &amp;gt; Про АБІС Koha &amp;gt; Модулі Perl“.&lt;br /&gt;
Ви можете побачити відсутні модулі Perl, виділені різними кольорами.&lt;br /&gt;
=== Пакунки з репозитарію Debian ===&lt;br /&gt;
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук&lt;br /&gt;
https://www.debian.org/distrib/packages#search_packages&lt;br /&gt;
Знайдені пакунки довстановлюємо&lt;br /&gt;
 sudo apt-get install знайдений_пакунок&lt;br /&gt;
Напр.&lt;br /&gt;
 sudo apt-get install libhttp-tiny-perl&lt;br /&gt;
=== Пакунки з CPAN ===&lt;br /&gt;
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN (див. застереження в розділі „Пакунки з CPAN (лише за потреби)“ вище — це крайній засіб, не типовий шлях).&lt;br /&gt;
 sudo cpan&lt;br /&gt;
 install Test::DBIx::Class&lt;br /&gt;
 install Readonly::XS&lt;br /&gt;
 install HTTPD::Bench::ApacheBench&lt;br /&gt;
&lt;br /&gt;
== Оновлення локалізації ==&lt;br /&gt;
 sudo koha-translate --update uk-UA&lt;br /&gt;
та, за потреби, інших мов (pl-PL, de-DE, fr-FR)&lt;br /&gt;
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.&lt;br /&gt;
&lt;br /&gt;
= Вилучення Koha =&lt;br /&gt;
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. &#039;&#039;&#039;Попередньо&#039;&#039;&#039; необхідно зупинити та вилучити усі екземпляри АБІС Koha командами&lt;br /&gt;
 sudo systemctl restart mariadb&lt;br /&gt;
 sudo systemctl restart apache2&lt;br /&gt;
 sudo koha-zebra --stop ukr_unimarc&lt;br /&gt;
 sudo koha-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-es-indexer --stop ukr_unimarc&lt;br /&gt;
 sudo koha-plack --stop ukr_unimarc&lt;br /&gt;
 sudo koha-disable ukr_unimarc&lt;br /&gt;
 sudo koha-remove ukr_unimarc&lt;br /&gt;
 sudo /sbin/userdel ukr_unimarc-koha&lt;br /&gt;
 sudo /sbin/groupdel ukr_unimarc-koha&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
Якщо екземпляр використовував Elasticsearch і ви остаточно позбуваєтесь індексів, додатково видаліть індекс(и) цього екземпляра з Elasticsearch (типово мають назву на кшталт koha_ukr_unimarc_biblios, koha_ukr_unimarc_authorities):&lt;br /&gt;
 curl -k -X DELETE &amp;quot;https://localhost:9200/koha_ukr_unimarc_*&amp;quot; -u elastic&lt;br /&gt;
Якщо Elasticsearch більше ніде на цьому сервері не потрібен (не використовується іншими екземплярами):&lt;br /&gt;
 sudo systemctl stop elasticsearch&lt;br /&gt;
 sudo apt-get purge elasticsearch&lt;br /&gt;
 sudo rm -rf /var/lib/elasticsearch /etc/elasticsearch&lt;br /&gt;
&lt;br /&gt;
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha&#039; returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.&lt;br /&gt;
Перегляд переліку наявних екземплярів&lt;br /&gt;
 sudo koha-list&lt;br /&gt;
Остаточне вилучення пакунків Koha&lt;br /&gt;
 sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch&lt;br /&gt;
Перевірте також теки:&lt;br /&gt;
 /var/spool/koha&lt;br /&gt;
 /var/log/koha&lt;br /&gt;
 /var/lib/koha&lt;br /&gt;
 /var/cache/koha&lt;br /&gt;
 /usr/share/koha&lt;br /&gt;
 /etc/koha&lt;br /&gt;
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc&lt;br /&gt;
 rm -rf /var/spool/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/log/koha/ukr_unimarc&lt;br /&gt;
 rm -rf /var/lib/koha/ukr_unimarc &lt;br /&gt;
 rm -rf /var/cache/koha/ukr_unimarc &lt;br /&gt;
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha&lt;br /&gt;
 rm -rf /usr/share/koha&lt;br /&gt;
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.&lt;br /&gt;
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо&lt;br /&gt;
 rm -rf /etc/koha/sites/ukr_unimarc&lt;br /&gt;
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/&lt;br /&gt;
 rm -rf /etc/koha&lt;br /&gt;
Вилучення налаштувань для веб-сервера Apache2&lt;br /&gt;
 rm /etc/apache2/sites-enabled/ukr_unimarc.conf&lt;br /&gt;
 rm /etc/apache2/sites-available/ukr_unimarc.conf&lt;br /&gt;
Якщо після видалення планується перевстановлення Коха, то ще потрібно&lt;br /&gt;
 sudo systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
= Налаштування =&lt;br /&gt;
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].&lt;br /&gt;
&lt;br /&gt;
= Див. також =&lt;br /&gt;
* [[Встановлення Koha з джерела на ОС Debian]]&lt;br /&gt;
* [[Оновлення Koha, встановленої з джерела]]&lt;br /&gt;
* [[Коротка інструкція для адміністратора АБІС Koha]]&lt;br /&gt;
* [[Короткий посібник користувача АБІС Koha]]&lt;br /&gt;
[[Category:АБІС Koha]]&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9311</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9311"/>
		<updated>2026-07-06T13:10:45Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Перевірка */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, необхідні для роботи з HTTPS-репозиторіями.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 &lt;br /&gt;
 apt install -y \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 gnupg&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
 wget -qO- https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
 | gpg --dearmor \&lt;br /&gt;
 -o /usr/share/keyrings/koha-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/apt/sources.list.d/koha.list&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
 deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] \&lt;br /&gt;
 https://debian.koha-community.org/koha stable main&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 apt policy koha-common&lt;br /&gt;
&lt;br /&gt;
У списку джерел пакетів повинен бути репозиторій&lt;br /&gt;
&lt;br /&gt;
 https://debian.koha-community.org/koha&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити Koha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install -y koha-common&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час встановлення буде створено користувача &#039;&#039;&#039;koha&#039;&#039;&#039;, каталоги програми та встановлено всі необхідні Perl-модулі. :contentReference[oaicite:1]{index=1}&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
До створення першої бібліотеки команда нічого не виведе.&lt;br /&gt;
&lt;br /&gt;
Це нормально.&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Запустити сервер баз даних.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable mariadb&lt;br /&gt;
systemctl restart mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql_secure_installation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений вхід користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* перезавантажити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl is-active mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-create --create-db library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час створення буде:&lt;br /&gt;
&lt;br /&gt;
* створено базу даних;&lt;br /&gt;
* створено користувача MariaDB;&lt;br /&gt;
* створено конфігурацію Apache;&lt;br /&gt;
* створено конфігурацію Plack;&lt;br /&gt;
* створено службові каталоги;&lt;br /&gt;
* згенеровано пароль адміністратора бази даних.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пароль доступу до бази даних ==&lt;br /&gt;
&lt;br /&gt;
Під час встановлення Koha автоматично генерує пароль користувача бази даних.&lt;br /&gt;
&lt;br /&gt;
Переглянути його можна у файлі&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mc -e /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Знайти рядок&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pass&amp;gt;...&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Цей пароль знадобиться під час роботи веб-інсталятора.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не змінюйте цей пароль вручну без необхідності.&lt;br /&gt;
== Налаштування вебсерверу ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки Koha автоматично створює конфігураційні файли Apache.&lt;br /&gt;
&lt;br /&gt;
Перевірити їх наявність.&lt;br /&gt;
&lt;br /&gt;
    ls -l /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Повинні бути присутні файли&lt;br /&gt;
&lt;br /&gt;
    library.conf&lt;br /&gt;
    library_ssl.conf&lt;br /&gt;
&lt;br /&gt;
Увімкнути необхідні модулі Apache.&lt;br /&gt;
&lt;br /&gt;
    a2enmod rewrite&lt;br /&gt;
    a2enmod headers&lt;br /&gt;
    a2enmod proxy&lt;br /&gt;
    a2enmod proxy_http&lt;br /&gt;
    a2enmod ssl&lt;br /&gt;
    a2enmod cgid&lt;br /&gt;
&lt;br /&gt;
Перезапустити Apache.&lt;br /&gt;
&lt;br /&gt;
    systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити конфігурацію.&lt;br /&gt;
&lt;br /&gt;
    apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
    Syntax OK&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби.&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active apache2&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
== Налаштування HTTPS ==&lt;br /&gt;
&lt;br /&gt;
Встановити Certbot.&lt;br /&gt;
&lt;br /&gt;
    apt install -y certbot python3-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Отримати сертифікат Let&#039;s Encrypt.&lt;br /&gt;
&lt;br /&gt;
    certbot --apache&lt;br /&gt;
&lt;br /&gt;
Під час налаштування:&lt;br /&gt;
&lt;br /&gt;
* вказати адресу електронної пошти;&lt;br /&gt;
* погодитися з умовами використання;&lt;br /&gt;
* вибрати домен бібліотеки;&lt;br /&gt;
* дозволити автоматичне перенаправлення HTTP → HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Відкрити у браузері&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org&lt;br /&gt;
&lt;br /&gt;
та&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org:8080&lt;br /&gt;
&lt;br /&gt;
Повинно відображатися захищене з&#039;єднання.&lt;br /&gt;
&lt;br /&gt;
Перевірити автоматичне оновлення сертифікатів.&lt;br /&gt;
&lt;br /&gt;
    systemctl status certbot.timer&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active (waiting)&lt;br /&gt;
&lt;br /&gt;
== Plack ==&lt;br /&gt;
&lt;br /&gt;
Запустити Plack для бібліотеки.&lt;br /&gt;
&lt;br /&gt;
    koha-plack --enable library&lt;br /&gt;
&lt;br /&gt;
Перезапустити Plack.&lt;br /&gt;
&lt;br /&gt;
    koha-plack --restart library&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
    koha-plack --status library&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
    Plack is enabled&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
&lt;br /&gt;
Якщо сервер Memcached ще не встановлено&lt;br /&gt;
&lt;br /&gt;
    apt install -y memcached&lt;br /&gt;
&lt;br /&gt;
Увімкнути автоматичний запуск.&lt;br /&gt;
&lt;br /&gt;
    systemctl enable memcached&lt;br /&gt;
    systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
Переконатися, що використання Memcached увімкнено у файлі&lt;br /&gt;
&lt;br /&gt;
    mc -e /etc/koha/koha-sites.conf&lt;br /&gt;
&lt;br /&gt;
Параметр&lt;br /&gt;
&lt;br /&gt;
    USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active memcached&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
== Elasticsearch ==&lt;br /&gt;
&lt;br /&gt;
Перевірити роботу служби.&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active elasticsearch&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
Перевірити відповідь сервера.&lt;br /&gt;
&lt;br /&gt;
    curl http://127.0.0.1:9200&lt;br /&gt;
&lt;br /&gt;
Повинен відобразитися JSON із відомостями про Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
Побудувати пошукові індекси.&lt;br /&gt;
&lt;br /&gt;
    koha-elasticsearch --rebuild -v -f library&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Під час першого індексування великої бази даних процес може тривати тривалий час.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
У журналі не повинно бути повідомлень про помилки.&lt;br /&gt;
&lt;br /&gt;
== Доступ до вебінсталятора ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки відкрити службовий інтерфейс.&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org:8080&lt;br /&gt;
&lt;br /&gt;
Відобразиться майстер встановлення Koha.&lt;br /&gt;
&lt;br /&gt;
Для підключення до бази даних використовуються параметри з файлу&lt;br /&gt;
&lt;br /&gt;
    /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
Заповнити:&lt;br /&gt;
&lt;br /&gt;
* Database name;&lt;br /&gt;
* Database user;&lt;br /&gt;
* Database password.&lt;br /&gt;
&lt;br /&gt;
Після успішного підключення перейти до наступного кроку.&lt;br /&gt;
&lt;br /&gt;
== Початкове налаштування Koha ==&lt;br /&gt;
&lt;br /&gt;
Під час роботи майстра рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити демонстраційні дані лише для тестового сервера;&lt;br /&gt;
* для робочого сервера не встановлювати приклади читачів, примірників та бібліографічних записів;&lt;br /&gt;
* вибрати формат MARC — UNIMARC;&lt;br /&gt;
* вибрати стандартні системні налаштування.&lt;br /&gt;
&lt;br /&gt;
Після завершення інсталятора увійти до службового інтерфейсу під користувачем&lt;br /&gt;
&lt;br /&gt;
    koha_admin&lt;br /&gt;
&lt;br /&gt;
та паролем, який було задано під час встановлення.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Відкрити головну сторінку службового інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
Переконатися, що:&lt;br /&gt;
&lt;br /&gt;
* відображається головне меню;&lt;br /&gt;
* відсутні повідомлення про помилки;&lt;br /&gt;
* працює пошук;&lt;br /&gt;
* відкривається модуль «Керування».&lt;br /&gt;
&lt;br /&gt;
== Завершення встановлення ==&lt;br /&gt;
&lt;br /&gt;
Після завершення вебінсталятора рекомендується виконати кілька додаткових перевірок.&lt;br /&gt;
&lt;br /&gt;
=== Перевірити служби ===&lt;br /&gt;
&lt;br /&gt;
    systemctl status apache2&lt;br /&gt;
    systemctl status mariadb&lt;br /&gt;
    systemctl status memcached&lt;br /&gt;
    systemctl status elasticsearch&lt;br /&gt;
&lt;br /&gt;
Усі служби повинні перебувати у стані &#039;&#039;&#039;active (running)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
=== Перевірити бібліотеку ===&lt;br /&gt;
&lt;br /&gt;
    koha-list&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися створена бібліотека.&lt;br /&gt;
&lt;br /&gt;
=== Перевірити Plack ===&lt;br /&gt;
&lt;br /&gt;
    koha-plack --status koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується інша назва бібліотеки, замініть &#039;&#039;&#039;koha&#039;&#039;&#039; на власну.&lt;br /&gt;
&lt;br /&gt;
Plack повинен бути увімкнений.&lt;br /&gt;
&lt;br /&gt;
=== Перевірити вебінтерфейси ===&lt;br /&gt;
&lt;br /&gt;
Відкрити у браузері:&lt;br /&gt;
&lt;br /&gt;
    https://koha.example.org&lt;br /&gt;
&lt;br /&gt;
та&lt;br /&gt;
&lt;br /&gt;
    https://koha.example.org:8080&lt;br /&gt;
&lt;br /&gt;
Повинні відкриватися відповідно:&lt;br /&gt;
&lt;br /&gt;
* електронний каталог (OPAC);&lt;br /&gt;
* службовий інтерфейс Koha.&lt;br /&gt;
&lt;br /&gt;
== Перші кроки після встановлення ==&lt;br /&gt;
&lt;br /&gt;
Після успішного встановлення рекомендується:&lt;br /&gt;
&lt;br /&gt;
* створити резервну копію бази даних;&lt;br /&gt;
* налаштувати електронну пошту;&lt;br /&gt;
* перевірити створення резервних копій;&lt;br /&gt;
* створити додаткових адміністраторів;&lt;br /&gt;
* налаштувати бібліотеки, категорії читачів та правила користування;&lt;br /&gt;
* встановити логотип бібліотеки;&lt;br /&gt;
* налаштувати резервне копіювання сервера.&lt;br /&gt;
&lt;br /&gt;
== Корисні команди ==&lt;br /&gt;
&lt;br /&gt;
Перелік бібліотек&lt;br /&gt;
&lt;br /&gt;
    koha-list&lt;br /&gt;
&lt;br /&gt;
Перезапустити Plack&lt;br /&gt;
&lt;br /&gt;
    koha-plack --restart koha&lt;br /&gt;
&lt;br /&gt;
Зупинити Plack&lt;br /&gt;
&lt;br /&gt;
    koha-plack --stop koha&lt;br /&gt;
&lt;br /&gt;
Запустити Plack&lt;br /&gt;
&lt;br /&gt;
    koha-plack --start koha&lt;br /&gt;
&lt;br /&gt;
Перебудувати індекси Elasticsearch&lt;br /&gt;
&lt;br /&gt;
    koha-elasticsearch --rebuild -f -v koha&lt;br /&gt;
&lt;br /&gt;
Перевірити конфігурацію Apache&lt;br /&gt;
&lt;br /&gt;
    apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Переглянути журнали Apache&lt;br /&gt;
&lt;br /&gt;
    journalctl -u apache2&lt;br /&gt;
&lt;br /&gt;
Переглянути журнали MariaDB&lt;br /&gt;
&lt;br /&gt;
    journalctl -u mariadb&lt;br /&gt;
&lt;br /&gt;
Переглянути журнали Elasticsearch&lt;br /&gt;
&lt;br /&gt;
    journalctl -u elasticsearch&lt;br /&gt;
&lt;br /&gt;
== Типові проблеми ==&lt;br /&gt;
&lt;br /&gt;
=== Apache не запускається ===&lt;br /&gt;
&lt;br /&gt;
Перевірити конфігурацію.&lt;br /&gt;
&lt;br /&gt;
    apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Після виправлення помилок перезапустити службу.&lt;br /&gt;
&lt;br /&gt;
    systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== MariaDB не запускається ===&lt;br /&gt;
&lt;br /&gt;
Переглянути журнал.&lt;br /&gt;
&lt;br /&gt;
    journalctl -u mariadb -n 100&lt;br /&gt;
&lt;br /&gt;
=== Elasticsearch недоступний ===&lt;br /&gt;
&lt;br /&gt;
Перевірити службу.&lt;br /&gt;
&lt;br /&gt;
    systemctl status elasticsearch&lt;br /&gt;
&lt;br /&gt;
Перевірити відповідь сервера.&lt;br /&gt;
&lt;br /&gt;
    curl http://127.0.0.1:9200&lt;br /&gt;
&lt;br /&gt;
=== Не відкривається службовий інтерфейс ===&lt;br /&gt;
&lt;br /&gt;
Перевірити Apache.&lt;br /&gt;
&lt;br /&gt;
    systemctl status apache2&lt;br /&gt;
&lt;br /&gt;
Перевірити Plack.&lt;br /&gt;
&lt;br /&gt;
    koha-plack --status koha&lt;br /&gt;
&lt;br /&gt;
Перевірити журнали.&lt;br /&gt;
&lt;br /&gt;
    journalctl -u apache2 -n 100&lt;br /&gt;
&lt;br /&gt;
== Оновлення системи ==&lt;br /&gt;
&lt;br /&gt;
Для оновлення Debian&lt;br /&gt;
&lt;br /&gt;
    apt update&lt;br /&gt;
    apt full-upgrade&lt;br /&gt;
&lt;br /&gt;
Для оновлення Koha використовується стандартний механізм оновлення пакетів Debian.&lt;br /&gt;
&lt;br /&gt;
Перед оновленням рекомендується створити резервну копію бази даних та каталогу&lt;br /&gt;
&lt;br /&gt;
    /etc/koha&lt;br /&gt;
&lt;br /&gt;
== Наступні статті ==&lt;br /&gt;
&lt;br /&gt;
Після встановлення рекомендується ознайомитися з такими статтями Wiki:&lt;br /&gt;
&lt;br /&gt;
* Оновлення Koha.&lt;br /&gt;
* Резервне копіювання Koha.&lt;br /&gt;
* Перенесення Koha на інший сервер.&lt;br /&gt;
* Налаштування електронної пошти.&lt;br /&gt;
* Оптимізація продуктивності.&lt;br /&gt;
* HTTPS та сертифікати Let&#039;s Encrypt.&lt;br /&gt;
* Elasticsearch.&lt;br /&gt;
* Plack.&lt;br /&gt;
* Cron-завдання.&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9310</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9310"/>
		<updated>2026-07-06T13:09:30Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Пароль доступу до бази даних */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, необхідні для роботи з HTTPS-репозиторіями.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 &lt;br /&gt;
 apt install -y \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 gnupg&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
 wget -qO- https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
 | gpg --dearmor \&lt;br /&gt;
 -o /usr/share/keyrings/koha-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/apt/sources.list.d/koha.list&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
 deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] \&lt;br /&gt;
 https://debian.koha-community.org/koha stable main&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 apt policy koha-common&lt;br /&gt;
&lt;br /&gt;
У списку джерел пакетів повинен бути репозиторій&lt;br /&gt;
&lt;br /&gt;
 https://debian.koha-community.org/koha&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити Koha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install -y koha-common&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час встановлення буде створено користувача &#039;&#039;&#039;koha&#039;&#039;&#039;, каталоги програми та встановлено всі необхідні Perl-модулі. :contentReference[oaicite:1]{index=1}&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
До створення першої бібліотеки команда нічого не виведе.&lt;br /&gt;
&lt;br /&gt;
Це нормально.&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Запустити сервер баз даних.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable mariadb&lt;br /&gt;
systemctl restart mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql_secure_installation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений вхід користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* перезавантажити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl is-active mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-create --create-db library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час створення буде:&lt;br /&gt;
&lt;br /&gt;
* створено базу даних;&lt;br /&gt;
* створено користувача MariaDB;&lt;br /&gt;
* створено конфігурацію Apache;&lt;br /&gt;
* створено конфігурацію Plack;&lt;br /&gt;
* створено службові каталоги;&lt;br /&gt;
* згенеровано пароль адміністратора бази даних.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пароль доступу до бази даних ==&lt;br /&gt;
&lt;br /&gt;
Під час встановлення Koha автоматично генерує пароль користувача бази даних.&lt;br /&gt;
&lt;br /&gt;
Переглянути його можна у файлі&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mc -e /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Знайти рядок&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pass&amp;gt;...&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Цей пароль знадобиться під час роботи веб-інсталятора.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не змінюйте цей пароль вручну без необхідності.&lt;br /&gt;
== Налаштування вебсерверу ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки Koha автоматично створює конфігураційні файли Apache.&lt;br /&gt;
&lt;br /&gt;
Перевірити їх наявність.&lt;br /&gt;
&lt;br /&gt;
    ls -l /etc/apache2/sites-available/&lt;br /&gt;
&lt;br /&gt;
Повинні бути присутні файли&lt;br /&gt;
&lt;br /&gt;
    library.conf&lt;br /&gt;
    library_ssl.conf&lt;br /&gt;
&lt;br /&gt;
Увімкнути необхідні модулі Apache.&lt;br /&gt;
&lt;br /&gt;
    a2enmod rewrite&lt;br /&gt;
    a2enmod headers&lt;br /&gt;
    a2enmod proxy&lt;br /&gt;
    a2enmod proxy_http&lt;br /&gt;
    a2enmod ssl&lt;br /&gt;
    a2enmod cgid&lt;br /&gt;
&lt;br /&gt;
Перезапустити Apache.&lt;br /&gt;
&lt;br /&gt;
    systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити конфігурацію.&lt;br /&gt;
&lt;br /&gt;
    apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
    Syntax OK&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби.&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active apache2&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
== Налаштування HTTPS ==&lt;br /&gt;
&lt;br /&gt;
Встановити Certbot.&lt;br /&gt;
&lt;br /&gt;
    apt install -y certbot python3-certbot-apache&lt;br /&gt;
&lt;br /&gt;
Отримати сертифікат Let&#039;s Encrypt.&lt;br /&gt;
&lt;br /&gt;
    certbot --apache&lt;br /&gt;
&lt;br /&gt;
Під час налаштування:&lt;br /&gt;
&lt;br /&gt;
* вказати адресу електронної пошти;&lt;br /&gt;
* погодитися з умовами використання;&lt;br /&gt;
* вибрати домен бібліотеки;&lt;br /&gt;
* дозволити автоматичне перенаправлення HTTP → HTTPS.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Відкрити у браузері&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org&lt;br /&gt;
&lt;br /&gt;
та&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org:8080&lt;br /&gt;
&lt;br /&gt;
Повинно відображатися захищене з&#039;єднання.&lt;br /&gt;
&lt;br /&gt;
Перевірити автоматичне оновлення сертифікатів.&lt;br /&gt;
&lt;br /&gt;
    systemctl status certbot.timer&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active (waiting)&lt;br /&gt;
&lt;br /&gt;
== Plack ==&lt;br /&gt;
&lt;br /&gt;
Запустити Plack для бібліотеки.&lt;br /&gt;
&lt;br /&gt;
    koha-plack --enable library&lt;br /&gt;
&lt;br /&gt;
Перезапустити Plack.&lt;br /&gt;
&lt;br /&gt;
    koha-plack --restart library&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
    koha-plack --status library&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
    Plack is enabled&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
&lt;br /&gt;
Якщо сервер Memcached ще не встановлено&lt;br /&gt;
&lt;br /&gt;
    apt install -y memcached&lt;br /&gt;
&lt;br /&gt;
Увімкнути автоматичний запуск.&lt;br /&gt;
&lt;br /&gt;
    systemctl enable memcached&lt;br /&gt;
    systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
Переконатися, що використання Memcached увімкнено у файлі&lt;br /&gt;
&lt;br /&gt;
    mc -e /etc/koha/koha-sites.conf&lt;br /&gt;
&lt;br /&gt;
Параметр&lt;br /&gt;
&lt;br /&gt;
    USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active memcached&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
== Elasticsearch ==&lt;br /&gt;
&lt;br /&gt;
Перевірити роботу служби.&lt;br /&gt;
&lt;br /&gt;
    systemctl is-active elasticsearch&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
    active&lt;br /&gt;
&lt;br /&gt;
Перевірити відповідь сервера.&lt;br /&gt;
&lt;br /&gt;
    curl http://127.0.0.1:9200&lt;br /&gt;
&lt;br /&gt;
Повинен відобразитися JSON із відомостями про Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
Побудувати пошукові індекси.&lt;br /&gt;
&lt;br /&gt;
    koha-elasticsearch --rebuild -v -f library&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Під час першого індексування великої бази даних процес може тривати тривалий час.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
У журналі не повинно бути повідомлень про помилки.&lt;br /&gt;
&lt;br /&gt;
== Доступ до вебінсталятора ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки відкрити службовий інтерфейс.&lt;br /&gt;
&lt;br /&gt;
    https://library.example.org:8080&lt;br /&gt;
&lt;br /&gt;
Відобразиться майстер встановлення Koha.&lt;br /&gt;
&lt;br /&gt;
Для підключення до бази даних використовуються параметри з файлу&lt;br /&gt;
&lt;br /&gt;
    /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&lt;br /&gt;
Заповнити:&lt;br /&gt;
&lt;br /&gt;
* Database name;&lt;br /&gt;
* Database user;&lt;br /&gt;
* Database password.&lt;br /&gt;
&lt;br /&gt;
Після успішного підключення перейти до наступного кроку.&lt;br /&gt;
&lt;br /&gt;
== Початкове налаштування Koha ==&lt;br /&gt;
&lt;br /&gt;
Під час роботи майстра рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити демонстраційні дані лише для тестового сервера;&lt;br /&gt;
* для робочого сервера не встановлювати приклади читачів, примірників та бібліографічних записів;&lt;br /&gt;
* вибрати формат MARC — UNIMARC;&lt;br /&gt;
* вибрати стандартні системні налаштування.&lt;br /&gt;
&lt;br /&gt;
Після завершення інсталятора увійти до службового інтерфейсу під користувачем&lt;br /&gt;
&lt;br /&gt;
    koha_admin&lt;br /&gt;
&lt;br /&gt;
та паролем, який було задано під час встановлення.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Відкрити головну сторінку службового інтерфейсу.&lt;br /&gt;
&lt;br /&gt;
Переконатися, що:&lt;br /&gt;
&lt;br /&gt;
* відображається головне меню;&lt;br /&gt;
* відсутні повідомлення про помилки;&lt;br /&gt;
* працює пошук;&lt;br /&gt;
* відкривається модуль «Керування».&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9309</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9309"/>
		<updated>2026-07-06T13:09:04Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Налаштування репозиторію Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, необхідні для роботи з HTTPS-репозиторіями.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 &lt;br /&gt;
 apt install -y \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 gnupg&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
 wget -qO- https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
 | gpg --dearmor \&lt;br /&gt;
 -o /usr/share/keyrings/koha-keyring.gpg&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/apt/sources.list.d/koha.list&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
 deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] \&lt;br /&gt;
 https://debian.koha-community.org/koha stable main&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 apt policy koha-common&lt;br /&gt;
&lt;br /&gt;
У списку джерел пакетів повинен бути репозиторій&lt;br /&gt;
&lt;br /&gt;
 https://debian.koha-community.org/koha&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити Koha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install -y koha-common&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час встановлення буде створено користувача &#039;&#039;&#039;koha&#039;&#039;&#039;, каталоги програми та встановлено всі необхідні Perl-модулі. :contentReference[oaicite:1]{index=1}&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
До створення першої бібліотеки команда нічого не виведе.&lt;br /&gt;
&lt;br /&gt;
Це нормально.&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Запустити сервер баз даних.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable mariadb&lt;br /&gt;
systemctl restart mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql_secure_installation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений вхід користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* перезавантажити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl is-active mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-create --create-db library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час створення буде:&lt;br /&gt;
&lt;br /&gt;
* створено базу даних;&lt;br /&gt;
* створено користувача MariaDB;&lt;br /&gt;
* створено конфігурацію Apache;&lt;br /&gt;
* створено конфігурацію Plack;&lt;br /&gt;
* створено службові каталоги;&lt;br /&gt;
* згенеровано пароль адміністратора бази даних.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пароль доступу до бази даних ==&lt;br /&gt;
&lt;br /&gt;
Під час встановлення Koha автоматично генерує пароль користувача бази даних.&lt;br /&gt;
&lt;br /&gt;
Переглянути його можна у файлі&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mc -e /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Знайти рядок&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pass&amp;gt;...&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Цей пароль знадобиться під час роботи веб-інсталятора.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не змінюйте цей пароль вручну без необхідності.&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9308</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9308"/>
		<updated>2026-07-06T13:08:06Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, необхідні для роботи з HTTPS-репозиторіями.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
&lt;br /&gt;
apt install -y \&lt;br /&gt;
ca-certificates \&lt;br /&gt;
curl \&lt;br /&gt;
gnupg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
wget -qO- https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
| gpg --dearmor \&lt;br /&gt;
-o /usr/share/keyrings/koha-keyring.gpg&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mc -e /etc/apt/sources.list.d/koha.list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] \&lt;br /&gt;
https://debian.koha-community.org/koha stable main&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt policy koha-common&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
У списку джерел пакетів повинен бути репозиторій&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
https://debian.koha-community.org/koha&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити Koha.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt install -y koha-common&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час встановлення буде створено користувача &#039;&#039;&#039;koha&#039;&#039;&#039;, каталоги програми та встановлено всі необхідні Perl-модулі. :contentReference[oaicite:1]{index=1}&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
До створення першої бібліотеки команда нічого не виведе.&lt;br /&gt;
&lt;br /&gt;
Це нормально.&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Запустити сервер баз даних.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl enable mariadb&lt;br /&gt;
systemctl restart mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mysql_secure_installation&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений вхід користувача &#039;&#039;&#039;root&#039;&#039;&#039;;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* перезавантажити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
systemctl is-active mariadb&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
active&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-create --create-db library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Під час створення буде:&lt;br /&gt;
&lt;br /&gt;
* створено базу даних;&lt;br /&gt;
* створено користувача MariaDB;&lt;br /&gt;
* створено конфігурацію Apache;&lt;br /&gt;
* створено конфігурацію Plack;&lt;br /&gt;
* створено службові каталоги;&lt;br /&gt;
* згенеровано пароль адміністратора бази даних.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
koha-list&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;text&amp;quot;&amp;gt;&lt;br /&gt;
library&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Пароль доступу до бази даних ==&lt;br /&gt;
&lt;br /&gt;
Під час встановлення Koha автоматично генерує пароль користувача бази даних.&lt;br /&gt;
&lt;br /&gt;
Переглянути його можна у файлі&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
mc -e /etc/koha/sites/library/koha-conf.xml&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Знайти рядок&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;xml&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;pass&amp;gt;...&amp;lt;/pass&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Цей пароль знадобиться під час роботи веб-інсталятора.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Не змінюйте цей пароль вручну без необхідності.&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9307</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9307"/>
		<updated>2026-07-06T13:04:02Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
У цьому розділі використовується офіційний репозиторій Koha.&lt;br /&gt;
&lt;br /&gt;
Після виходу нових версій Debian або Koha адреса репозиторію чи спосіб підпису GPG-ключем можуть змінюватися. Перед виконанням команд бажано звірити їх з офіційною документацією Koha.&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install -y curl gnupg ca-certificates&lt;br /&gt;
&lt;br /&gt;
Створити каталог для ключів APT.&lt;br /&gt;
&lt;br /&gt;
 install -d -m755 /etc/apt/keyrings&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
 curl -fsSL https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
 | gpg --dearmor -o /etc/apt/keyrings/koha.gpg&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.gpg&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 apt policy koha-common&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися доступна версія Koha 26.05.&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакет Koha.&lt;br /&gt;
&lt;br /&gt;
 apt install -y koha-common&lt;br /&gt;
&lt;br /&gt;
Під час встановлення будуть автоматично встановлені:&lt;br /&gt;
&lt;br /&gt;
* Apache;&lt;br /&gt;
* MariaDB (якщо її ще не встановлено);&lt;br /&gt;
* Elasticsearch (залежно від пакунків репозиторію);&lt;br /&gt;
* Plack;&lt;br /&gt;
* усі необхідні Perl-модулі.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 dpkg -l koha-common&lt;br /&gt;
&lt;br /&gt;
Пакет повинен мати стан&lt;br /&gt;
&lt;br /&gt;
 ii&lt;br /&gt;
&lt;br /&gt;
== Основний файл налаштувань Koha ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/koha/koha-sites.conf&lt;br /&gt;
&lt;br /&gt;
Рекомендується перевірити такі параметри.&lt;br /&gt;
&lt;br /&gt;
 DOMAIN=&amp;quot;.example.org&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;UNIMARC&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;en&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 USE_ELASTICSEARCH=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Значення &#039;&#039;&#039;DOMAIN&#039;&#039;&#039; повинно відповідати доменному імені сервера.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити синтаксис файлу.&lt;br /&gt;
&lt;br /&gt;
 grep -v &#039;^#&#039; /etc/koha/koha-sites.conf | grep .&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Якщо MariaDB ще не встановлена, виконати&lt;br /&gt;
&lt;br /&gt;
 apt install -y mariadb-server&lt;br /&gt;
&lt;br /&gt;
Запустити службу.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable mariadb&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
 mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача root;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений доступ root;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* оновити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl is-active mariadb&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
 active&lt;br /&gt;
&lt;br /&gt;
== Elasticsearch ==&lt;br /&gt;
&lt;br /&gt;
Якщо пакет не встановлено автоматично&lt;br /&gt;
&lt;br /&gt;
 apt install -y elasticsearch&lt;br /&gt;
&lt;br /&gt;
Увімкнути автоматичний запуск.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable elasticsearch&lt;br /&gt;
 systemctl restart elasticsearch&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl status elasticsearch&lt;br /&gt;
&lt;br /&gt;
Служба повинна бути у стані &#039;&#039;&#039;active (running)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Перевірити відповідь сервера.&lt;br /&gt;
&lt;br /&gt;
 curl http://127.0.0.1:9200&lt;br /&gt;
&lt;br /&gt;
Повинен відобразитися JSON із відомостями про Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
&lt;br /&gt;
Встановити сервер кешування.&lt;br /&gt;
&lt;br /&gt;
 apt install -y memcached&lt;br /&gt;
&lt;br /&gt;
Увімкнути службу.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable memcached&lt;br /&gt;
 systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl is-active memcached&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
 active&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва бібліотеки&lt;br /&gt;
&lt;br /&gt;
 library&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
 koha-create --create-db library&lt;br /&gt;
&lt;br /&gt;
Процес може тривати кілька хвилин.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 koha-list&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
 library&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки Koha автоматично створює конфігурацію Apache.&lt;br /&gt;
&lt;br /&gt;
Перевірити її наявність.&lt;br /&gt;
&lt;br /&gt;
 ls -l /etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Повинні бути присутні конфігураційні файли бібліотеки.&lt;br /&gt;
&lt;br /&gt;
Перезапустити Apache.&lt;br /&gt;
&lt;br /&gt;
 systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl status apache2&lt;br /&gt;
&lt;br /&gt;
Служба повинна бути у стані &#039;&#039;&#039;active (running)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Перевірити синтаксис конфігурації.&lt;br /&gt;
&lt;br /&gt;
 apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
 Syntax OK&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9306</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9306"/>
		<updated>2026-07-06T13:01:29Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: /* Налаштування репозиторію Koha */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
У цьому розділі використовується офіційний репозиторій Koha.&lt;br /&gt;
&lt;br /&gt;
Після виходу нових версій Debian або Koha адреса репозиторію чи спосіб підпису GPG-ключем можуть змінюватися. Перед виконанням команд бажано звірити їх з офіційною документацією Koha.&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt install -y curl gnupg ca-certificates&lt;br /&gt;
&lt;br /&gt;
Створити каталог для ключів APT.&lt;br /&gt;
&lt;br /&gt;
 install -d -m755 /etc/apt/keyrings&lt;br /&gt;
&lt;br /&gt;
Імпортувати ключ репозиторію Koha.&lt;br /&gt;
&lt;br /&gt;
 curl -fsSL https://debian.koha-community.org/koha/gpg.asc \&lt;br /&gt;
 | gpg --dearmor -o /etc/apt/keyrings/koha.gpg&lt;br /&gt;
&lt;br /&gt;
Створити файл репозиторію.&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/apt/sources.list.d/koha.sources&lt;br /&gt;
&lt;br /&gt;
Вміст файлу&lt;br /&gt;
&lt;br /&gt;
 Types: deb&lt;br /&gt;
 URIs: https://debian.koha-community.org/koha&lt;br /&gt;
 Suites: stable&lt;br /&gt;
 Components: main&lt;br /&gt;
 Signed-By: /etc/apt/keyrings/koha.gpg&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
apt update&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 apt policy koha-common&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися доступна версія Koha 26.05.&lt;br /&gt;
&lt;br /&gt;
== Встановлення Koha ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакет Koha.&lt;br /&gt;
&lt;br /&gt;
 apt install -y koha-common&lt;br /&gt;
&lt;br /&gt;
Під час встановлення будуть автоматично встановлені:&lt;br /&gt;
&lt;br /&gt;
* Apache;&lt;br /&gt;
* MariaDB (якщо її ще не встановлено);&lt;br /&gt;
* Elasticsearch (залежно від пакунків репозиторію);&lt;br /&gt;
* Plack;&lt;br /&gt;
* усі необхідні Perl-модулі.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 dpkg -l koha-common&lt;br /&gt;
&lt;br /&gt;
Пакет повинен мати стан&lt;br /&gt;
&lt;br /&gt;
 ii&lt;br /&gt;
&lt;br /&gt;
== Основний файл налаштувань Koha ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/koha/koha-sites.conf&lt;br /&gt;
&lt;br /&gt;
Рекомендується перевірити такі параметри.&lt;br /&gt;
&lt;br /&gt;
 DOMAIN=&amp;quot;.example.org&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 OPACPORT=&amp;quot;80&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 INTRAPORT=&amp;quot;8080&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 USE_MEMCACHED=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 MEMCACHED_SERVERS=&amp;quot;127.0.0.1:11211&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ZEBRA_MARC_FORMAT=&amp;quot;UNIMARC&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ZEBRA_LANGUAGE=&amp;quot;en&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 ENABLE_SRU=&amp;quot;yes&amp;quot;&lt;br /&gt;
 &lt;br /&gt;
 USE_ELASTICSEARCH=&amp;quot;yes&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Значення &#039;&#039;&#039;DOMAIN&#039;&#039;&#039; повинно відповідати доменному імені сервера.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити синтаксис файлу.&lt;br /&gt;
&lt;br /&gt;
 grep -v &#039;^#&#039; /etc/koha/koha-sites.conf | grep .&lt;br /&gt;
&lt;br /&gt;
== MariaDB ==&lt;br /&gt;
&lt;br /&gt;
Якщо MariaDB ще не встановлена, виконати&lt;br /&gt;
&lt;br /&gt;
 apt install -y mariadb-server&lt;br /&gt;
&lt;br /&gt;
Запустити службу.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable mariadb&lt;br /&gt;
 systemctl restart mariadb&lt;br /&gt;
&lt;br /&gt;
Виконати початкове налаштування.&lt;br /&gt;
&lt;br /&gt;
 mysql_secure_installation&lt;br /&gt;
&lt;br /&gt;
Рекомендується:&lt;br /&gt;
&lt;br /&gt;
* встановити пароль користувача root;&lt;br /&gt;
* видалити анонімних користувачів;&lt;br /&gt;
* заборонити віддалений доступ root;&lt;br /&gt;
* видалити тестову базу даних;&lt;br /&gt;
* оновити таблиці привілеїв.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl is-active mariadb&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
 active&lt;br /&gt;
&lt;br /&gt;
== Elasticsearch ==&lt;br /&gt;
&lt;br /&gt;
Якщо пакет не встановлено автоматично&lt;br /&gt;
&lt;br /&gt;
 apt install -y elasticsearch&lt;br /&gt;
&lt;br /&gt;
Увімкнути автоматичний запуск.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable elasticsearch&lt;br /&gt;
 systemctl restart elasticsearch&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl status elasticsearch&lt;br /&gt;
&lt;br /&gt;
Служба повинна бути у стані &#039;&#039;&#039;active (running)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Перевірити відповідь сервера.&lt;br /&gt;
&lt;br /&gt;
 curl http://127.0.0.1:9200&lt;br /&gt;
&lt;br /&gt;
Повинен відобразитися JSON із відомостями про Elasticsearch.&lt;br /&gt;
&lt;br /&gt;
== Memcached ==&lt;br /&gt;
&lt;br /&gt;
Встановити сервер кешування.&lt;br /&gt;
&lt;br /&gt;
 apt install -y memcached&lt;br /&gt;
&lt;br /&gt;
Увімкнути службу.&lt;br /&gt;
&lt;br /&gt;
 systemctl enable memcached&lt;br /&gt;
 systemctl restart memcached&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl is-active memcached&lt;br /&gt;
&lt;br /&gt;
Повинно бути&lt;br /&gt;
&lt;br /&gt;
 active&lt;br /&gt;
&lt;br /&gt;
== Створення бібліотеки ==&lt;br /&gt;
&lt;br /&gt;
У прикладах використовується назва бібліотеки&lt;br /&gt;
&lt;br /&gt;
 library&lt;br /&gt;
&lt;br /&gt;
За потреби замініть її на власну.&lt;br /&gt;
&lt;br /&gt;
Створити бібліотеку.&lt;br /&gt;
&lt;br /&gt;
 koha-create --create-db library&lt;br /&gt;
&lt;br /&gt;
Процес може тривати кілька хвилин.&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 koha-list&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
 library&lt;br /&gt;
&lt;br /&gt;
== Apache ==&lt;br /&gt;
&lt;br /&gt;
Після створення бібліотеки Koha автоматично створює конфігурацію Apache.&lt;br /&gt;
&lt;br /&gt;
Перевірити її наявність.&lt;br /&gt;
&lt;br /&gt;
 ls -l /etc/apache2/sites-enabled/&lt;br /&gt;
&lt;br /&gt;
Повинні бути присутні конфігураційні файли бібліотеки.&lt;br /&gt;
&lt;br /&gt;
Перезапустити Apache.&lt;br /&gt;
&lt;br /&gt;
 systemctl restart apache2&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 systemctl status apache2&lt;br /&gt;
&lt;br /&gt;
Служба повинна бути у стані &#039;&#039;&#039;active (running)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Перевірити синтаксис конфігурації.&lt;br /&gt;
&lt;br /&gt;
 apachectl configtest&lt;br /&gt;
&lt;br /&gt;
Повинно відобразитися&lt;br /&gt;
&lt;br /&gt;
 Syntax OK&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
	<entry>
		<id>http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9305</id>
		<title>Обговорення:Встановлення Koha з репозитарію на ОС Debian</title>
		<link rel="alternate" type="text/html" href="http://wiki.koha.org.ua/index.php?title=%D0%9E%D0%B1%D0%B3%D0%BE%D0%B2%D0%BE%D1%80%D0%B5%D0%BD%D0%BD%D1%8F:%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha_%D0%B7_%D1%80%D0%B5%D0%BF%D0%BE%D0%B7%D0%B8%D1%82%D0%B0%D1%80%D1%96%D1%8E_%D0%BD%D0%B0_%D0%9E%D0%A1_Debian&amp;diff=9305"/>
		<updated>2026-07-06T12:58:03Z</updated>

		<summary type="html">&lt;p&gt;Dubyk: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
= Встановлення та початкове налаштування Koha 26.05 на Debian GNU/Linux 13 (Trixie) =&lt;br /&gt;
&lt;br /&gt;
__TOC__&lt;br /&gt;
&lt;br /&gt;
== Вступ ==&lt;br /&gt;
&lt;br /&gt;
У статті описано встановлення автоматизованої бібліотечної інформаційної системи &#039;&#039;&#039;Koha 26.05&#039;&#039;&#039; з офіційного репозиторію на &#039;&#039;&#039;Debian GNU/Linux 13 (Trixie)&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Після виконання всіх кроків буде встановлено та налаштовано:&lt;br /&gt;
&lt;br /&gt;
* Koha 26.05;&lt;br /&gt;
* MariaDB;&lt;br /&gt;
* Apache;&lt;br /&gt;
* Elasticsearch;&lt;br /&gt;
* Plack;&lt;br /&gt;
* електронний каталог;&lt;br /&gt;
* інтерфейс бібліотекаря;&lt;br /&gt;
* HTTPS;&lt;br /&gt;
* SMTP;&lt;br /&gt;
* резервне копіювання.&lt;br /&gt;
&lt;br /&gt;
Інструкція розрахована на чисту інсталяцію Debian 13.&lt;br /&gt;
&lt;br /&gt;
Усі команди виконуються від користувача &#039;&#039;&#039;root&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
== Мінімальні вимоги ==&lt;br /&gt;
&lt;br /&gt;
Для невеликих бібліотек рекомендується:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Компонент&lt;br /&gt;
! Мінімально&lt;br /&gt;
! Рекомендовано&lt;br /&gt;
|-&lt;br /&gt;
| Процесор&lt;br /&gt;
| 2 ядра&lt;br /&gt;
| 4 ядра і більше&lt;br /&gt;
|-&lt;br /&gt;
| Оперативна пам&#039;ять&lt;br /&gt;
| 4 ГБ&lt;br /&gt;
| 8 ГБ і більше&lt;br /&gt;
|-&lt;br /&gt;
| Системний диск&lt;br /&gt;
| 40 ГБ SSD&lt;br /&gt;
| 100 ГБ SSD і більше&lt;br /&gt;
|-&lt;br /&gt;
| База даних&lt;br /&gt;
| MariaDB&lt;br /&gt;
| MariaDB&lt;br /&gt;
|-&lt;br /&gt;
| Пошуковий рушій&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
| Elasticsearch&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Для середніх і великих бібліотек обсяг оперативної пам&#039;яті та дискового простору слід збільшити відповідно до кількості бібліографічних записів, примірників та користувачів.&lt;br /&gt;
&lt;br /&gt;
== Підготовка системи ==&lt;br /&gt;
&lt;br /&gt;
Оновити список пакетів та встановити всі доступні оновлення.&lt;br /&gt;
&lt;br /&gt;
 apt update&lt;br /&gt;
 apt full-upgrade -y&lt;br /&gt;
 reboot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
Перевірити версію Debian.&lt;br /&gt;
&lt;br /&gt;
 cat /etc/debian_version&lt;br /&gt;
&lt;br /&gt;
Повинна відображатися версія 13.x.&lt;br /&gt;
&lt;br /&gt;
== Часовий пояс ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточний часовий пояс.&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
Для України рекомендується:&lt;br /&gt;
&lt;br /&gt;
 timedatectl set-timezone Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі &#039;&#039;&#039;Time zone&#039;&#039;&#039; повинно бути&lt;br /&gt;
&lt;br /&gt;
 Europe/Kyiv&lt;br /&gt;
&lt;br /&gt;
== Локалі ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточні локалі.&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
Якщо локалі ще не створені, виконати&lt;br /&gt;
&lt;br /&gt;
 dpkg-reconfigure locales&lt;br /&gt;
&lt;br /&gt;
Рекомендується увімкнути&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8 UTF-8&lt;br /&gt;
 uk_UA.UTF-8 UTF-8&lt;br /&gt;
&lt;br /&gt;
Локаль за замовчуванням&lt;br /&gt;
&lt;br /&gt;
 en_US.UTF-8&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 locale&lt;br /&gt;
&lt;br /&gt;
== Ім&#039;я сервера ==&lt;br /&gt;
&lt;br /&gt;
Перевірити поточне ім&#039;я сервера.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl&lt;br /&gt;
&lt;br /&gt;
При необхідності змінити його.&lt;br /&gt;
&lt;br /&gt;
 hostnamectl set-hostname koha&lt;br /&gt;
&lt;br /&gt;
Якщо використовується доменне ім&#039;я, рекомендується одразу встановити повне ім&#039;я сервера, наприклад&lt;br /&gt;
&lt;br /&gt;
 koha.example.org&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
&lt;br /&gt;
== Файл hosts ==&lt;br /&gt;
&lt;br /&gt;
Відкрити файл&lt;br /&gt;
&lt;br /&gt;
 mc -e /etc/hosts&lt;br /&gt;
&lt;br /&gt;
Приклад&lt;br /&gt;
&lt;br /&gt;
 127.0.0.1       localhost&lt;br /&gt;
 127.0.1.1       koha.example.org koha&lt;br /&gt;
 &lt;br /&gt;
 ::1             localhost ip6-localhost ip6-loopback&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 hostname -f&lt;br /&gt;
 ping -c4 localhost&lt;br /&gt;
&lt;br /&gt;
== Синхронізація часу ==&lt;br /&gt;
&lt;br /&gt;
Перевірити стан служби синхронізації часу.&lt;br /&gt;
&lt;br /&gt;
 systemctl status systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
Якщо служба не запущена&lt;br /&gt;
&lt;br /&gt;
 systemctl enable systemd-timesyncd&lt;br /&gt;
 systemctl restart systemd-timesyncd&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 timedatectl&lt;br /&gt;
&lt;br /&gt;
У полі&lt;br /&gt;
&lt;br /&gt;
 System clock synchronized&lt;br /&gt;
&lt;br /&gt;
повинно бути&lt;br /&gt;
&lt;br /&gt;
 yes&lt;br /&gt;
&lt;br /&gt;
== Встановлення додаткових пакетів ==&lt;br /&gt;
&lt;br /&gt;
Встановити пакети, які знадобляться під час налаштування сервера.&lt;br /&gt;
&lt;br /&gt;
 apt install -y \&lt;br /&gt;
 apt-transport-https \&lt;br /&gt;
 ca-certificates \&lt;br /&gt;
 curl \&lt;br /&gt;
 wget \&lt;br /&gt;
 gnupg \&lt;br /&gt;
 lsb-release \&lt;br /&gt;
 software-properties-common \&lt;br /&gt;
 mc \&lt;br /&gt;
 htop \&lt;br /&gt;
 iotop \&lt;br /&gt;
 iftop \&lt;br /&gt;
 tree \&lt;br /&gt;
 zip \&lt;br /&gt;
 unzip \&lt;br /&gt;
 rsync \&lt;br /&gt;
 cron \&lt;br /&gt;
 certbot&lt;br /&gt;
&lt;br /&gt;
=== Перевірка ===&lt;br /&gt;
&lt;br /&gt;
 mc&lt;br /&gt;
 htop&lt;br /&gt;
&lt;br /&gt;
Програми повинні запускатися без помилок.&lt;br /&gt;
&lt;br /&gt;
== Налаштування репозиторію Koha ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Примітка.&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
У цьому розділі використовується офіційний репозиторій Koha.&lt;br /&gt;
&lt;br /&gt;
Після виходу нових версій Debian або Koha адреса репозиторію чи спосіб підпису GPG-ключем можуть змінюватися. Перед виконанням команд бажано звірити їх з офіційною документацією Koha.&lt;br /&gt;
&lt;br /&gt;
...&lt;/div&gt;</summary>
		<author><name>Dubyk</name></author>
	</entry>
</feed>