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

Версія від 01:13, 16 серпня 2014, створена Dubyk (обговореннявнесок) (Кроки веб-встановлювача)

Розглядається встановлення АБІС 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-ukr-unimarc-site.conf

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

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

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

# The domain to append to the instance name, for Apache ServerName. Default is empty. The value must begin with a period.
DOMAIN="localhost"

# The port for the OPAC.
OPACPORT="80"

# The port for the intranet. If you set this to empty or 80, then you must also define INTRAPREFIX or INTRASUFFIX.
INTRAPORT="8080"

# Specifies format of MARC records to be indexed by Zebra. Possible values are 'marc21', 'normarc' and 'unimarc'.
ZEBRA_MARC_FORMAT="unimarc"

# Primary language for Zebra indexing. Possible values are 'en', 'fr' and 'nb'.
ZEBRA_LANGUAGE="uk"

ports.conf

Додаємо

Listen 80
Listen 8080

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

Команда „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-файли

У теці /usr/share/koha/intranet/cgi-bin/installer/data/mysql

замінюємо теку uk-UA

на https://www.dropbox.com/sh/dsdjs5tfvem3pzy/jW3v49NC_q

(для ru-RU — відповідно https://www.dropbox.com/sh/8hrb00zsp1w1kbt/r3VZz4jcnb)

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

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

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.

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

word-phrase-utf.chr

У файлі /etc/koha/zebradb/etc/word-phrase-utf.chr замінюємо

lowercase {0-9}{a-z}
uppercase {0-9}{A-Z}

на

lowercase {0-9}{a-z}абвгґдеэєжзіїийклмнопрстуфхцчшщьыъюяёў
uppercase {0-9}{A-Z}АБВГҐДЕЭЄЖЗІЇИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЮЯЁЎ

Наразі без цього пошук видає занадто багато результатів.

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

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

sudo koha-start-zebra ukr_unimarc

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

sudo koha-rebuild-zebra -f -v ukr_unimarc

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

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

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

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

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

До перевірки

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

Оновлення Koha

Вилучення Koha

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

koha-remove ukr_unimarc

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

koha-list

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

apt-get purge koha koha-common

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

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

Див. також