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

Матеріал з Koha Ukraine Wiki
Перейти до: навігація, пошук
м (koha-create)
(Включення sitemap)
 
(Не показані 377 проміжних версій 11 користувачів)
Рядок 1: Рядок 1:
Розглядається встановлення АБІС Koha серії 3.6 з репозитарію [http://debian.koha-community.org/ debian.koha-community.org]. Опис, в основному взятий з http://wiki.koha-community.org/wiki/Category:Installation з доповненнями.
+
Розглядається встановлення АБІС Koha версії 21.05.X-23.11.X '''з репозитарію''' [http://debian.koha-community.org/ debian.koha-community.org].  
  
Цей варіант встановлення ще тестується, наразі більш апробованим та універсальним залишається [[Встановлення Koha з джерела на ОС Debian|встановлення з джерельних кодів]].
+
На даний час це найбільш протестований і розповсюджений варіант.
  
 +
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим.
  
= Встановлення ОС Debian GNU/Linux 6 Squeeze =
+
Див. також
 +
* [https://wiki.koha-community.org/wiki/Koha_on_Debian Koha_on_Debian] на Koha Wiki
 +
* [https://wiki.koha-community.org/wiki/Debian Koha & Debian] на Koha Wiki
 +
* [https://wiki.koha-community.org/wiki/Category:Installation Category:Installation] на Koha Wiki
 +
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki
  
Детальніше: [[Встановлення ОС Debian Linux]].
+
= Встановлення ОС Debian GNU/Linux <!-- 10 Buster / --> 11 Bullseye =
 +
 
 +
Див. також:
 +
* http://download.openlib.org.ua/ustanovka-debian-11/
 +
* https://infoit.com.ua/linux/kak-ustanovit-debian-11-bullseye-shag-za-shagom/
 +
* [http://wiki.tntu.edu.ua/%D0%92%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_%D0%9E%D0%A1_Debian_Linux Встановлення ОС Debian Linux].
 +
 
 +
Перевірка поточної версії Debian:
 +
lsb_release -d
 +
 
 +
Щодо сумісності Коха з іншими версіями ОС див.
 +
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)
 +
 
 +
== Підключення гілок non-free та contrib для пакунків Дебіен ==
 +
 
 +
Перевіряємо у /etc/apt/sources.list чи підключені гілки  non-free та contrib
 +
 
 +
sudo mc -e /etc/apt/sources.list
 +
 
 +
deb    http://deb.debian.org/debian/ bullseye main non-free contrib
 +
deb-src http://deb.debian.org/debian/ bullseye main non-free contrib
 +
 +
deb    http://security.debian.org/debian-security/ bullseye-security main
 +
deb-src http://security.debian.org/debian-security/ bullseye-security main
 +
 +
deb    http://deb.debian.org/debian/ bullseye-updates main contrib non-free
 +
deb-src http://deb.debian.org/debian/ bullseye-updates main contrib non-free
 +
 +
deb    http://deb.debian.org/debian bullseye-backports main contrib non-free
 +
deb-src http://deb.debian.org/debian bullseye-backports main
 +
 
 +
sudo apt-get update
 +
sudo apt-get upgrade
 +
 
 +
= Встановлення ОС Debian GNU/Linux 12 bookworm =
 +
 
 +
Див. також:
 +
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції
 +
 
 +
Перевірка поточної версії Debian:
 +
lsb_release -d
 +
 
 +
Щодо сумісності Коха з іншими версіями ОС див.
 +
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.)
 +
 
 +
== Підключення гілок non-free та contrib для пакунків Дебіен ==
 +
 
 +
Перевіряємо у /etc/apt/sources.list чи підключені гілки  non-free та contrib
 +
 
 +
sudo mc -e /etc/apt/sources.list
 +
 
 +
deb http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware
 +
deb-src http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware
 +
 +
deb http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
 +
deb-src http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware
 +
 +
deb http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
 +
deb-src http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware
 +
 +
deb http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
 +
deb-src http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware
 +
 +
deb http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
 +
deb-src http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware
 +
 
 +
sudo apt-get update
 +
sudo apt-get upgrade
  
 
= Попередні налаштування =
 
= Попередні налаштування =
Рядок 12: Рядок 84:
 
Перевірка локалі:
 
Перевірка локалі:
 
   sudo locale
 
   sudo locale
у виводі повинно бути магічне „'''UTF-8'''“ (en.UTF-8,ru_RU.UTF-8 тощо), наприклад для України
+
у виводі повинно бути магічне „'''UTF-8'''“ (en.UTF-8 тощо), наприклад для України
  
 
  LANG=uk_UA.UTF-8
 
  LANG=uk_UA.UTF-8
Рядок 30: Рядок 102:
  
 
Якщо '''UTF-8''' не згадується, то встановлюємо локаль
 
Якщо '''UTF-8''' не згадується, то встановлюємо локаль
 +
  apt install locales locales-all
 
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"
 
   sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"
  
== Користувач для Koha ==
+
== Підключення репозитарію Koha  ==
 +
 
 +
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org]  доступні стабільна та розробницька версії.
 +
 
 +
Спочатку додаємо ключ gpg.asc (koha-keyring.gpg) до довірених ключів APT:
 +
 
 +
Встановити gpg
 +
apt-get install gnupg2
 +
 
 +
Звантажити та встановити ключ
 +
 
 +
Новіший спосіб
 +
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg
 +
 
 +
або старіший спосіб
 +
wget -q -O- https://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
 +
 
 +
Див. також [https://wiki.koha-community.org/wiki/Koha_on_Debian#The_apt-key_deprecation_warning] та [https://wiki.debian.org/DebianRepository/UseThirdParty]).
 +
 
 +
Швидко підключити репозитарій стабільну версію Koha (рекомендується) можна командою
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
 
 +
Також можна вибрати репозитарій з певною версією (див. тут http://debian.koha-community.org/koha/dists/), напр
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 21.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.05 main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 22.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
'''echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main' | sudo tee /etc/apt/sources.list.d/koha.list'''
 +
echo 'deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.11 main' | sudo tee /etc/apt/sources.list.d/koha.list
 +
 
 +
Оновлюємо список доступних для встановлення пакунків
 +
sudo apt-get update
 +
 
 +
= Встановлення Koha =
 +
 
 +
== Встановлення пакунків Koha ==
 +
sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch
 +
 
 +
Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here
 +
 
 +
Якщо далі щось піде не так, читаємо стандартну інструкцію про налаштування
 +
 
 +
less /usr/share/doc/koha-common/README.Debian
 +
 
 +
(у нових версіях можуть бути зміни)
 +
 
 +
== Встановлення БД MySQL та допоміжних пакунків ==
 +
 
 +
sudo apt-get install mariadb-server
 +
 
 +
sudo mysql_secure_installation
 +
 
 +
За винятком першого питання, на всі питання можна відповісти Так (“'''Y'''”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!
 +
 
 +
sudo apt-get install memcached libmemcached-tools
 +
 
 +
sudo apt install aptitude
 +
 
 +
<!-- sudo aptitude -t buster-backports install php-twig -->
 +
<!-- sudo aptitude -t bullseye-backports install php-twig -->
 +
sudo apt install php-twig
 +
 
 +
sudo apt install phpmyadmin php libapache2-mod-php
 +
 
 +
* для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“
 +
* configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку
 +
 
 +
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin
 +
 
 +
Щодо phpmyadmin також див. https://think.unblog.ch/en/phpmyadmin-error-php-7-2-5-is-required/
  
Додаємо користувача
+
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити
 +
...
 +
<port>8888</port>
 +
...
  
(нижче замість „АдміністраторСистемиKoha“ вводимо своє)
+
та додати цей порт у файл /etc/apache2/ports.conf
  
  sudo adduser АдміністраторСистемиKoha
+
  Listen 8888
  
Деколи група автоматично не створюється — тоді потрібно ще
+
Перезапуск Apache
  
  sudo addgroup АдміністраторСистемиKoha
+
  sudo /etc/init.d/apache2 restart
sudo adduser АдміністраторСистемиKoha АдміністраторСистемиKoha
 
  
Командою „sudo visudo“ відкриваємо для редагування файл привілеїв адміністратора і надаємо їх користувачу АдміністраторСистемиKoha, додавши у кінці файлу рядок
+
По умовчанню вхід через phphmyadmin для root закрито.
 +
За потреби можна створити іншого користувача
 +
 +
mysql -u root -p
 +
CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY 'парольдляsysadmin';
  
АдміністраторСистемиKoha ALL=(ALL) ALL
+
та надати йому привілеї на усі БД:
  
Після додавання клавіатурним скороченням Ctrl-O зберігаємо файл (/etc/sudoers) та через Ctrl-X виходимо.
+
GRANT ALL PRIVILEGES ON *.* TO 'sysadmin'@'localhost' WITH GRANT OPTION;
 +
exit
 +
sudo /etc/init.d/mysql restart
  
== Підключення репозитарію Koha  ==
+
== Пакунки з CPAN ==
  
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org]  доступні стабільна та розробницька версії.
+
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.
  
Підключаємо у файлі '''/etc/apt/sources.list''' стабільну версію (рекомендується)
+
Станом на 12.2023 необхідні модулі
deb http://debian.koha-community.org/koha squeeze main
 
чи розробницьку
 
deb http://debian.koha-community.org/koha squeeze-dev main
 
   
 
Також додаємо ключ gpg.asc до довірених ключів APT:
 
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
 
  
Оновлюмо список доступних для встановлення пакунків
+
* '''HTTPD::Bench::ApacheBench''' (0.73), перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all&section=all]).
apt-get update
+
* '''Text::CSV::Unicode''' (0.40), перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all&section=all]).
 +
* '''Selenium::Remote::Driver''' (1.27), перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all&section=all]).
  
