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

Версія від 15:52, 3 листопада 2016, створена Dubyk (обговореннявнесок) (Актуальні українські sql-файли)

Розглядається встановлення АБІС Koha серії 3.14.X з репозитарію debian.koha-community.org. Опис, в основному взятий з http://wiki.koha-community.org/wiki/Category:Installation з доповненнями.

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


Зміст

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

Детальніше: Встановлення ОС Debian Linux.

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

Локаль з 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"

Користувач для Koha

Додаємо користувача

(нижче замість „АдміністраторСистемиKoha“ вводимо своє)

sudo adduser АдміністраторСистемиKoha

Деколи група автоматично не створюється — тоді потрібно ще

sudo addgroup АдміністраторСистемиKoha
sudo adduser АдміністраторСистемиKoha АдміністраторСистемиKoha

Командою „sudo visudo“ відкриваємо для редагування файл привілеїв адміністратора і надаємо їх користувачу АдміністраторСистемиKoha, додавши у кінці файлу рядок

АдміністраторСистемиKoha ALL=(ALL) ALL

Після додавання клавіатурним скороченням Ctrl-O зберігаємо файл (/etc/sudoers) та через Ctrl-X виходимо.

Підключення репозитарію 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-get update

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

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

Підключаємо у файлі /etc/apt/sources.list стабільну версію (рекомендується)

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 -

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

apt-get update

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

Встановлення пакунка „koha-common“

Доступні два пакунки, що встановлюють АБІС Koha, це

koha-common“ — містить увесь код та допоміжні сценарії. Цей пакунок після встановлення не надає налаштованого та працюючого екземпляру Koha, однак доступна команда „koha-create“ та інші корисні інструменти, що дозволять Вам створити скільки завгодно налаштованих та працюючих екземплярів (включаючи завдання cron та індексацію Zebra).

та

koha“ — подібний пакунок, однак надає один екземпляр Koha. Однак цей варіант ще не керується сценаріями а також необхідно вручну додавати завдання cron та індексування Zebra (див. bug 5071.

Отож рекомендовано встановлювати пакунок „koha-common

apt-get install koha-common 

При цьому може з’явитися вивід повідомлень Debconf, напр.

If you are upgrading from a Koha 3.2 to 3.4 release, you must run:
 sudo /usr/sbin/koha-upgrade-to-3.4
For large catalogues, running this may take a while. Your Koha installation should be largely operational during the process, but some things,
 particularly to do with items, may appear strange until the upgrade and re-index is complete.

Читаємо та слідуємо вказівкам.

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

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

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

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

sudo apt-get install \
mysql-server \
phpmyadmin
  • при встановленні сервера MySQL вказуємо пароль адміністратора (користувач „root“), надалі „ПарольАдмінаMySQL“
  • для „phpmyadmin“ вибрати лише „apache2“
  • при встановленні „phpmyadmin“ нагадати системі пароль адміна MySQL а також встановити пароль застосунку

У файлі /etc/phpmyadmin/phpmyadmin.service змінити порт

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

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

Listen 8888

Перезапуск Apache

/etc/init.d/apache2 restart

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

1) Пароль для користувача root БД MySQL: ПарольАдмінаMySQL Якщо пароль не вибрано при встановленні MySQL чи необхідно вказати новий, то діємо наступним чином

sudo dpkg-reconfigure mysql-server-5.5

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) Додатково задіюємо модулі Expires та Deflate

sudo a2enmod expires
sudo a2enmod deflate
sudo a2enmod cgi

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.
ports.conf

Додаємо

Listen 8080
Listen 8888

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

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

/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.
ports.conf

Додаємо

Listen 8080
Listen 8008

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

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

<VirtualHost *:8008>

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

/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-create [--create-db|--request-db|--populate-db|--use-db] \
  [--marcflavor marc21|normarc|unimarc] \
  [--zebralang en|es|fr|nb|ru|uk] \
  [--defaultsql /path/to/some.sql] \
  [--configfile /path/to/config] [--passwdfile /path/to/passwd] \
  [--database database] [--adminuser n] instancename


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

sudo koha-create --create-db --marcflavor unimarc --zebralang uk \
 --auth-idx dom --biblio-idx dom \
 --configfile /etc/koha/koha-ukr-unimarc-site.conf ukr_unimarc

Вивід:

Koha instance is empty, no staff user created.
Starting Zebra server for ukr_unimarc

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

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

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

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

Звантажуємо звідси найновішу версію теки uk-UA та замінюємо нею відповідну теку у /usr/share/koha/intranet/cgi-bin/installer/data/mysql.

Примітка: локалізація SQL-таблиць російською ru-RU доступна лише для версії 3.4.х.

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

Переходимо у теку сценаріїв локалізації Коха

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“)

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

У файлі /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. Бачимо запит на авторизацію від веб-встановлювача.

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

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

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

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

Встановлення завершено!.

Підтримка кирилиці рушієм пошуку 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

Перевірка пошуку

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

Україна (http://localhost:80/cgi-bin/koha/opac-search.pl?q=Україна)

Інвестиції (http://localhost:80/cgi-bin/koha/opac-search.pl?q=Інвестиції)

2011 (http://localhost:80/cgi-bin/koha/opac-search.pl?q=2011)

До перевірки

  • що додано у завдання cron?
  • переіндесація автоматична чи по розкладу і чи взагалі робиться?
  • як задіяти ICU? (Зауваження щодо ICU див. тут)
  • чи можна обійтися без правки word-phrase-utf.chr?
  • пошук за „Інвестиції“ мав дати 4 результати..?

Оновлення Koha

Буде додано…

Вилучення Koha

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

koha-remove ukr_unimarc

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

koha-list

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

apt-get purge koha koha-common

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

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

Див. також