Встановлення Koha з репозитарію на ОС Debian
Розглядається встановлення АБІС Koha версії 17.05.x з репозитарію 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 9 Stretch
Детальніше: Встановлення ОС Debian Linux.
Швидкий варіант для нетерплячих
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 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
Попередні налаштування
Локаль з UTF-8
Перевірка локалі:
sudo locale
у виводі повинно бути магічне „UTF-8“ (en.UTF-8,ru_RU.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 не згадується, то встановлюємо локаль
sudo /usr/sbin/update-locale LANG=uk_UA.UTF-8 LANGUAGE="uk_UA:uk"
Підкючення гілок non-free та contrib для пакунків Дебіен
Перевіряємо у /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 sudo apt-get update sudo apt-get upgrade
Підключення репозитарію Koha
В репозитарії 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:
wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
Оновлюємо список доступних для встановлення пакунків
sudo apt-get update
Встановлення Koha
Встановлення пакунків Koha
sudo apt-get install koha-common koha-deps koha-perldeps 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 \ mysql-server \ phpmyadmin \ memcached libmemcached-tools
- при встановленні сервера MySQL вказуємо пароль адміністратора (користувач „root“), надалі „ПарольАдмінаMySQL“
- для „phpmyadmin“ вибрати (позначити зірочкою) лише „apache2“
- при встановленні „phpmyadmin“ нагадати системі пароль адміна MySQL а також встановити пароль застосунку
У файлі /etc/phpmyadmin/phpmyadmin.service змінити порт
... <port>8888</port> ...
та додати цей порт у файл /etc/apache2/ports.conf
Listen 8888
Перезапуск Apache
sudo /etc/init.d/apache2 restart
Пакунки з CPAN
Пакунки, яких немає у репозитаріях Debian чи Koha, встановлюємо з CPAN.
Станом на 20.07.2017 необхідні модулі
- Readonly::XS (0.01), перевірка в Debian: [1]).
- HTTPD::Bench::ApacheBench (0.73), перевірка в Debian: [2]).
- Test::DBIx::Class (0.42), перевірка в Debian: [3]).
- WebService::ILS (0.07), перевірка в Debian: [4]).
Встановлюємо командами
sudo aptitude install libgdbm-dev apache2-dev
sudo perl -MCPAN -e 'install Readonly::XS'
— встановлено, вивід —
Readonly::XS is up to date (1.05).
Чомусь є ще зауваження про пакунок Readonly::XS, хоча він і повинен бути встановлений командою вище (?).
sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
— встановився, вивід —
ADIRAJ/ApacheBench-0.73.tar.gz make install -- OK
sudo perl -MCPAN -e 'install Test::DBIx::Class'
— встановився, вивід —
NEWELLC/Test-DBIx-Class-0.52.tar.gz make install -- OK
sudo perl -MCPAN -e 'install WebService::ILS'
— встановився, вивід —
SRDJAN/WebService-ILS-0.14.tar.gz ./Build install -- OK
(при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет)
Налаштування MySQL
2) Для підтримки UTF-8 у MySQL у файлі /etc/mysql/my.cnf (в кінці) має бути наступне
[mysqld] init-connect='SET NAMES utf8, collation_connection=utf8_unicode_ci' character-set-server=utf8 collation-server=utf8_unicode_ci character_set_client=utf8 skip-character-set-client-handshake
3) Перезапускаємо сервер MySQL
sudo /etc/init.d/mysql restart
4) Переконуємося, що зміни внесені, виконавши
sudo mysql -uroot -pПарольАдмінаMySQL show variables; quit
Налаштування Apache та сценарій „koha-post-install-setup“
1) Виконуємо сценарій
sudo koha-post-install-setup
(він задіює модулі Rewrite та Suexec для Apache)
2) Додатково задіюємо модулі Cgi, headers, proxy_http
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|en(default)|es|fr|gr|nb|ru|uk] \ [--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] \ [--database dbname] \ [--adminuser admin_user_id_in_db] \ [--upload-path /var/lib/koha/<instancename>/uploads(default)|...] [--letsencrypt] instancename
Зауваження: довжина екземпляра Коха („instancename“) наразі обмежена 11 символами (див. [5], [6]). Екземпляр з назвою більшої довжини буде непрацездатним.
Створення екземпляра АБІС 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 Zebra server for ukr_unimarc [ ok ] 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_17_05.01/uk-UA_SQL_Koha_17_05.01.zip теку uk-UA у /usr/share/koha/intranet/cgi-bin/installer/data/mysql (теку /usr/share/koha/intranet/cgi-bin/installer/data/mysql/uk-UA, що йде з встановлювачем попередньо вилучаємо).
Однак зараз рекомендується використовувати українські SQL-таблиць, що йдуть з інсталятором, а вилучені зміни додавати пізніше після встановлення.
Що потрібно додати пізніше (з SQL_Koha_17_05.01/uk-UA_SQL_Koha_17_05.01.zip):
- unimarc_bibliographic_DEFAULT_local.sql
- unimarc_system_preferences.sql
... ще щось (додаватиметься тут і формуватиметься як нова латка)
Примітка: локалізація SQL-таблиць російською ru-RU доступна лише для версії 3.4.х.
Утворення локалізованих шаблонів
Спочатку дивимося перелік доступних мов
sudo koha-translate --list --available
Встановлюємо переклади для української та російської
sudo koha-translate --install uk-UA sudo koha-translate --install ru-RU
та декілька інших
sudo koha-translate --install pl-PL sudo koha-translate --install be-BY …
Кроки веб-встановлювача
У файлі /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 (УкрМарк), вибір типових даних (послідовно вибираємо усі дані).
На 3 кроці слідкуємо за помилками при імпорті типових даних. Якщо є помилки — знаходимо відповідні sql-файли, виправляємо їх та імпортуємо вручну (напр., через phpmyadmin). Також повідомляйте про sql-помилки Сергія Дубика, serhijdubykЖАБКАgmail.com.
Встановлення завершено!
Помилка „Gateway Timeout“
Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 1200) та перезапустити веб-встановлювач. Якщо була така помилка, то скоріш всього sql-дані вставилися в БД частково і веб-встановлювач може видавати помилку на кшталт
DBIx::Class::Storage::DBI::_dbh_execute(): Duplicate entry '380-55' for key 'PRIMARY' at /usr/share/koha/lib/Koha/SearchField.pm line 38
У такому випадку необхідно очистити БД і наново запустити веб-встановлювач:
mysql -u root -p DROP DATABASE koha_ukr_unimarc; quit
sudo /etc/init.d/mysql restart sudo /etc/init.d/apache2 restart sudo koha-stop-zebra ukr_unimarc sudo koha-disable ukr_unimarc sudo koha-remove ukr_unimarc sudo userdel ukr_unimarc-koha sudo groupdel ukr_unimarc-koha
Далі знову проходимо кроки 1-2-3.
Підтримка кирилиці рушієм пошуку 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-start-zebra ukr_unimarc
Запуск індексації Zebra
sudo koha-rebuild-zebra -f -v 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. Зазвичай виправлення з’являється в наступній версії. Це у випадку, якщо про проблему повідомлено на баґгтрекар 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/mysql restart sudo /etc/init.d/apache2 restart sudo koha-stop-zebra ukr_unimarc sudo koha-disable ukr_unimarc sudo koha-remove ukr_unimarc sudo userdel ukr_unimarc-koha sudo groupdel ukr_unimarc-koha
Перегляд переліку наявних екземплярів
sudo koha-list
Остаточне вилучення пакунків Koha
sudo apt-get purge koha koha-common
Налаштування
Щодо додаткових налаштувань та адаптацій див. тут: Налаштування Koha, встановленої з джерела.