= Встановлення Koha =
+
* '''Locale::XGettext::TT2'''
  
== Встановлення пакунка „koha-common“ ==
+
Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) :
Доступні два пакунки, що встановлюють АБІС Koha, це
 
  
„'''koha-common'''“ — містить увесь код та допоміжні сценарії. Цей пакунок після встановлення не надає налаштованого та працюючого екземпляру Koha, однак доступна команда „'''koha-create'''“ та інші корисні інструменти, що дозволять Вам створити скільки завгодно налаштованих та працюючих екземплярів (включаючи завдання cron та індексацію Zebra).
+
sudo apt-get install make
  
та
+
sudo  perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
 +
— встановився, вивід —
 +
ADIRAJ/ApacheBench-0.73.tar.gz
 +
make install  -- OK
  
„'''koha'''“ — подібний пакунок, однак надає один екземпляр Koha. Однак цей варіант ще не керується сценаріями а також необхідно вручну додавати завдання cron та індексування Zebra (див. bug 5071).
+
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl
  
Отож рекомендовано встановлювати пакунок „'''koha-common'''
+
sudo  perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore'
  
  apt-get install koha-common
+
  sudo  perl -MCPAN -e 'install Test::Differences'
  
Також читаємо стандартну інструкцію про подальше налаштування
+
sudo  perl -MCPAN -e 'install Text::CSV::Unicode'
 +
