Встановлення Koha з репозитарію на ОС Debian: відмінності між версіями
Dubyk (обговорення | внесок) |
Dubyk (обговорення | внесок) |
||
(Не показано 100 проміжних версій цього користувача) | |||
Рядок 1: | Рядок 1: | ||
Розглядається встановлення АБІС Koha версії |
Розглядається встановлення АБІС Koha версії 23.11-25.05 '''з репозитарію''' [http://debian.koha-community.org/ debian.koha-community.org]. |
||
На даний час це найбільш протестований і розповсюджений варіант. |
На даний час це найбільш протестований і розповсюджений варіант. |
||
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування. |
Окрім цього ще є варіант [[Встановлення Koha з джерела на ОС Debian|встановлення АБІС Koha з джерельних кодів]], що є дещо більш гнучким щодо налаштування, але і складнішим. |
||
Див. також |
Див. також |
||
Рядок 11: | Рядок 11: | ||
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki |
* [https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_packages Koha on ubuntu - packages] на Koha Wiki |
||
= Встановлення ОС Debian GNU/Linux |
= Встановлення ОС Debian GNU/Linux 12 bookworm = |
||
Див. також: |
Див. також: |
||
* https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції |
|||
* 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 |
Перевірка поточної версії Debian: |
||
lsb_release -d |
|||
Щодо сумісності Коха з іншими версіями ОС див. |
|||
lsb_release -d |
|||
* [https://wiki.koha-community.org/wiki/System_requirements_and_recommendations Системні вимоги та рекомендації] (англ.) |
|||
== Підключення гілок non-free та contrib для пакунків Дебіен == |
|||
= Швидкий варіант для нетерплячих = |
|||
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib |
|||
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list; wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -; sudo apt-get update |
|||
sudo apt-get install koha-common mysql-server memcached libmemcached-tools libgdbm-dev apache2-dev libreadonly-xs-perl |
|||
sudo mc -e /etc/apt/sources.list |
|||
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'; sudo perl -MCPAN -e 'install Test::DBIx::Class'; sudo perl -MCPAN -e 'install WebService::ILS' |
|||
sudo koha-post-install-setup; sudo a2enmod cgi; sudo a2enmod headers proxy_http; sudo a2enconf charset; sudo /etc/init.d/apache2 restart |
|||
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 |
|||
= Попередні налаштування = |
= Попередні налаштування = |
||
Рядок 33: | Рядок 50: | ||
Перевірка локалі: |
Перевірка локалі: |
||
sudo locale |
sudo locale |
||
у виводі повинно бути магічне „'''UTF-8'''“ (en |
у виводі повинно бути магічне „'''UTF-8'''“ (en.UTF-8 тощо), наприклад для України |
||
LANG=uk_UA.UTF-8 |
LANG=uk_UA.UTF-8 |
||
Рядок 51: | Рядок 68: | ||
Якщо '''UTF-8''' не згадується, то встановлюємо локаль |
Якщо '''UTF-8''' не згадується, то встановлюємо локаль |
||
apt install locales-all |
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 == |
||
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільні версії, які виходять 2 рази на рік і підтримуються 24-42 місяці (https://wiki.koha-community.org/wiki/Koha_Versioning). |
|||
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib |
|||
Налаштування ключів: |
|||
sudo mc -e /etc/apt/sources.list |
|||
<!-- deb http://security.debian.org/ stretch/updates main contrib |
|||
deb-src http://security.debian.org/ stretch/updates main contrib |
|||
deb http://debian.org.ua/debian/ stretch main contrib non-free |
|||
deb-src http://debian.org.ua/debian/ stretch main contrib non-free--> |
|||
deb http://deb.debian.org/debian/ buster main non-free contrib |
|||
deb-src http://deb.debian.org/debian/ buster main non-free contrib |
|||
deb http://security.debian.org/debian-security buster/updates main contrib non-free |
|||
deb-src http://security.debian.org/debian-security buster/updates main contrib non-free |
|||
deb http://deb.debian.org/debian/ buster-updates main contrib non-free |
|||
deb-src http://deb.debian.org/debian/ buster-updates main contrib non-free |
|||
deb http://deb.debian.org/debian buster-backports main contrib non-free |
|||
deb-src http://deb.debian.org/debian buster-backports main |
|||
sudo apt-get update |
|||
sudo apt-get upgrade |
|||
sudo apt update |
|||
<!--== Користувач для Koha == |
|||
sudo apt install sudo apt-transport-https ca-certificates curl gnupg2 |
|||
sudo mkdir -p --mode=0755 /etc/apt/keyrings |
|||
sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc |
|||
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків. |
|||
Додаємо користувача |
|||
Це рекомендується для виробничих середовищ, щоб "випадково" не оновитися до нового великого випуску. |
|||
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії. |
|||
(нижче замість „АдміністраторСистемиKoha“ вводимо своє) |
|||
Поточні номери версій Koha та їхні кодові назви: |
|||
sudo adduser АдміністраторСистемиKoha |
|||
* 25.05 (stable) — поточний стабільний реліз і наступна версія з довготривалою підтримкою (LTS) |
|||
Деколи група автоматично не створюється — тоді потрібно ще |
|||
* 24.11 (LTS) (oldstable) — на один реліз позаду від поточного стабільного |
|||
* 24.05 (oldoldstable) — на два релізи позаду від поточного стабільного |
|||
* 23.11 (oldoldoldstable) — версія з довготривалою підтримкою, підтримується приблизно 3 з половиною роки |
|||
Щоб оновити список джерел пакетів для використання релізу 25.05: |
|||
sudo addgroup АдміністраторСистемиKoha |
|||
sudo adduser АдміністраторСистемиKoha АдміністраторСистемиKoha |
|||
sudo tee /etc/apt/sources.list.d/koha.sources <<EOF |
|||
Командою „sudo visudo“ відкриваємо для редагування файл привілеїв адміністратора і надаємо їх користувачу АдміністраторСистемиKoha, додавши у кінці файлу рядок |
|||
Types: deb |
|||
URIs: https://debian.koha-community.org/koha/ |
|||
Suites: 25.05 |
|||
Components: main |
|||
Signed-By: /etc/apt/keyrings/koha.asc |
|||
EOF |
|||
Щоб оновити список джерел пакетів для використання релізу 24.11: |
|||
АдміністраторСистемиKoha ALL=(ALL) ALL |
|||
sudo tee /etc/apt/sources.list.d/koha.sources <<EOF |
|||
Після додавання клавіатурним скороченням Ctrl-O зберігаємо файл (/etc/sudoers) та через Ctrl-X виходимо. |
|||
Types: deb |
|||
--> |
|||
URIs: https://debian.koha-community.org/koha/ |
|||
Suites: 24.11 |
|||
Components: main |
|||
Signed-By: /etc/apt/keyrings/koha.asc |
|||
EOF |
|||
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list. |
|||
<!--== Підключення репозитарію Debian „testing“ та „unstable“ == |
|||
Деякі пакунки (чи оновленні версії) не попали в стабільний випуск Debian, проте можуть бути у випуску „testing“ чи „unstable“. |
|||
Створюємо файл /etc/apt/apt.conf і додаємо наступне |
|||
# Зробити „wheezy“ дистрибутивом за умовчанням |
|||
APT::Default-Release "wheezy"; |
|||
Створюємо файл /etc/apt/preferences і додаємо наступне (щоб у стабільної гілки „wheezy“ був вищий пріоритет) |
|||
Package: * |
|||
Pin: release a=stable |
|||
Pin-Priority: 700 |
|||
Package: * |
|||
Pin: release a=testing |
|||
Pin-Priority: 650 |
|||
Package: * |
|||
Pin: release a=unstable |
|||
Pin-Priority: 600 |
|||
У файл /etc/apt/sources.list додаємо наступне джерело |
|||
# Джерело пакунків з гілки Дебіен „testing“ |
|||
deb http://http.us.debian.org/debian/ testing main contrib non-free. |
|||
deb-src http://http.us.debian.org/debian/ testing main contrib non-free. |
|||
# Джерело пакунків з гілки Дебіен „testing“ — оновлення безпеки |
|||
deb http://security.debian.org/ testing/updates main contrib non-free |
|||
deb-src http://security.debian.org/ testing/updates main contrib non-free |
|||
# Джерело пакунків з гілки Дебіен „unstable“ |
|||
deb http://http.us.debian.org/debian/ unstable main contrib non-free. |
|||
deb-src http://http.us.debian.org/debian/ unstable main contrib non-free. |
|||
Оновлюємо список доступних для встановлення пакунків |
Оновлюємо список доступних для встановлення пакунків |
||
sudo apt |
sudo apt update |
||
--> |
|||
== Підключення репозитарію Koha == |
|||
В репозитарії [http://debian.koha-community.org/ debian.koha-community.org] доступні стабільна та розробницька версії. |
|||
Підключаємо у файлі '''/etc/apt/sources.list''' стабільну версію (рекомендується) |
|||
deb http://debian.koha-community.org/koha stable main |
|||
(доступні й інші версії, див. тут http://debian.koha-community.org/koha/dists/) |
|||
Швидко підключити репозитарій Koha можна командою |
|||
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list |
|||
Також додаємо ключ gpg.asc до довірених ключів APT: |
|||
apt-get install gnupg2 |
|||
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add - |
|||
Оновлюємо список доступних для встановлення пакунків |
|||
sudo apt-get update |
|||
= Встановлення Koha = |
= Встановлення Koha = |
||
== Встановлення пакунків Koha == |
== Встановлення пакунків Koha == |
||
sudo apt-get install koha-common koha-deps koha-perldeps koha-elasticsearch |
sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch |
||
Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here |
Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here |
||
Рядок 180: | Рядок 141: | ||
За винятком першого питання, на всі питання можна відповісти Так (“'''Y'''”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)! |
За винятком першого питання, на всі питання можна відповісти Так (“'''Y'''”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)! |
||
sudo apt-get install |
sudo apt-get install memcached libmemcached-tools |
||
memcached libmemcached-tools |
|||
sudo apt install aptitude |
sudo apt install aptitude |
||
sudo aptitude -t buster-backports install php-twig |
|||
<!-- 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 |
sudo apt install phpmyadmin php libapache2-mod-php |
||
Рядок 192: | Рядок 155: | ||
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin |
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin |
||
Щодо phpmyadmin також див. https://think.unblog.ch/en/phpmyadmin-error-php-7-2-5-is-required/ |
|||
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити |
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити |
||
Рядок 222: | Рядок 187: | ||
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN. |
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN. |
||
Станом на |
Станом на 12.2023 необхідні модулі |
||
* '''HTTPD::Bench::ApacheBench''' (0.73), перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all§ion=all]). |
* '''HTTPD::Bench::ApacheBench''' (0.73), перевірка в Debian: [https://packages.debian.org/search?keywords=libhttpd-bench-apachebench-perl&searchon=names&suite=all§ion=all]). |
||
* '''Test::DBIx::Class''' (0.42), перевірка в Debian: [https://packages.debian.org/search?keywords=libtest-dbix-class-perl&searchon=names&suite=all§ion=all]). |
|||
* '''Text::CSV::Unicode''' (0.40), перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all§ion=all]). |
* '''Text::CSV::Unicode''' (0.40), перевірка в Debian: [https://packages.debian.org/search?keywords=libtext_csv_unicode-perl&searchon=names&suite=all§ion=all]). |
||
* '''Selenium::Remote::Driver''' (1.27), перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all§ion=all]). |
* '''Selenium::Remote::Driver''' (1.27), перевірка в Debian: [https://packages.debian.org/search?keywords=libselenium_remote_driver-perl&searchon=names&suite=all§ion=all]). |
||
* '''Test::MockModule''' |
|||
* '''Locale::XGettext::TT2''' |
|||
<!-- exists in Debian 10: * '''Net::OAuth2::AuthorizationServer''' (0.16), перевірка в Debian: [https://packages.debian.org/search?keywords=libnet_oauth2_authorizationserver-perl&searchon=names&suite=all§ion=all]). --> |
|||
* '''Test::PerlTidy''' |
|||
* Locale::XGettext::TT2 |
|||
Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) : |
Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) : |
||
Рядок 244: | Рядок 206: | ||
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl |
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl |
||
sudo perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore' |
sudo perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore' |
||
sudo perl -MCPAN -e 'install Test::DBIx::Class' |
|||
sudo perl -MCPAN -e 'install Test::Differences' |
|||
— встановився, вивід — |
|||
NEWELLC/Test-DBIx-Class-0.52.tar.gz |
|||
make install -- OK |
|||
sudo perl -MCPAN -e 'install Text::CSV::Unicode' |
sudo perl -MCPAN -e 'install Text::CSV::Unicode' |
||
Рядок 255: | Рядок 215: | ||
RMBARKER/Text-CSV-Unicode-0.400.tar.gz |
RMBARKER/Text-CSV-Unicode-0.400.tar.gz |
||
./Build install -- OK |
./Build install -- OK |
||
sudo perl -MCPAN -e 'install Test::MockModule' |
|||
— встановився |
|||
sudo perl -MCPAN -e 'install Selenium::Remote::Driver' |
sudo perl -MCPAN -e 'install Selenium::Remote::Driver' |
||
Рядок 279: | Рядок 236: | ||
./Build install -- OK--> |
./Build install -- OK--> |
||
sudo perl -MCPAN -e 'install Locale::XGettext::TT2' |
sudo perl -MCPAN -e 'install Locale::XGettext::TT2' |
||
sudo perl -MCPAN -e 'install Test::PerlTidy' |
|||
<!--== Налаштування MySQL ==--> |
<!--== Налаштування MySQL ==--> |
||
Рядок 317: | Рядок 276: | ||
(він задіює модулі Rewrite та Suexec для Apache) |
(він задіює модулі Rewrite та Suexec для Apache) |
||
2) Додатково задіюємо модулі<!--і Expires, |
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 rewrite |
||
sudo a2enmod cgi |
sudo a2enmod cgi |
||
Рядок 438: | Рядок 397: | ||
koha-create [--create-db|--request-db|--populate-db|--use-db] \ |
koha-create [--create-db|--request-db|--populate-db|--use-db] \ |
||
[--marcflavor marc21(default)|normarc|unimarc] \ |
[--marcflavor marc21(default)|normarc|unimarc] \ |
||
[--zebralang cs|en(default)|es|fr |
[--zebralang cs|el|en(default)|es|fr|nb|ru|uk] \ |
||
[--elasticsearch-server localhost:9200(default)] \ |
|||
[--auth-idx dom(default)|grs1] \ |
[--auth-idx dom(default)|grs1] \ |
||
[--biblio-idx dom (default)|grs1] \ |
[--biblio-idx dom (default)|grs1] \ |
||
Рядок 449: | Рядок 409: | ||
[--configfile /path/to/config] \ |
[--configfile /path/to/config] \ |
||
[--passwdfile /path/to/passwd] \ |
[--passwdfile /path/to/passwd] \ |
||
[--dbhost host] \ |
|||
[--database dbname] \ |
[--database dbname] \ |
||
[--adminuser admin_user_id_in_db] \ |
[--adminuser admin_user_id_in_db] \ |
||
[-- |
[--template-cache-dir /var/cache/koha/<instance>/templates(default)] \ |
||
[--timezone time/zone (America/Argentina)] \ |
|||
[--letsencrypt] |
|||
[--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 |
||
Рядок 464: | Рядок 442: | ||
Koha instance is empty, no staff user created. |
Koha instance is empty, no staff user created. |
||
Starting |
Starting Koha worker daemon for ukr_unimarc (default):. |
||
Starting Koha indexing daemon for ukr_unimarc:. |
|||
== Веб-встановлювач == |
== Веб-встановлювач == |
||
Рядок 473: | Рядок 451: | ||
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище. |
Частина локалізованих SQL-таблиць '''українською''' була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище. |
||
Оновлення для українських SQL-таблиць доступні у DrobBox Сергія Дубика за адресою: |
|||
На жаль, невелика частина цієї латки не проходила перевірки і була вилучена. |
|||
Оновлення для українських SQL-таблиць доступні у [https://www.dropbox.com/referrals/NTE4MzAyOTY5?src=global9 DrobBox] Сергія Дубика за адресою: |
|||
'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0' |
'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0' |
||
Тека ''' |
Тека '''SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA''' містить оновлення, які необхідно скопіювати у теку '''uk-UA''' у '''/usr/share/koha/intranet/cgi-bin/installer/data/mysql''' |
||
(Теку /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA не витираємо, лише дописуємо (копіюємо зі заміною) оновлення з DrobBox). |
|||
Виконайте наступну команду |
|||
Примітка: локалізація SQL-таблиць російською '''ru-RU''' доступна лише для версії 3.4.х. |
|||
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. Інакше інсталятор її не побачить. |
|||
=== Утворення локалізованих шаблонів === |
=== Утворення локалізованих шаблонів === |
||
Рядок 503: | Рядок 479: | ||
sudo koha-translate --list --available |
sudo koha-translate --list --available |
||
Встановлюємо переклади для української та російської |
Встановлюємо переклади для української<!-- та російської --> |
||
sudo koha-translate --install uk-UA |
sudo koha-translate --install uk-UA |
||
<!-- sudo koha-translate --install ru-RU --> |
|||
Ця команда також згенерує деякі перекладені дані для Коха (у форматі '''yaml'''-файлів) у теці |
|||
та декілька інших |
|||
/usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA |
|||
разом з раніше скопійованими '''SQL'''-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха). |
|||
Також можете встановити деякі інші мови інтерфейсу |
|||
sudo koha-translate --install pl-PL |
sudo koha-translate --install pl-PL |
||
<!-- sudo koha-translate --install be-BY --> |
|||
sudo koha-translate --install 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 |
koha_ukr_unimarc |
||
Пароль можна переглянути за допомогою: |
Пароль та логін можна переглянути за допомогою: |
||
sudo koha-passwd ukr_unimarc |
sudo koha-passwd ukr_unimarc |
||
Рядок 533: | Рядок 518: | ||
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв |
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв |
||
Крок 3: створення таблиць, вибір МАРК-стандарту '''Unimarc''' (УкрМарк), вибір типових даних (послідовно '''вибираємо усі''' дані, імпорт |
Крок 3: створення таблиць, вибір МАРК-стандарту '''Unimarc''' (УкрМарк), вибір типових даних (послідовно '''вибираємо усі¹²''' '''дані''', імпорт 1-10 хв.). |
||
¹Які типові дані можна вимкнути: |
|||
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin). Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com. |
|||
* Приклади користувачів |
|||
* Приклади бібліотек/підрозділів |
|||
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“. |
|||
Встановлення завершено! |
|||
==== |
==== Процес імпорту даних ==== |
||
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. |
|||
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати |
|||
У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика). |
|||
sudo /etc/init.d/apache2 restart |
|||
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com. |
|||
та перезапустити веб-встановлювач. |
|||
Якщо була така помилка, то скоріш всього sql-дані вставилися в БД частково і веб-встановлювач може видавати помилку на кшталт |
|||
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТИ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh: |
|||
DBIx::Class::Storage::DBI::_dbh_execute(): Duplicate entry '380-55' for key 'PRIMARY' at /usr/share/koha/lib/Koha/SearchField.pm line 38 |
|||
#!/bin/bash |
|||
У такому випадку необхідно |
|||
# MySQL сервер та інформація про підключення |
|||
INSTANCE="ukr_unimarc" |
|||
MYSQL_USER="koha_"$INSTANCE |
|||
MYSQL_PASSWORD="ваш_пароль" |
|||
MYSQL_HOST="localhost" # або інший хост, на якому запущено MySQL |
|||
MYSQL_DB="koha_"$INSTANCE |
|||
# Вибір всіх таблиць в базі даних |
|||
TABLES=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -se "SHOW TABLES") |
|||
# Вимкнення перевірки зовнішніх ключів |
|||
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 0;" |
|||
# Цикл для виконання DELETE для кожної таблиці |
|||
for table in $TABLES |
|||
do |
|||
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "DELETE FROM $table;" |
|||
done |
|||
# Включення перевірки зовнішніх ключів |
|||
mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 1;" |
|||
echo "Всі дані з бази даних $MYSQL_DB були очищені." |
|||
sudo /etc/init.d/koha-common restart |
|||
sudo /etc/init.d/apache2 restart |
|||
sudo /etc/init.d/mariadb restart |
|||
sudo /etc/init.d/memcached restart |
|||
koha-plack --restart $INSTANCE |
|||
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно. |
|||
1 варіант) |
|||
==== Помилка „Gateway Timeout“ ==== |
|||
Очистити БД і наново запустити веб-встановлювач: |
|||
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати |
|||
mysql -u root -p |
|||
DROP DATABASE koha_ukr_unimarc; |
|||
DROP USER 'koha_ukr_unimarc'@'localhost'; |
|||
quit |
|||
sudo /etc/init.d/mysql restart |
|||
sudo /etc/init.d/apache2 restart |
sudo /etc/init.d/apache2 restart |
||
sudo /etc/init.d/memcached restart |
|||
sudo koha-zebra --stop ukr_unimarc |
|||
sudo koha-disable ukr_unimarc |
|||
sudo koha-remove ukr_unimarc |
|||
sudo userdel ukr_unimarc-koha |
|||
sudo groupdel ukr_unimarc-koha |
|||
та перезапустити веб-встановлювач (й попередньо очистити таблиці). |
|||
sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc |
|||
==== Адаптаційний етап ==== |
|||
2 варіант) |
|||
=====Створення бібліотеки/підрозділу===== |
|||
Створюємо свій підрозділ, напр. |
|||
Простіший варіант drop-ання усіх таблиць (згадується тут https://www.cyberciti.biz/faq/how-do-i-empty-mysql-database/) а не цілої БД. Тоді не потрібно перевстановлювати екземпляр Koha. |
|||
Код бібліотеки/підрозділу: AB |
|||
Через phpmyadmin виділити усі таблиці у БД koha_ukr_unimarc, та вибрати „Знищити“ їх (знімаємо галочуку „Enable foreign key checks“). |
|||
Найменування: Абонемент |
|||
=====Створення категорії користувачів===== |
|||
Перед кроками веб-встановлювача перезапускаємо |
|||
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить. |
|||
sudo /etc/init.d/memcached restart |
|||
===== Створення адміністратора Коха===== |
|||
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль. |
|||
===== Створення нового типу одиниць ===== |
|||
оскільки може бути помиока |
|||
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить. |
|||
DBIx::Class::Storage::DBI::catch {...} (): DBI Connection failed: Access denied for user 'koha_ukr_unimarc'@'localhost' (using password: YES) at /usr/share/perl5/DBIx/Class/Storage/DBI.pm line 1520. at /usr/share/koha/lib/Koha/Database.pm line 100 |
|||
(створюється новий пароль для koha_ukr_unimarc і веб-встановлювач може видавати помилку) |
|||
===== Створення нового правила обігу ===== |
|||
Далі знову проходимо кроки веб-встановлювача. |
|||
Наприклад, вибираємо |
|||
Підрозділ бібліотеки: Абонемент |
|||
Категорія користувача: Студент |
|||
Тип одиниці: BOOK |
|||
Поточна дозволена кількість видач: 50 |
|||
Термін випозичання: 14 |
|||
Одиниці: дні |
|||
Продовження (дозволена кількість): 1 |
|||
=====Встановлення завершено!===== |
|||
Вітаємо, Ви закінчили і готові до використання Коха |
|||
== Підтримка кирилиці рушієм пошуку Zebra == |
== Підтримка кирилиці рушієм пошуку Zebra == |
||
Рядок 619: | Рядок 632: | ||
* https://wiki.koha-community.org/wiki/Performance |
* https://wiki.koha-community.org/wiki/Performance |
||
* https://wiki.koha-community.org/wiki/Benchmark_for_16.11 |
* https://wiki.koha-community.org/wiki/Benchmark_for_16.11 |
||
== Створення sitemap == |
|||
koha-sitemap --enable ukr_unimarc |
|||
koha-sitemap --generate ukr_unimarc |
|||
== E-mail == |
== E-mail == |
||
Рядок 625: | Рядок 642: | ||
sudo koha-email-enable ukr_unimarc |
sudo koha-email-enable ukr_unimarc |
||
== Вимкнення оновлення Koha == |
|||
Для більш контрольованого оновлення пакунків Коха можна тимчасово виключити оновлення у /etc/apt/sources.list.d/koha.list |
|||
#deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main |
|||
Це дозволить легко оновлювати інші пакунки Debian |
|||
= Виправлення проблем = |
= Виправлення проблем = |
||
Рядок 657: | Рядок 680: | ||
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]]. |
Оновлення проходить легко для варіанту [[Встановлення Koha з репозитарію на ОС Debian|встановлення Koha з пакунків Debian]]. |
||
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень. |
|||
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коха до найновішої коригувальної версії у гілці 23.05, то у файлі /etc/apt/sources.list.d/koha.list |
|||
має бути наступне |
|||
deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main |
|||
sudo apt-get update |
sudo apt-get update |
||
Рядок 664: | Рядок 694: | ||
Деколи необхідно оновити ключ debian-сховища Koha. |
Деколи необхідно оновити ключ debian-сховища Koha. |
||
wget - |
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg |
||
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок у /etc/apt/sources.list.d/koha.list (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha). |
|||
== Встановлення/оновлення допоміжних perl-модулів == |
== Встановлення/оновлення допоміжних perl-модулів == |
||
Рядок 680: | Рядок 712: | ||
sudo apt-get install знайдений_пакунок |
sudo apt-get install знайдений_пакунок |
||
Напр. |
|||
sudo apt-get install libhttp-tiny-perl |
|||
=== Пакунки з CPAN === |
=== Пакунки з CPAN === |
||
Рядок 705: | Рядок 740: | ||
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами |
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. '''Попередньо''' необхідно зупинити та вилучити усі екземпляри АБІС Koha командами |
||
sudo /etc/init.d/ |
sudo /etc/init.d/mariadb restart |
||
sudo /etc/init.d/apache2 restart |
sudo /etc/init.d/apache2 restart |
||
sudo koha-zebra --stop ukr_unimarc |
sudo koha-zebra --stop ukr_unimarc |
||
Рядок 712: | Рядок 747: | ||
sudo koha-disable ukr_unimarc |
sudo koha-disable ukr_unimarc |
||
sudo koha-remove ukr_unimarc |
sudo koha-remove ukr_unimarc |
||
sudo userdel ukr_unimarc-koha |
sudo /sbin/userdel ukr_unimarc-koha |
||
sudo groupdel ukr_unimarc-koha |
sudo /sbin/groupdel ukr_unimarc-koha |
||
sudo /etc/init.d/memcached restart |
sudo /etc/init.d/memcached restart |
||
Рядок 728: | Рядок 763: | ||
Перевірте також теки: |
Перевірте також теки: |
||
/var/spool/koha |
/var/spool/koha |
||
/var/log/koha |
|||
/var/lib/koha |
/var/lib/koha |
||
/var/cache/koha |
|||
/usr/share/koha |
/usr/share/koha |
||
/etc/koha |
/etc/koha |
||
Можна очистити вміст цих тек щодо |
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc |
||
rm -rf /var/spool/koha/ukr_unimarc |
rm -rf /var/spool/koha/ukr_unimarc |
||
rm -rf /var/ |
rm -rf /var/log/koha/ukr_unimarc |
||
rm -rf /var/lib/koha/ukr_unimarc |
|||
rm -rf /var/cache/koha/ukr_unimarc |
|||
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha |
|||
rm -rf /usr/share/koha |
rm -rf /usr/share/koha |
||
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли. |
|||
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо |
|||
rm -rf /etc/koha/sites/ukr_unimarc |
|||
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/ |
|||
rm -rf /etc/koha |
|||
Вилучення налаштувань для веб-сервера Apache2 |
|||
rm /etc/apache2/sites-enabled/ukr_unimarc.conf |
|||
rm /etc/apache2/sites-available/ukr_unimarc.conf |
|||
Якщо після видалення планується перевстановлення Коха, то ще потрібно |
|||
sudo /etc/init.d/memcached restart |
|||
= Налаштування = |
= Налаштування = |
Версія за 17:08, 12 червня 2025
Розглядається встановлення АБІС Koha версії 23.11-25.05 з репозитарію debian.koha-community.org.
На даний час це найбільш протестований і розповсюджений варіант.
Окрім цього ще є варіант встановлення АБІС Koha з джерельних кодів, що є дещо більш гнучким щодо налаштування, але і складнішим.
Див. також
- Koha_on_Debian на Koha Wiki
- Koha & Debian на Koha Wiki
- Category:Installation на Koha Wiki
- Koha on ubuntu - packages на Koha Wiki
Встановлення ОС Debian GNU/Linux 12 bookworm
Див. також:
- https://d-i.debian.org/manual/uk.amd64/index.html Debian GNU/Linux гайд інсталяції
Перевірка поточної версії Debian:
lsb_release -d
Щодо сумісності Коха з іншими версіями ОС див.
- Системні вимоги та рекомендації (англ.)
Підключення гілок non-free та contrib для пакунків Дебіен
Перевіряємо у /etc/apt/sources.list чи підключені гілки non-free та contrib
sudo mc -e /etc/apt/sources.list
deb http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware deb-src http://deb.debian.org/debian/ bookworm contrib main non-free non-free-firmware deb http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware deb-src http://deb.debian.org/debian/ bookworm-updates contrib main non-free non-free-firmware deb http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware deb-src http://deb.debian.org/debian/ bookworm-proposed-updates contrib main non-free non-free-firmware deb http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware deb-src http://deb.debian.org/debian/ bookworm-backports contrib main non-free non-free-firmware deb http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware deb-src http://deb.debian.org/debian-security/ bookworm-security contrib main non-free non-free-firmware sudo apt-get update sudo apt-get upgrade
Попередні налаштування
Локаль з UTF-8
Перевірка локалі:
sudo locale
у виводі повинно бути магічне „UTF-8“ (en.UTF-8 тощо), наприклад для України
LANG=uk_UA.UTF-8 LANGUAGE= LC_CTYPE="uk_UA.UTF-8" LC_NUMERIC="uk_UA.UTF-8" LC_TIME="uk_UA.UTF-8" LC_COLLATE="uk_UA.UTF-8" LC_MONETARY="uk_UA.UTF-8" LC_MESSAGES="uk_UA.UTF-8" LC_PAPER="uk_UA.UTF-8" LC_NAME="uk_UA.UTF-8" LC_ADDRESS="uk_UA.UTF-8" LC_TELEPHONE="uk_UA.UTF-8" LC_MEASUREMENT="uk_UA.UTF-8" LC_IDENTIFICATION="uk_UA.UTF-8"
Якщо UTF-8 не згадується, то встановлюємо локаль
apt install locales locales-all sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"
Підключення репозитарію Koha
В репозитарії debian.koha-community.org доступні стабільні версії, які виходять 2 рази на рік і підтримуються 24-42 місяці (https://wiki.koha-community.org/wiki/Koha_Versioning).
Налаштування ключів:
sudo apt update sudo apt install sudo apt-transport-https ca-certificates curl gnupg2 sudo mkdir -p --mode=0755 /etc/apt/keyrings sudo curl -fsSL https://debian.koha-community.org/koha/gpg.asc -o /etc/apt/keyrings/koha.asc
Якщо ви дотримуєтесь певного номера версії Koha, ви залишаєтесь на цій версії Koha, доки не буде змінено вихідні коди пакунків. Це рекомендується для виробничих середовищ, щоб "випадково" не оновитися до нового великого випуску.
Коли ви запускаєте оновлення, ви оновлюєтесь лише до останнього випуску технічного обслуговування для обраної версії.
Поточні номери версій Koha та їхні кодові назви:
- 25.05 (stable) — поточний стабільний реліз і наступна версія з довготривалою підтримкою (LTS)
- 24.11 (LTS) (oldstable) — на один реліз позаду від поточного стабільного
- 24.05 (oldoldstable) — на два релізи позаду від поточного стабільного
- 23.11 (oldoldoldstable) — версія з довготривалою підтримкою, підтримується приблизно 3 з половиною роки
Щоб оновити список джерел пакетів для використання релізу 25.05:
sudo tee /etc/apt/sources.list.d/koha.sources <<EOF Types: deb URIs: https://debian.koha-community.org/koha/ Suites: 25.05 Components: main Signed-By: /etc/apt/keyrings/koha.asc EOF
Щоб оновити список джерел пакетів для використання релізу 24.11:
sudo tee /etc/apt/sources.list.d/koha.sources <<EOF Types: deb URIs: https://debian.koha-community.org/koha/ Suites: 24.11 Components: main Signed-By: /etc/apt/keyrings/koha.asc EOF
Примітка: якщо ви раніше використовували старий формат списку джерел APT, видаліть файл /etc/apt/sources.list.d/koha.list.
Оновлюємо список доступних для встановлення пакунків
sudo apt update
Встановлення Koha
Встановлення пакунків Koha
sudo apt-get install koha-common koha-deps koha-perldeps koha-l10n koha-elasticsearch
Може бути помилка з конфігурацією пакунка libapache2-mpm-itk, див. рішення тут https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=734865 та https://wiki.koha-community.org/wiki/Koha_on_Debian#Aside:_a_common_problem_on_Ubuntu_happens_here
Якщо далі щось піде не так, читаємо стандартну інструкцію про налаштування
less /usr/share/doc/koha-common/README.Debian
(у нових версіях можуть бути зміни)
Встановлення БД MySQL та допоміжних пакунків
sudo apt-get install mariadb-server
sudo mysql_secure_installation
За винятком першого питання, на всі питання можна відповісти Так (“Y”). Необхідно встановити root пароль (надалі „ПарольАдмінаMySQL“)!
sudo apt-get install memcached libmemcached-tools
sudo apt install aptitude
sudo apt install php-twig
sudo apt install phpmyadmin php libapache2-mod-php
- для „phpmyadmin“ вибрати (пробілом позначити зірочкою) лише „apache2“
- configure database for phpmyadmin with dbconfig-common? — так та встановити пароль застосунку
Типово phpmyadmin доступний за адресою http://localhost/phpmyadmin
Щодо phpmyadmin також див. https://think.unblog.ch/en/phpmyadmin-error-php-7-2-5-is-required/
Якщо потрібен доступ до phpmyadmin на іншому порті, то у файлі /etc/phpmyadmin/phpmyadmin.service змінити
... <port>8888</port> ...
та додати цей порт у файл /etc/apache2/ports.conf
Listen 8888
Перезапуск Apache
sudo /etc/init.d/apache2 restart
По умовчанню вхід через phphmyadmin для root закрито. За потреби можна створити іншого користувача
mysql -u root -p CREATE USER 'sysadmin'@'localhost' IDENTIFIED BY 'парольдляsysadmin';
та надати йому привілеї на усі БД:
GRANT ALL PRIVILEGES ON *.* TO 'sysadmin'@'localhost' WITH GRANT OPTION; exit sudo /etc/init.d/mysql restart
Пакунки з CPAN
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.
Станом на 12.2023 необхідні модулі
- HTTPD::Bench::ApacheBench (0.73), перевірка в Debian: [1]).
- Text::CSV::Unicode (0.40), перевірка в Debian: [2]).
- Selenium::Remote::Driver (1.27), перевірка в Debian: [3]).
- Locale::XGettext::TT2
- Test::PerlTidy
Встановлюємо командами (при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет) :
sudo apt-get install make
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
— встановився, вивід —
ADIRAJ/ApacheBench-0.73.tar.gz make install -- OK
sudo apt-get install libgdbm-dev apache2-dev libdatetimex-easy-perl
sudo perl -MCPAN -e 'DBIx::Class::Schema::PopulateMore'
sudo perl -MCPAN -e 'install Test::Differences'
sudo perl -MCPAN -e 'install Text::CSV::Unicode'
— встановився, вивід —
RMBARKER/Text-CSV-Unicode-0.400.tar.gz ./Build install -- OK
sudo perl -MCPAN -e 'install Selenium::Remote::Driver'
— встановився, вивід —
TEODESIAN/Selenium-Remote-Driver-1.32.tar.gz /usr/bin/make install -- OK
sudo perl -MCPAN -e 'install Locale::XGettext::TT2'
sudo perl -MCPAN -e 'install Test::PerlTidy'
Налаштування Apache та сценарій „koha-post-install-setup“
1) Виконуємо сценарій
sudo koha-post-install-setup
(він задіює модулі Rewrite та Suexec для Apache)
2) Додатково задіюємо модулі Deflate, Cgi, headers, proxy_http
sudo a2enmod deflate sudo a2enmod rewrite sudo a2enmod cgi sudo a2enmod headers proxy_http
3) Редагуємо /etc/apache2/conf-available/charset.conf
AddCharset UTF-8 .utf8 AddDefaultCharset UTF-8
та задіюємо його
sudo a2enconf charset
4) Перезапуск Apache
sudo /etc/init.d/apache2 restart
Створення екземпляра АБІС Koha
Варіанти налаштування АБІС Koha з доменами та портами
Варіант з портами 8080 та 8888 (тестовий)
Цей варіант зручно використовувати на початковому етапі, коли домен (порт 80) зайнято під інший сайт/сервіс.
koha-ukr-unimarc-site.conf
Створюємо файл
sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf
наступного змісту
DOMAIN="localhost" # Change this to be your domain. Any instance will be a subdomain of this string. OPACPORT="8080" # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used) OPACPREFIX="" # For users' interface URL: Prefix to be added to the instance name. OPACSUFFIX="" # For users' interface URL: Suffix to be added to the instance name. INTRAPORT="8888" # TCP listening port for the administration interface INTRAPREFIX="" # For administration interface URL: Prefix to be added to the instance name. INTRASUFFIX="" # For administration interface URL: Suffix to be added to the instance name. ZEBRA_MARC_FORMAT="unimarc" # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'. ZEBRA_LANGUAGE="uk" # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'. DEFAULTSQL="" # a value is generally not needed. BIBLIOS_INDEXING_MODE="dom" # Set the indexing mode for bibliographic records. Valid values are dom (default) and grs1. AUTHORITIES_INDEXING_MODE="dom" # Set the indexing mode for authority records. Valid values are dom (default) and grs1. USE_MEMCACHED="yes" # Set the instance to make use of memcache. MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers. MEMCACHED_PREFIX="koha_" # Set the desired prefix for the instance memcached namespace. ENABLE_SRU="yes" # Enable the Z39.50/SRU server (default: disabled). SRU_SERVER_PORT="7090" # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
ports.conf
Додаємо
Listen 8080 Listen 8888
у файл /etc/apache2/ports.conf
Також перезапускаємо Apache
sudo /etc/init.d/apache2 restart
Варіант з портами 80 та 8080
Цей варіант зручно використовувати, коли під АБІС Koha відведено окремий домен/сервер.
koha-ukr-unimarc-site.conf
/змінюється/ Створюємо файл
sudo mc -e /etc/koha/koha-ukr-unimarc-site.conf
наступного змісту
DOMAIN="localhost" # Change this to be your domain. Any instance will be a subdomain of this string. OPACPORT="80" # TCP listening port for the users' interface (if you skip this, the apache default of 80 will be used) OPACPREFIX="" # For users' interface URL: Prefix to be added to the instance name. OPACSUFFIX="" # For users' interface URL: Suffix to be added to the instance name. INTRAPORT="8080" # TCP listening port for the administration interface INTRAPREFIX="" # For administration interface URL: Prefix to be added to the instance name. INTRASUFFIX="" # For administration interface URL: Suffix to be added to the instance name. ZEBRA_MARC_FORMAT="unimarc" # Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'. ZEBRA_LANGUAGE="uk" # Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'. DEFAULTSQL="" # a value is generally not needed. BIBLIOS_INDEXING_MODE="dom" # Set the indexing mode for bibliographic records. Valid values are dom (default) and grs1. AUTHORITIES_INDEXING_MODE="dom" # Set the indexing mode for authority records. Valid values are dom (default) and grs1. USE_MEMCACHED="yes" # Set the instance to make use of memcache. MEMCACHED_SERVERS="127.0.0.1:11211" # Set a comma-separated list of host:port memcached servers. MEMCACHED_PREFIX="koha_" # Set the desired prefix for the instance memcached namespace. ENABLE_SRU="yes" # Enable the Z39.50/SRU server (default: disabled). SRU_SERVER_PORT="7090" # Specifiy a TCP port number for the Z39.50/SRU server to listen on. (default: 7090).
ports.conf
Додаємо
Listen 8080 Listen 8008
у файл /etc/apache2/ports.conf
Порт 8008 додано для того щоб переспрямувати типовий віртуальний хост сервера Apache з порта 80 на порт 8008. Для цього редагуємо типовий файл /etc/apache2/sites-enabled/000-default.conf і змінюємо наступний рядок
<VirtualHost *:8008>
Також перезапускаємо Apache
sudo /etc/init.d/apache2 restart
Варіант з доменами
Цей варіант для випадку, коли є можливість попередньо налаштувати для АБІС Koha 2 домени на кшталт
opac.librarydomain.ua staff.librarydomain.ua
Щодо налаштування див. тут https://wiki.koha-community.org/wiki/How_to_set_up_a_domain_name_for_Koha
Команда „koha-create“
Синтаксис команди для створення екземплярів АБІС Koha — на вікі та більш актуальний у коді на Git, а також через вбудовану довідку „koha-create --help“:
koha-create [--create-db|--request-db|--populate-db|--use-db] \ [--marcflavor marc21(default)|normarc|unimarc] \ [--zebralang cs|el|en(default)|es|fr|nb|ru|uk] \ [--elasticsearch-server localhost:9200(default)] \ [--auth-idx dom(default)|grs1] \ [--biblio-idx dom (default)|grs1] \ [--use-memcached] \ [--memcached-servers 127.0.0.1:11211,host2:port2,...] \ [--memcached-prefix KOHA|koha_|...] \ [--enable-sru] \ [--sru-port 7090(default)|9998] \ [--defaultsql /path/to/some.sql] \ [--configfile /path/to/config] \ [--passwdfile /path/to/passwd] \ [--dbhost host] \ [--database dbname] \ [--adminuser admin_user_id_in_db] \ [--template-cache-dir /var/cache/koha/<instance>/templates(default)] \ [--timezone time/zone (America/Argentina)] \ [--upload-path /var/lib/koha/<instancename>/uploads(default)|...] \ [--tmp-path dir /var/lib/koha/<instance>/tmp(default)] \ [--letsencrypt] \ [--smtp-host host] \ [--smtp-port NN] \ [--smtp-timeout NN] \ [--smtp-ssl-mode mode [disabled(default)|ssl|starttls] \ [--smtp-user-name user] \ [--smtp-password pass] \ [--smtp-debug] \ [--mb-host localhost)default)] \ [--mb-port NN default: 61613] \ [--mb-user guest(default)] \ [--mb-pass guest(default)] \ [--mb-vhost koha_<instance>(default)] \ [--keep-cookie NAME] \ [--help,-h] \ instancename
Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [4], [5]). Екземпляр з назвою більшої довжини буде непрацездатним.
Створення екземпляра АБІС Koha (українська, Unimarc)
sudo koha-create --create-db --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc
Вивід:
Koha instance is empty, no staff user created. Starting Koha worker daemon for ukr_unimarc (default):. Starting Koha indexing daemon for ukr_unimarc:.
Веб-встановлювач
Актуальні українські sql-файли
Частина локалізованих SQL-таблиць українською була долучена латкою https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=18537 у 2017 р. для версії Koha 17.05.05 та вище.
Оновлення для українських SQL-таблиць доступні у DrobBox Сергія Дубика за адресою:
'https://www.dropbox.com/sh/nybt54x8yhh7frq/AACfsG32sJnBgNh1CdivXDjYa?dl=0'
Тека SQL_Koha_25_05_0X_adds/uk-UA_additional/uk-UA містить оновлення, які необхідно скопіювати у теку uk-UA у /usr/share/koha/intranet/cgi-bin/installer/data/mysql
Виконайте наступну команду
sudo find /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA -type d -exec chmod ugo+x {} \;
щоб надати привілеї теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. Інакше інсталятор її не побачить.
Утворення локалізованих шаблонів
Спочатку дивимося перелік доступних мов
sudo koha-translate --list --available
Встановлюємо переклади для української
sudo koha-translate --install uk-UA
Ця команда також згенерує деякі перекладені дані для Коха (у форматі yaml-файлів) у теці
/usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA
разом з раніше скопійованими SQL-файлами. Примітка: sudo koha-translate --update uk-UA також генерує yaml-файли (потрібно при встановленні екземплярів Коха).
Також можете встановити деякі інші мови інтерфейсу
sudo koha-translate --install pl-PL sudo koha-translate --install de-DE sudo koha-translate --install fr-FR sudo koha-translate --install it-IT sudo koha-translate --install cs-CZ sudo koha-translate --install bg-Cyrl …
Кроки веб-встановлювача
Типовий логін для екземляра напр. „ukr_unimarc“ буде:
koha_ukr_unimarc
Пароль та логін можна переглянути за допомогою:
sudo koha-passwd ukr_unimarc
або логін і пароль зберігаються у файлі /etc/koha/sites/ukr_unimarc/koha-conf.xml, у розділі config знаходимо користувача (user) та пароль (pass). Також побачити логін та пароль можна через команди
sudo xmlstarlet sel -t -v 'yazgfs/config/user' /etc/koha/sites/ukr_unimarc/koha-conf.xml sudo xmlstarlet sel -t -v 'yazgfs/config/pass' /etc/koha/sites/ukr_unimarc/koha-conf.xml
У веб-оглядачі переходимо за адресою http://localhost:8080/?language=uk-UA (чи http://localhost:8888/?language=uk-UA). Бачимо запит на авторизацію від веб-встановлювача.
Крок 1: мова uk-UA, перевірка залежностей
Крок 2: налаштування бази даних, перевірка з’єднання, існування БД та привілеїв
Крок 3: створення таблиць, вибір МАРК-стандарту Unimarc (УкрМарк), вибір типових даних (послідовно вибираємо усі¹² дані, імпорт 1-10 хв.).
¹Які типові дані можна вимкнути:
- Приклади користувачів
- Приклади бібліотек/підрозділів
²Також варто вимкнути типову структуру unimarc_sample_fastadd_framework (вона конфліктує з unimarc_sample_fastadd_framework_FA_UKR) у блоці „Факультативне“.
Процес імпорту даних
Для імпорту даних Koha використовуватиме дані з теки /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA. У цій теці будуть як дані, згенеровані самою Коха (у форматі yml-файлів) так і дані sql-скриптів (з набору Сергія Дубика).
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin) або очищуємо таблиці і перезапускаємо веб-встановлювач. Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.
Для очищення таблиць (ОБЕРЕЖНО - БУДУТЬ ВИТЕРТИ УСІ ДАНІ з БД koha_ukr_unimarc) та перезапуску веб-встановлювача можна використати наступний bash-скрипт delete_all_data_in_db_koha_ukr_unimarc.sh:
#!/bin/bash # MySQL сервер та інформація про підключення INSTANCE="ukr_unimarc" MYSQL_USER="koha_"$INSTANCE MYSQL_PASSWORD="ваш_пароль" MYSQL_HOST="localhost" # або інший хост, на якому запущено MySQL MYSQL_DB="koha_"$INSTANCE # Вибір всіх таблиць в базі даних TABLES=$(mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -se "SHOW TABLES") # Вимкнення перевірки зовнішніх ключів mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 0;" # Цикл для виконання DELETE для кожної таблиці for table in $TABLES do mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "DELETE FROM $table;" done # Включення перевірки зовнішніх ключів mysql -u"$MYSQL_USER" -p"$MYSQL_PASSWORD" -h "$MYSQL_HOST" "$MYSQL_DB" -e "SET FOREIGN_KEY_CHECKS = 1;" echo "Всі дані з бази даних $MYSQL_DB були очищені." sudo /etc/init.d/koha-common restart sudo /etc/init.d/apache2 restart sudo /etc/init.d/mariadb restart sudo /etc/init.d/memcached restart koha-plack --restart $INSTANCE
Інколи, для кращого очищення, цей скрипт потрібно запускати повторно.
Помилка „Gateway Timeout“
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200), виконати
sudo /etc/init.d/apache2 restart
та перезапустити веб-встановлювач (й попередньо очистити таблиці).
Адаптаційний етап
Створення бібліотеки/підрозділу
Створюємо свій підрозділ, напр.
Код бібліотеки/підрозділу: AB Найменування: Абонемент
Створення категорії користувачів
Якщо у sql-даних були вибрані типові категорії користувачів, то цей крок Коха пропустить.
Створення адміністратора Коха
Вводимо дані адміністратора Коха - прізвище, ім’я, номер читацького квитка, бібліотека / підрозділ, категорію користувача, логін, пароль.
Створення нового типу одиниць
Якщо у sql-даних були вибрані приклади типів одиниць, то цей крок Коха пропустить.
Створення нового правила обігу
Наприклад, вибираємо
Підрозділ бібліотеки: Абонемент Категорія користувача: Студент Тип одиниці: BOOK Поточна дозволена кількість видач: 50 Термін випозичання: 14 Одиниці: дні Продовження (дозволена кількість): 1
Встановлення завершено!
Вітаємо, Ви закінчили і готові до використання Коха
Підтримка кирилиці рушієм пошуку Zebra
Необхідно додати кириличні символи до файлу
/etc/koha/zebradb/etc/word-phrase-utf.chr
а саме виправити на наступне:
lowercase {0-9}{a-z}αβγδεζηθικλμνξοπρστυφχψωæäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’ uppercase {0-9}{A-Z}ΑΒΓΔΕΖΗΘΙΚΛΜΝΞΟΠΡΣΤΥΦΧΨΩÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’ space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}
Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.
Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу /etc/koha/zebradb/lang_defs/en/sort-string-utf.chr (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).
При оновленнях пакунка „koha-common“ також потрібно вносити ці зміни.
Запуск служби Zebra
sudo koha-zebra --start ukr_unimarc
- 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
By default, email is turned off. This is to let you get everything set up before you risk sending unwanted notices to people. To turn email on:
sudo koha-email-enable ukr_unimarc
Вимкнення оновлення Koha
Для більш контрольованого оновлення пакунків Коха можна тимчасово виключити оновлення у /etc/apt/sources.list.d/koha.list
#deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main
Це дозволить легко оновлювати інші пакунки Debian
Виправлення проблем
Деколи стає відомо про проблему у поточній версії Koha. Зазвичай виправлення з’являється в наступній версії. Це у випадку, якщо про проблему повідомлено на баґгтрекар Koha і знайдено й прийнято її вирішення (латка) до виходу наступної версії. Тут згадуватимуться проблеми й їх вирішення для поточних версій Koha.
Див. також: Виправлення та вдосконалення для АБІС Koha, зроблені українською спільнотою АБІС Koha.
Оновлення Koha
Нова версія Koha виходить кожні шість місяців з набором нових функцій. Також кожен місяць виходять коригувальні оновлення.
Оновлення проходить легко для варіанту встановлення Koha з пакунків Debian.
Більш стабільними є версії Коха, що пройшли декілька коригувальних оновлень.
Можна оновлювати Коху до версії з певної стабільної гілки. Напр., якщо потрібно оновити Коха до найновішої коригувальної версії у гілці 23.05, то у файлі /etc/apt/sources.list.d/koha.list має бути наступне
deb [signed-by=/usr/share/keyrings/koha-keyring.gpg] http://debian.koha-community.org/koha 23.05 main
sudo apt-get update sudo apt-get upgrade sudo apt-get install koha-common
Деколи необхідно оновити ключ debian-сховища Koha.
wget -qO - https://debian.koha-community.org/koha/gpg.asc | gpg --dearmor -o /usr/share/keyrings/koha-keyring.gpg
Для більшого контролю над наступними оновленнями Коха можна закоментувати рядок у /etc/apt/sources.list.d/koha.list (і розкоментовувати чи змінювати при ручному оновленні АБІС Koha).
Встановлення/оновлення допоміжних perl-модулів
Після оновлення, перевіряємо в бібліотечному інтерфейсі сторінку „Домівка > Про АБІС Koha > Модулі Perl“.
Ви можете побачити відсутні модулі Perl, виділені різними кольорами,
Пакунки з репозитарію Debian
Деякі згадувані тут пакунки могли бути відсутні у репозиторії Debian на момент підготовки пакунки з Koha. Пробуємо знайти відсутні пакунки через пошук https://www.debian.org/distrib/packages#search_packages
Знайдені пакунки довстановлюємо
sudo apt-get install знайдений_пакунок
Напр.
sudo apt-get install libhttp-tiny-perl
Пакунки з CPAN
Perl-пакунки, наразі не пакетизовані й відсутні у репозитарії Debian, встановлюємо напряму з репозитарію perl-пакунків CPAN.
Наприклад, при оновлення до 16.11:
(perl-пакунок „Test::DBIx::Class“ також вимагав встановлення debian-пакунка „apache2-dev“)
sudo cpan install Test::DBIx::Class install Readonly::XS install HTTPD::Bench::ApacheBench
Оновлення локалізації
sudo koha-translate --update uk-UA
та, за потреби, інших мов (ru-RU, pl-PL, be-BY)
Однак, при оновленні пакунків Koha локалізація оновлюється автоматично для усіх вибраних мов.
Вилучення Koha
Вилучення пакунка „koha-common“ не приводить до автоматичного вилучення екземплярів АБІС Koha. Попередньо необхідно зупинити та вилучити усі екземпляри АБІС Koha командами
sudo /etc/init.d/mariadb restart sudo /etc/init.d/apache2 restart sudo koha-zebra --stop ukr_unimarc sudo koha-indexer --stop ukr_unimarc sudo koha-plack --stop ukr_unimarc sudo koha-disable ukr_unimarc sudo koha-remove ukr_unimarc sudo /sbin/userdel ukr_unimarc-koha sudo /sbin/groupdel ukr_unimarc-koha sudo /etc/init.d/memcached restart
Інколи виникає помилка userdel: user ukr_unimarc-koha is currently used by process 4793 /usr/sbin/deluser: `/usr/sbin/userdel ukr_unimarc-koha' returned error code 8. Див. https://bugs.koha-community.org/bugzilla3/show_bug.cgi?id=4880.
Перегляд переліку наявних екземплярів
sudo koha-list
Остаточне вилучення пакунків Koha
sudo apt-get purge koha-common koha-deps koha-perldeps koha-elasticsearch
Перевірте також теки:
/var/spool/koha /var/log/koha /var/lib/koha /var/cache/koha /usr/share/koha /etc/koha
Можна очистити вміст цих тек щодо екземпляру ukr_unimarc
rm -rf /var/spool/koha/ukr_unimarc rm -rf /var/log/koha/ukr_unimarc rm -rf /var/lib/koha/ukr_unimarc rm -rf /var/cache/koha/ukr_unimarc
У випадку якщо це був останній екземпляр та Вам не потрібна тека /usr/share/koha, то вилучайте й повністю теку /usr/share/koha
rm -rf /usr/share/koha
Примітка: Теку /usr/share/koha мала вилучити команда „apt-get purge koha-common“, однак там могли залишитися файли перекладів чи інші ваші зміни чи долучені файли.
У теці /etc/koha команда „apt-get purge koha-common“ також вилучила більшість файлів. Залишилася тека /etc/koha/sites/ukr_unimarc, її вилучаємо
rm -rf /etc/koha/sites/ukr_unimarc
Також там могли зберегтися конфіг налаштування екземпляра (/etc/koha/koha-ukr-unimarc-site.conf) та інші ваші зміни. Якщо нічого з цього не потрібно, то вилучаємо теку /etc/koha/
rm -rf /etc/koha
Вилучення налаштувань для веб-сервера Apache2
rm /etc/apache2/sites-enabled/ukr_unimarc.conf rm /etc/apache2/sites-available/ukr_unimarc.conf
Якщо після видалення планується перевстановлення Коха, то ще потрібно
sudo /etc/init.d/memcached restart
Налаштування
Щодо додаткових налаштувань та адаптацій див. тут: Налаштування Koha, встановленої з джерела.