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

Матеріал з Koha Ukraine Wiki
Перейти до навігації Перейти до пошуку
Рядок 193: Рядок 193:
(він задіює модулі Rewrite та Suexec для Apache)
(він задіює модулі Rewrite та Suexec для Apache)


2) Додатково задіюємо модулі Expires та Deflate
2) Додатково задіюємо модулі Expires, Deflate, Cgi, 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 cgi
sudo a2enmod cgi
sudo a2enmod mpm_itk
sudo a2dismod mpm_event


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

Версія за 16:46, 3 листопада 2016

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

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


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

Детальніше: [Встановлення ОС 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

В репозитарії 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 -

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

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, Cgi, Mpm_Itk та виключаємо[1] модуль Event

sudo a2enmod expires
sudo a2enmod deflate
sudo a2enmod cgi
sudo a2enmod mpm_itk
sudo a2dismod mpm_event

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“

Синтаксис [2]

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, встановленої з джерела.

Див. також