—  встановився, вивід —
 +
RMBARKER/Text-CSV-Unicode-0.400.tar.gz
 +
  ./Build install  -- OK
  
  less /usr/share/doc/koha-common/README.Debian
+
  sudo  perl -MCPAN -e 'install Selenium::Remote::Driver'
 +
—  встановився, вивід —
 +
TEODESIAN/Selenium-Remote-Driver-1.32.tar.gz
 +
  /usr/bin/make install  -- OK
  
== Встановлення БД MySQL та допоміжних пакунків ==
+
<!-- exists in Debian 10: sudo  perl -MCPAN -e 'install Net::OAuth2::AuthorizationServer'
 +
—  встановився, вивід —
 +
  LEEJO/Net-OAuth2-AuthorizationServer-0.23.tar.gz
 +
  /usr/bin/make install  -- OK
 +
-->
 +
<!-- sudo  perl -MCPAN -e 'install Readonly::XS'
 +
— встановлено, вивід —
 +
Readonly::XS is up to date (1.05).
 +
''Чомусь є ще зауваження про пакунок Readonly::XS, хоча він і повинен бути встановлений командою вище (?).'' -->
  
  sudo apt-get install \
+
<!-- sudo perl -MCPAN -e 'install WebService::ILS'
  mysql-server \
+
— встановився, вивід —
  phpmyadmin
+
  SRDJAN/WebService-ILS-0.14.tar.gz
 +
  ./Build install  -- OK-->
  
* при встановленні сервера MySQL вказуємо пароль адміністратора (користувач „root“), надалі „ПарольАдмінаMySQL“
+
sudo  perl -MCPAN -e 'install Locale::XGettext::TT2'
* для „phpmyadmin“ вибрати лише „apache2“
 
* при встановленні „phpmyadmin“ нагадати системі пароль адміна MySQL а також встановити пароль застосунку
 
  
== Налаштування MySQL ==
+
<!--== Налаштування MySQL ==-->
  
 +
<!--
 
1) Пароль для користувача root БД MySQL: ПарольАдмінаMySQL
 
1) Пароль для користувача root БД MySQL: ПарольАдмінаMySQL
Якщо пароль не вибрано при встановленні MySQL, то змінити можна так
+
 
  sudo dpkg-reconfigure mysql-server-5.1
+
Лише, '''якщо пароль не вибрано''' при встановленні MySQL чи необхідно вказати новий, то діємо наступним чином
 +
 
 +
  sudo dpkg-reconfigure mysql-server-5.5
 +
-->
 +
<!--
 
2) Для підтримки UTF-8 у MySQL у файлі /etc/mysql/my.cnf (в кінці) має бути наступне
 
2) Для підтримки UTF-8 у MySQL у файлі /etc/mysql/my.cnf (в кінці) має бути наступне
[client]
+
 
default-character-set=utf8
 
[mysqld_safe]
 
default-character-set=utf8
 
[mysql]
 
default-character-set=utf8
 
 
  [mysqld]
 
  [mysqld]
 
  init-connect='SET NAMES utf8, collation_connection=utf8_unicode_ci'
 
  init-connect='SET NAMES utf8, collation_connection=utf8_unicode_ci'
default-character-set=utf8
 
 
  character-set-server=utf8
 
  character-set-server=utf8
 
  collation-server=utf8_unicode_ci
 
  collation-server=utf8_unicode_ci
 
  character_set_client=utf8
 
  character_set_client=utf8
default-collation=utf8_unicode_ci
 
 
  skip-character-set-client-handshake
 
  skip-character-set-client-handshake
 +
 
3) Перезапускаємо сервер MySQL
 
3) Перезапускаємо сервер MySQL
 +
 
  sudo /etc/init.d/mysql restart
 
  sudo /etc/init.d/mysql restart
 +
 
4) Переконуємося, що зміни внесені, виконавши
 
4) Переконуємося, що зміни внесені, виконавши
 +
 
  sudo mysql -uroot -pПарольАдмінаMySQL
 
  sudo mysql -uroot -pПарольАдмінаMySQL
 
  show variables;
 
  show variables;
 
  quit
 
  quit
 +
-->
  
 
== Налаштування Apache та сценарій „koha-post-install-setup“ ==
 
== Налаштування Apache та сценарій „koha-post-install-setup“ ==
Рядок 128: Рядок 291:
 
(він задіює модулі Rewrite та Suexec для Apache)
 
(він задіює модулі Rewrite та Suexec для Apache)
  
2) Додатково задіюємо модулі Expires та Deflate
+
2) Додатково задіюємо модулі <!--і Expires, --> Deflate, Cgi, headers, proxy_http<!--, Mpm_Itk та виключаємо[https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here] модуль Event
  sudo a2enmod expires
+
  sudo a2enmod expires-->
 
  sudo a2enmod deflate
 
  sudo a2enmod deflate
 +
sudo a2enmod rewrite
 +
sudo a2enmod cgi
 +
<!-- sudo a2enmod mpm_itk
 +
sudo a2dismod mpm_event-->
 +
sudo a2enmod headers proxy_http
  
3) Редагуємо /etc/apache2/conf.d/charset
+
3) Редагуємо /etc/apache2/conf-available/charset.conf
 
  AddCharset UTF-8 .utf8
 
  AddCharset UTF-8 .utf8
 
  AddDefaultCharset UTF-8
 
  AddDefaultCharset UTF-8
 +
 +
та задіюємо його
 +
 +
sudo a2enconf charset
  
 
4) Перезапуск Apache
 
4) Перезапуск Apache
 
  sudo /etc/init.d/apache2 restart
 
  sudo /etc/init.d/apache2 restart
  
== koha-create ==
+
== Створення екземпляра АБІС Koha ==
  
=== /etc/koha/koha-ukr-unimarc-site.conf ===
+
=== Варіанти налаштування АБІС Koha  з доменами та портами ===
 +
 
 +
==== Варіант з портами 8080 та 8888 (тестовий) ====
 +
Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.
 +
 
 +
===== koha-ukr-unimarc-site.conf =====
  
 
Створюємо файл  
 
Створюємо файл  
  mc -e /etc/koha/koha-ukr-unimarc-site.conf
+
  sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf
 
наступного змісту
 
наступного змісту
  
  # The domain to append to the instance name, for Apache ServerName. Default is empty. The value must begin with a period.
+
  DOMAIN="localhost"          # Change this to be your domain. Any instance will be a subdomain of this string.
  DOMAIN="localhost"
+
OPACPORT="8080"                # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used)
 +
OPACPREFIX=""                # For users' interface URL: Prefix to be added to the instance name.
 +
OPACSUFFIX=""                # For users' interface URL: Suffix to be added to the instance name.
 +
INTRAPORT="8888"            # TCP listening port for the administration interface
 +
INTRAPREFIX=""              # For administration interface URL: Prefix to be added to the instance name.
 +
INTRASUFFIX=""              # For administration interface URL: Suffix to be added to the instance name.
 +
ZEBRA_MARC_FORMAT="unimarc"  # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
 +
ZEBRA_LANGUAGE="uk"          # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
 +
DEFAULTSQL=""                # a value is generally not needed.
 +
BIBLIOS_INDEXING_MODE="dom"        # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.
 +
AUTHORITIES_INDEXING_MODE="dom"    # Set the indexing mode for authority records. Valid values are dom (default) and grs1.
 +
USE_MEMCACHED="yes"                # Set the instance to make use of memcache.
 +
MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers.
 +
MEMCACHED_PREFIX="koha_"            # Set the desired prefix for the instance memcached namespace.
 +
  ENABLE_SRU="yes"                    # Enable the Z39.50/SRU server (default: disabled).
 +
SRU_SERVER_PORT="7090"             # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
 +
 
 +
===== ports.conf =====
 +
Додаємо
 +
 
 +
Listen 8080
 +
Listen 8888
 +
 
 +
у файл /etc/apache2/ports.conf
 +
 
 +
Також перезапускаємо Apache
 +
 
 +
sudo /etc/init.d/apache2 restart
 +
 
 +
==== Варіант з портами 80 та 8080 ====
 +
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.
 
   
 
   
  # The port for the OPAC.
+
===== koha-ukr-unimarc-site.conf =====
  OPACPORT="8008"
+
/змінюється/
 +
Створюємо файл
 +
  sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf
 +
наступного змісту
 +
 
 +
DOMAIN="localhost"          # Change this to be your domain. Any instance will be a subdomain of this string.
 +
OPACPORT="80"                # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used)
 +
OPACPREFIX=""                # For users' interface URL: Prefix to be added to the instance name.
 +
OPACSUFFIX=""                # For users' interface URL: Suffix to be added to the instance name.
 +
  INTRAPORT="8080"            # TCP listening port for the administration interface
 +
INTRAPREFIX=""              # For administration interface URL: Prefix to be added to the instance name.
 +
INTRASUFFIX=""              # For administration interface URL: Suffix to be added to the instance name.
 +
ZEBRA_MARC_FORMAT="unimarc"  # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
 +
ZEBRA_LANGUAGE="uk"          # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
 +
DEFAULTSQL=""                # a value is generally not needed.
 +
BIBLIOS_INDEXING_MODE="dom"        # Set the indexing mode for bibliographic records.  Valid values are dom (default) and grs1.
 +
AUTHORITIES_INDEXING_MODE="dom"    # Set the indexing mode for authority records. Valid values are dom (default) and grs1.
 +
USE_MEMCACHED="yes"                # Set the instance to make use of memcache.
 +
MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers.
 +
MEMCACHED_PREFIX="koha_"            # Set the desired prefix for the instance memcached namespace.
 +
ENABLE_SRU="yes"                    # Enable the Z39.50/SRU server (default: disabled).
 +
SRU_SERVER_PORT="7090"              # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
 +
 
 +
===== ports.conf =====
 +
Додаємо
 +
 
 +
Listen 8080
 +
Listen 8008
 +
 
 +
у файл /etc/apache2/ports.conf
 +
 
 +
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008.
 +
Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок
 +
 
 +
<VirtualHost *:8008>
 +
 
 +
Також перезапускаємо Apache
 +
 
 +
sudo /etc/init.d/apache2 restart
 +
 
 +
==== Варіант з доменами ====
 +
 
 +
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт
 +
 
 +
opac.librarydomain.ua
 +
staff.librarydomain.ua
 +
 
 +
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha
 +
 
 +
=== Команда „koha-create“ ===
 +
 
 +
Синтаксис команди для створення екземплярів АБІС Koha — [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“:
 +
koha-create [--create-db|--request-db|--populate-db|--use-db] \
 +
  [--marcflavor marc21(default)|normarc|unimarc] \
 +
  [--zebralang  cs|el|en(default)|es|fr|nb|ru|uk] \
 +
  [--elasticsearch-server localhost:9200(default)] \
 +
  [--auth-idx  dom(default)|grs1] \
 +
  [--biblio-idx dom (default)|grs1] \
 +
  [--use-memcached] \
 +
  [--memcached-servers 127.0.0.1:11211,host2:port2,...] \
 +
  [--memcached-prefix KOHA|koha_|...] \
 +
  [--enable-sru] \
 +
  [--sru-port 7090(default)|9998] \
 +
  [--defaultsql /path/to/some.sql] \
 +
  [--configfile /path/to/config] \
 +
  [--passwdfile /path/to/passwd] \
 +
  [--dbhost host] \
 +
  [--database  dbname]  \
 +
  [--adminuser admin_user_id_in_db] \
 +
  [--template-cache-dir /var/cache/koha/<instance>/templates(default)] \
 +
  [--timezone time/zone (America/Argentina)] \
 +
  [--upload-path /var/lib/koha/<instancename>/uploads(default)|...] \
 +
  [--tmp-path dir /var/lib/koha/<instance>/tmp(default)] \
 +
  [--letsencrypt] \
 +
  [--smtp-host host] \
 +
  [--smtp-port NN] \
 +
  [--smtp-timeout NN] \
 +
  [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \
 +
  [--smtp-user-name user] \
 +
  [--smtp-password  pass] \
 +
  [--smtp-debug] \
 +
  [--mb-host localhost)default)] \
 +
  [--mb-port NN default: 61613] \
 +
  [--mb-user guest(default)] \
 +
  [--mb-pass guest(default)] \
 +
  [--mb-vhost koha_<instance>(default)] \
 +
  [--keep-cookie NAME] \
 +
  [--help,-h] \
 +
  instancename
 +
 
 +
''Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [https://github.com/digibib/kohadevbox/issues/56], [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=10205]). Екземпляр з назвою більшої довжини буде непрацездатним.''
 +
 
 +
Створення екземпляра АБІС Koha (українська, Unimarc)
 +
 
 +
sudo koha-create  --create-db  --configfile /etc/koha/koha-ukr-unimarc-site.conf  ukr_unimarc
 +
 
 +
Вивід:
 +
 
 +
Koha instance is empty, no staff user created.
 +
Starting Koha worker daemon for ukr_unimarc (default):.
 +
Starting Koha indexing daemon for ukr_unimarc:.
 +
 
 +
== Веб-встановлювач ==
 +
 
 +
=== Актуальні українські sql-файли  ===
 +
 
 +
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.
 +
 
 +
Оновлення для українських SQL-таблиць доступні у  DrobBox Сергія Дубика за адресою:
 +
 
 +
'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0'
 +
 
 +
Тека '''SQL_Koha_23_05_0X_adds/uk-UA_additional/uk-UA'''  містить оновлення, які необхідно скопіювати у теку '''uk-UA''' у '''/usr/share/koha/intranet/cgi-bin/installer/data/mysql'''
 +
 
 +
Виконайте наступну команду
 +
sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;
 +
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.
 +
 
 +
=== Утворення локалізованих шаблонів ===
 +
 
 +
<!--Переходимо у теку сценаріїв локалізації Коха
 +
 
 +
cd /usr/share/koha/misc/translator
 +
 
 +
та запускаємо утворення локалізованих шаблонів тощо для кожної мови
 +
 
 +
sudo env KOHA_CONF=/etc/koha/sites/ukr_unimarc/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl -I /usr/share/koha/lib "./translate" install uk-UA
 +
sudo env KOHA_CONF=/etc/koha/sites/ukr_unimarc/koha-conf.xml PERL5LIB=/usr/share/koha/lib perl -I /usr/share/koha/lib "./translate" install ru-RU
 +
 
 +
... і для інших необхідних мов (окрім „en“)
 +
-->
 +
 
 +
Спочатку дивимося перелік доступних мов
 +
 
 +
sudo koha-translate --list --available
 +
 
 +
Встановлюємо переклади для української<!-- та російської -->
 +
 
 +
sudo koha-translate --install uk-UA
 +
<!-- sudo koha-translate --install ru-RU -->
 +
 
 +
Ця команда також згенерує деякі перекладені дані для Коха (у форматі '''yaml'''-файлів) у теці
 +
/usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA
 +
разом з раніше скопійованими '''SQL'''-файлами.
 +
 
 +
Також можете встановити деякі інші мови інтерфейсу
 +
 
 +
sudo koha-translate --install pl-PL
 +
<!-- sudo koha-translate --install be-BY -->
 +
sudo koha-translate --install de-DE
 +
sudo koha-translate --install fr-FR
 +
sudo koha-translate --install it-IT
 +
sudo koha-translate --install cs-CZ
 +
sudo koha-translate --install bg-Cyrl
 +
 +
 
 +
=== Кроки веб-встановлювача ===
 +
 
 +
Типовий логін для екземляра напр. „ukr_unimarc“ буде:
 +
koha_ukr_unimarc
 +
 
 +
Пароль та логін можна переглянути за допомогою:
 +
sudo koha-passwd ukr_unimarc
 +
 
 +
або логін і пароль зберігаються у файлі '''/etc/koha/sites/ukr_unimarc/koha-conf.xml''', у розділі '''config''' знаходимо користувача ('''user''') та пароль ('''pass'''). Також побачити логін та пароль можна через команди
 +
 
 +
sudo xmlstarlet sel -t -v 'yazgfs/config/user' /etc/koha/sites/ukr_unimarc/koha-conf.xml
 +
sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/ukr_unimarc/koha-conf.xml
 
   
 
   
  # The port for the intranet. If you set this to empty or 80, then you must also define INTRAPREFIX or INTRASUFFIX.
+
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.
  INTRAPORT="8888"
+
 
 +
Крок 1: мова '''uk-UA''', перевірка залежностей
 +
 
 +
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв
 +
 
 +
Крок 3: створення таблиць, вибір МАРК-стандарту '''Unimarc''' (УкрМарк), вибір типових даних (послідовно '''вибираємо усі¹²''' '''дані''', імпорт 1-10 хв.).
 +
 
 +
¹Які типові дані можна вимкнути:
 +
* Приклади користувачів
 +
* Приклади бібліотек/підрозділів
 +
 
 +
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.
 +
 
 +
==== Процес імпорту даних ====
 +
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA.
 +
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика). 
 +
 
 +
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.
 +
 
 +
 
 +
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТИ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:
 +
 
 +
#!/bin/bash
 +
# MySQL сервер та інформація про підключення
 +
  MYSQL_USER="koha_ukr_unimarc"
 +
MYSQL_PASSWORD="ваш_пароль"
 +
MYSQL_HOST="localhost" # або інший хост, на якому запущено MySQL
 +
MYSQL_DB="koha_ukr_unimarc"
 +
# Вибір всіх таблиць в базі даних TABLES=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -se "SHOW TABLES")
 +
# Вимкнення перевірки зовнішніх ключів
 +
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 0;"
 +
# Цикл для виконання DELETE для кожної таблиці
 +
for table in $TABLES
 +
do
 +
  mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "DELETE FROM $table;"
 +
done
 +
# Включення перевірки зовнішніх ключів
 +
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 1;"
 +
echo "Всі дані з бази даних $MYSQL_DB були очищені."
 +
sudo /etc/init.d/koha-common restart
 +
sudo /etc/init.d/apache2 restart
 +
sudo /etc/init.d/mariadb restart
 +
sudo /etc/init.d/memcached restart
 +
koha-plack --restart ukr_unimarc
 +
 
 +
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.
 +
 
 +
==== Помилка „Gateway Timeout“ ====
 +
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати
 +
sudo /etc/init.d/apache2 restart
 +
 
 +
та перезапустити веб-встановлювач (й попередньо очистити таблиці).
 +
 
 +
==== Адаптаційний етап  ====
 +
=====Створення бібліотеки/підрозділу=====
 +
 
 +
Створюємо свій підрозділ, напр.
 +
 
 +
    Код біб­ліо­те­ки/під­роз­ді­лу: AB
 +
    Найменування: Абонемент
 +
 
 +
=====Створення категорії користувачів=====
 +
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.
 +
 
 +
===== Створення адміністратора Коха=====
 +
 
 +
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.
 +
 
 +
===== Створення нового типу одиниць =====
 +
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.
 +
 
 +
===== Створення нового правила обігу =====
 +
Наприклад, вибираємо
 +
Підрозділ бібліотеки: Абонемент
 +
  Категорія користувача: Студент
 +
Тип одиниці: BOOK
 +
Поточна дозволена кількість видач: 50
 +
Термін випозичання: 14
 +
Одиниці: дні
 +
Продовження (дозволена кількість): 1
 +
=====Встановлення завершено!=====
 +
Вітаємо, Ви закінчили і готові до використання Коха
 +
 
 +
== Підтримка кирилиці рушієм пошуку Zebra ==
 +
 
 +
Необхідно додати кириличні символи до файлу
 +
 
 +
/etc/koha/zebradb/etc/word-phrase-utf.chr
 +
 
 +
а саме виправити на наступне:
 +
 
 +
lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’
 +
uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’
 
   
 
   
  # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
+
  space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
  ZEBRA_MARC_FORMAT="unimarc"
+
 
   
+
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.
  # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
+
 
  ZEBRA_LANGUAGE="uk"
+
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу
 +
/etc/koha/zebradb/lang_defs/en/'''sort-string-utf.chr''' (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).
 +
 
 +
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни.
 +
 
 +
=== Запуск служби Zebra ===
 +
 
 +
  sudo koha-zebra --start ukr_unimarc
 +
* koha-zebra — новий скрипт, згадка про нього є тут https://koha-community.org/koha-17-11-released/
 +
 
 +
=== Запуск індексації Zebra ===
 +
 
 +
  sudo koha-rebuild-zebra -f -v ukr_unimarc
 +
 
 +
== Включення Plack ==
 +
  koha-plack --enable ukr_unimarc;  koha-plack --start ukr_unimarc
 +
Щодо продуктивності див. також тут:
 +
* https://wiki.koha-community.org/wiki/Performance
 +
* https://wiki.koha-community.org/wiki/Benchmark_for_16.11
 +
 
 +
== Створення sitemap ==
 +
koha-sitemap --enable  ukr_unimarc
 +
koha-sitemap --generate ukr_unimarc
 +
 
 +
== E-mail ==
 +
 
 +
By default, email is turned off. This is to let you get everything set up before you risk sending unwanted notices to people. To turn email on:
 +
 
 +
sudo koha-email-enable ukr_unimarc
 +
 
 +
== Вимкнення оновлення Koha ==
 +
Для більш контрольованого оновлення пакунків Коха можна тимчасово виключити оновлення у /etc/apt/sources.list.d/koha.list                                                                                                                                                       
 +
  #deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main
 +
 
 +
Це дозволить легко оновлювати інші пакунки Debian
  
=== koha-create ===
+
= Виправлення проблем =
koha-create {--create-db|--request-db|--populate-db|--use-db} [--marcflavor marc21|normarc|unimarc] [--zebralang en|nb|fr]
+
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії.
            [--defaultsql /path/to/some.sql] [--configfile /path/to/config] [--passwdfile /path/to/passwd] [--database database]
+
Це у випадку, якщо про проблему повідомлено на [https://bugs.koha-community.org/bugzilla3/ баґгтрекар Koha] і знайдено й прийнято її вирішення (латка) до виходу наступної версії.
            [--adminuser n] {instancename}
+
Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha.
 +
<!--
 +
== Koha 16.11 ==
 +
=== Поламані посилання при пошуку ===
 +
Проявляється в укр. та рос. локалізації Unimarc (УкрМарк) при використанні відображення Koha-MARC „biblio.biblionumber «» 090^9.
  
koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc
+
Вирішення: замінити у файлі /usr/share/koha/intranet/htdocs/intranet-tmpl/prog/en/xslt/UNIMARCslim2intranetResults.xsl
 +
рядок
 +
  <xsl:variable name="biblionumber" select="marc:controlfield[@tag=001]"/>
 +
на рядок
 +
  <xsl:variable name="biblionumber" select="marc:datafield[@tag=090]/marc:subfield[@code='a']"/>
  
Вивід:
+
Повідомлення про помилку: [https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=17730 Uniform mapping for biblio.biblionumber (Unimarc) ].
  
 +
Потребує оновлення мов
 +
sudo koha-translate --update uk-UA
 +
sudo koha-translate --update pl-PL
 +
sudo koha-translate --update ru-RU
 +
та інших
 +
-->
  
cat: /etc/koha/passwd: No such file or directory
+
Див. також: [[Виправлення та вдосконалення для АБІС Koha]], зроблені українською спільнотою АБІС Koha.
Koha instance is empty, no staff user created.
 
Enabling site ukr_unimarc.
 
To activate the new configuration, you need to run:
 
  service apache2 reload
 
Restarting web server: apache2 ... waiting .
 
Starting Zebra server for ukr_unimarc
 
  
 
= Оновлення Koha =
 
= Оновлення Koha =
 +
 +
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.
 +
 +
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]].
 +
 +
sudo apt-get update
 +
sudo apt-get upgrade
 +
sudo apt-get install koha-common
 +
 +
Деколи необхідно оновити ключ debian-сховища Koha.
 +
 +
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
 +
 +
== Встановлення/оновлення допоміжних perl-модулів ==
 +
 +
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка > Про АБІС Koha > Модулі Perl“.
 +
 +
Ви можете побачити відсутні модулі Perl, виділені різними кольорами,
 +
 +
=== Пакунки з репозитарію Debian ===
 +
 +
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук
 +
https://www.debian.org/distrib/packages#search_packages
 +
 +
Знайдені пакунки довстановлюємо
 +
 +
sudo apt-get install знайдений_пакунок
 +
 +
=== Пакунки з CPAN ===
 +
 +
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN.
 +
 +
Наприклад, при  оновлення до 16.11:
 +
 +
(perl-пакунок „Test::DBIx::Class“ також вимагав встановлення debian-пакунка „apache2-dev“)
 +
 +
sudo cpan
 +
install Test::DBIx::Class
 +
install Readonly::XS
 +
install HTTPD::Bench::ApacheBench
 +
 +
== Оновлення локалізації ==
 +
 +
sudo koha-translate --update uk-UA
 +
та, за потреби, інших мов (ru-RU, pl-PL, be-BY)
 +
 +
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.
  
 
= Вилучення Koha =
 
= Вилучення Koha =
  
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення экземплярів АБІС Koha. Экземпляри АБІС Koha вилучаються за допомогою команди
+
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами
  koha-remove ukr_unimarc
+
 
 +
sudo /etc/init.d/mariadb restart
 +
sudo /etc/init.d/apache2 restart
 +
sudo koha-zebra --stop ukr_unimarc
 +
sudo koha-indexer --stop ukr_unimarc
 +
sudo koha-plack --stop ukr_unimarc
 +
  sudo koha-disable ukr_unimarc
 +
sudo koha-remove ukr_unimarc
 +
sudo /sbin/userdel ukr_unimarc-koha
 +
sudo /sbin/groupdel ukr_unimarc-koha
 +
sudo /etc/init.d/memcached restart
 +
 
 +
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha' returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.
 +
 
 +
Перегляд переліку наявних екземплярів
 +
 
 +
sudo koha-list
 +
 
 +
Остаточне вилучення пакунків Koha
 +
 
 +
sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch
 +
 
 +
Перевірте також теки:
 +
/var/spool/koha
 +
/var/log/koha
 +
/var/lib/koha
 +
/var/cache/koha
 +
/usr/share/koha
 +
/etc/koha
 +
 
 +
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc
 +
rm -rf /var/spool/koha/ukr_unimarc
 +
rm -rf /var/log/koha/ukr_unimarc
 +
rm -rf /var/lib/koha/ukr_unimarc
 +
rm -rf /var/cache/koha/ukr_unimarc
 +
 
 +
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha
 +
rm -rf /usr/share/koha
 +
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.
 +
 
 +
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо
 +
rm -rf /etc/koha/sites/ukr_unimarc
 +
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/
 +
rm -rf /etc/koha
 +
 
 +
Вилучення налаштувань для веб-сервера Apache2
 +
 
 +
rm /etc/apache2/sites-enabled/ukr_unimarc.conf
 +
rm /etc/apache2/sites-available/ukr_unimarc.conf
 +
 
 +
Якщо після видалення планується перевстановлення Коха, то ще потрібно
 +
 +
sudo /etc/init.d/memcached restart
 +
 
 +
= Налаштування =
 +
 
 +
Щодо додаткових налаштувань та адаптацій див. тут: [[Налаштування Koha, встановленої з джерела]].
 +
 
 +
= Див. також =
 +
 
 +
* [[Встановлення Koha з джерела на ОС Debian]]
 +
* [[Оновлення Koha, встановленої з джерела]]
 +
* [[Коротка інструкція для адміністратора АБІС Koha]]
 +
* [[Короткий посібник користувача АБІС Koha]]
 +
 
 +
[[Category:АБІС Koha]]

Поточна версія на 15:08, 26 березня 2024

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

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

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

Див. також

Зміст

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

Див. також:

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

lsb_release -d

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

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

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

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

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

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

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

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

Див. також:

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

lsb_release -d

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

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

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

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

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

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

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

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

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

Локаль з UTF-8

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

 sudo locale

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

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

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

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

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

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

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

Встановити gpg

apt-get install gnupg2

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

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

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

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

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

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

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

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

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

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

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

sudo apt-get update

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

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

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

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

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

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

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

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

sudo apt-get install mariadb-server 
sudo mysql_secure_installation

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

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

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

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

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

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

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

Listen 8888

Перезапуск Apache

sudo /etc/init.d/apache2 restart

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

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

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

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

Пакунки з CPAN

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

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

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

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

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

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

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

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

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

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

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


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


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

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

sudo koha-post-install-setup

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

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

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

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

AddCharset UTF-8 .utf8
AddDefaultCharset UTF-8

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

sudo a2enconf charset

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

sudo /etc/init.d/apache2 restart

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

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

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

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

koha-ukr-unimarc-site.conf

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

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

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

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

Додаємо

Listen 8080
Listen 8888

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

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

sudo /etc/init.d/apache2 restart

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

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

koha-ukr-unimarc-site.conf

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

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

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

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

Додаємо

Listen 8080
Listen 8008

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

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

<VirtualHost *:8008>

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

sudo /etc/init.d/apache2 restart

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

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

opac.librarydomain.ua
staff.librarydomain.ua

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

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

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

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

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

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

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

Вивід:

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

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

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

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

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

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

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

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

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

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

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

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

sudo koha-translate --list --available

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

sudo koha-translate --install uk-UA

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

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

разом з раніше скопійованими SQL-файлами.

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

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

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

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

koha_ukr_unimarc

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

sudo koha-passwd ukr_unimarc

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

Помилка „Gateway Timeout“

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

sudo /etc/init.d/apache2 restart

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sudo koha-zebra --start ukr_unimarc

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

sudo koha-rebuild-zebra -f -v ukr_unimarc

Включення Plack

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

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

Створення sitemap

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

E-mail

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

sudo koha-email-enable ukr_unimarc

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

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

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

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

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

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

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

Оновлення Koha

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

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

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

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

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

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

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

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

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

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

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

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

Пакунки з CPAN

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

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

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

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

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

sudo koha-translate --update uk-UA

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

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

Вилучення Koha

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

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

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

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

sudo koha-list

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

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

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

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

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

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

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

rm -rf /usr/share/koha

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

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

rm -rf /etc/koha/sites/ukr_unimarc

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

rm -rf /etc/koha

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

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

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

sudo /etc/init.d/memcached restart

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

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

Див. також