Встановлення Koha з джерела на ОС Debian

From Koha Ukraine Wiki
Jump to: navigation, search

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

Також див. Встановлення Koha з репозитарію на ОС Debian — цей варіант на даний час є більш підтримуваним.

Contents

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

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

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

Локаль з UTF-8[edit]

Перевірка локалі:

 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[edit]

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

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

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

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

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

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

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

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

Встановлення й налаштування додаткових пакунків[edit]

Встановленню безпосередньо ПЗ Koha передує встановлення усіх необхідних пакунків та модулів, від яких залежить Koha.

Встановлення пакунків з репозитаріїв[edit]

Веб-сервер, БД MySQL та допоміжні пакунки[edit]

Однією командою

sudo apt-get install \
at \
apache2 \
cvs \
git \
git-core \
make \
gcc \
daemon \
perlmagick \
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

Перлівські модулі[edit]

Однією командою

sudo apt-get install \
libcgi-session-perl \
libclass-factory-util-perl \
libdata-ical-perl \
libdate-calc-perl \
libdate-manip-perl \
libdatetime-format-mail-perl \
libdatetime-format-strptime-perl \
libdatetime-format-w3cdtf-perl \
libdatetime-locale-perl \
libdatetime-perl \
libdatetime-timezone-perl \
libdbd-mysql-perl \
libdbi-perl \
libemail-date-perl \
libgd-barcode-perl \
libhtml-scrubber-perl \
libimage-magick-perl \
libjson-perl \
liblingua-ispell-perl \
liblingua-stem-perl \
liblist-moreutils-perl \
liblist-moreutils-perl \
liblocale-gettext-perl \
liblocale-po-perl \
libmail-sendmail-perl \
libmime-lite-perl \
libnet-ldap-perl \
libpdf-api2-perl \
libpoe-perl \
libtext-charwidth-perl \
libtext-csv-perl \
libtext-iconv-perl \
libtext-wrapi18n-perl \
libtimedate-perl \
libtime-duration-perl \
libtime-format-perl \
libunix-syslog-perl \
libxml-dom-perl \
libxml-dumper-perl \
libxml-libxml-perl \
libxml-libxslt-perl \
libxml-namespacesupport-perl \
libxml-parser-perl \
libxml-perl \
libxml-regexp-perl \
libxml-sax-writer-perl \
libxml-simple-perl \
libxml-xslt-perl \
libyaml-syck-perl \
libbiblio-endnotestyle-perl \
libcgi-session-serialize-yaml-perl \
libhtml-template-pro-perl \
libmarc-charset-perl \
libmarc-crosswalk-dublincore-perl \
libmarc-xml-perl \
libmarc-record-perl \
libnet-z3950-zoom-perl \
libpdf-reuse-perl \
libpdf-reuse-barcode-perl \
libschedule-at-perl \
libxml-rss-perl \
libyaml-perl \
libalgorithm-checkdigits-perl \
libhttp-oai-perl \
libsms-send-perl \
libtemplate-perl \
libmemoize-memcached-perl \
libbusiness-isbn-perl \
libdbd-sqlite2-perl \
libuniversal-require-perl \
libtext-csv-encoded-perl \
libpdf-api2-simple-perl \
libpdf-table-perl \
libnet-server-perl \
libnumber-format-perl \
liblocale-currency-format-perl \
liblingua-stem-snowball-perl \
libgraphics-magick-perl \
libauthen-cas-client-perl \
libdatetime-format-dateparse-perl \
libreadonly-perl \
libreadonly-xs-perl \
libanyevent-perl \
libmoosex-storage-perl \
libmoosex-types-perl \
libfile-slurp-perl \
libdbd-mock-perl \
libanyevent-http-perl \
libarchive-zip-perl \
libcgi-session-driver-memcached-perl \
libgravatar-url-perl \
libcache-fastmmap-perl \
libcache-memcached-fast-perl \
libcache-perl \
libdatetime-event-ical-perl \
libdatetime-format-ical-perl \
libdatetime-format-mysql-perl \
libmodern-perl-perl \
libstring-random-perl \
libtest-deep-perl \
libtest-mockmodule-perl \
libtest-strict-perl \
libtest-www-mechanize-perl \
libtest-warn-perl \
libtest-yaml-valid-perl \
libtext-unaccent-perl \
libtime-progress-perl \
libchi-driver-memcached-perl \
libcrypt-eksblowfish-perl \
liblibrary-callnumber-lc-perl \
libdbix-class-schema-loader-perl \
libemail-valid-perl \
liblocale-maketext-lexicon-perl \
libopenoffice-oodoc-perl

Zebra та Yaz[edit]

Однією командою

sudo apt-get install \
idzebra-2.0-common \
idzebra-2.0-doc \
idzebra-2.0 \
idzebra-2.0-utils \
libidzebra-2.0-dev \
libidzebra-2.0-0 \
libidzebra-2.0-mod-alvis \
libidzebra-2.0-mod-grs-marc \
libidzebra-2.0-mod-grs-regx \
libidzebra-2.0-mod-grs-xml \
libidzebra-2.0-mod-text \
libidzebra-2.0-modules \
yaz \
yaz-doc \
libyaz4 \
libyaz4-dev 

Інші пакунки[edit]

Однією командою

sudo apt-get install \
gettext \
libgcrypt11-dev \
libgcrypt11 \
libmysqlclient-dev \
libxml2-dev \
libxml2 \
libxml2-utils \
libxslt1.1 \
libxslt1-dev \
memcached \
libapache2-mod-perl2

Пакунки з гілок Дебіен „testing“ та „unstable“[edit]

Деякі пакунки (чи оновленні версії) не попали в стабільний випуск Debian, проте можуть бути у випуску „testing“ чи „unstable“.

1) Створюємо файл /etc/apt/apt.conf і додаємо наступне

# Зробити „wheezy“ дистрибутивом за умовчанням
APT::Default-Release "wheezy";

2) Створюємо файл /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

3) У файл /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

4) Встановлення пакунків з гілки „testing“

sudo apt-get update
sudo apt-get -t testing install \
libarchive-extract-perl \
libmarc-record-perl \
libmarc-xml-perl

Пакунки з репозитарію Koha[edit]

Деякі perl-пакунки ще не пакетизовані в офіційних репозитаріях Дебіен (перевіряємо libdata-paginator-perl та libtemplate-plugin-htmltotext-perl, libmodule-bundled-files-perl). Однак відповідні deb-пакети можна знайти в репозитарії debian.koha-community.org.

Підключаємо у файлі /etc/apt/sources.list

# Джерело пакунків з Дебіен-репозитарію „debian.koha-community.org“
deb http://debian.koha-community.org/koha squeeze main
   

Також додаємо ключ gpg.asc до довірених ключів APT:

wget -O- http://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -

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

apt-get update

Встановлюємо пакунки з репозитарію Koha

sudo apt-get install \
libdata-paginator-perl \
libtemplate-plugin-htmltotext-perl \
libmodule-bundled-files-perl

Пакунки з CPAN[edit]

Якщо пакунок все таки не вдалося знайти в одному з репозитаріїв — встановлюємо з CPAN.

Наприклад, можуть бути й зауваження такого роду:

Warning: prerequisite Data::Pagination 0.44 not found.

Цей Perl-модуль ще не доступний в жодному з репозиторіїв Дебіен (перевірити в Debian: libdata-pagination-perl). Встановлюємо командою

sudo  perl -MCPAN -e 'install Data::Pagination'

(при цьому, якщо це перше використання CPAN, підтверджуємо автоматичне налаштування та підключення до Інтернет)

Для таких зауважень

HTTPD::Bench::ApacheBench                     0                 0.73                    No
Test::WWW::Mechanize                          1.42              1.44                    No

Перевіряємо libtest-www-mechanize-perl чи з’явився пакунок Test::WWW::Mechanize версії 1.44 чи вище. Також перевіряємо наявність пакунка libHTTPD-Bench-ApacheBench-perl.

— встановлюємо

sudo perl -MCPAN -e 'install HTTPD::Bench::ApacheBench'
sudo perl -MCPAN -e 'install Test::WWW::Mechanize'

Чомусь є ще зауваження про пакунок Readonly::XS, хоча він і повинен бути встановлений командами вище (?).

Налаштування пакунків[edit]

Apache[edit]

1) Модулі

Задіюємо модуль Rewrite

sudo a2enmod rewrite

а також модулі Expires та Deflate

sudo a2enmod expires
sudo a2enmod deflate

2) Редагуємо /etc/apache2/conf.d/charset

AddCharset UTF-8 .utf8
AddDefaultCharset UTF-8

3) Перезапуск Apache

sudo /etc/init.d/apache2 restart

MySQL[edit]

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

Встановлення Koha[edit]

Вхід від користувача АдміністраторСистемиKoha

Переходимо у середовище користувача АдміністраторСистемиKoha (вводимо пароль користувача АдміністраторСистемиKoha)

su АдміністраторСистемиKoha
cd ~/

Отримання Koha[edit]

1) Для отримання останньої стабільної Koha — звантажуємо її з http://download.koha-community.org

mkdir ~/koha; wget -O ~/koha/koha-latest.tar.gz http://download.koha-community.org/koha-latest.tar.gz

2) Розпаковування архіву

cd ~/koha; tar -xzf  koha-latest.tar.gz

Створення БД для Koha в MySQL[edit]

Утворюємо базу даних Koha3 та привілеї користувачів щодо неї:

sudo mysqladmin -uroot -pПарольАдмінаMySQL create Koha3
sudo mysql -uroot -pПарольАдмінаMySQL

У середовищі mysql виконати наступне

grant all on Koha3.* to 'КористувачБДKoha3'@'localhost' identified by 'ПарольКористувачаБДKoha3';\
flush privileges;
exit

Перевірка аналізатора SAX Parser[edit]

У теці Koha виконати

perl ~/koha/koha-3.16.03/misc/sax_parser_print.pl

Ви повинні побачити щось таке

XML::LibXML::SAX::Parser=HASH(0x81fe220)

Якщо ж є PurePerl чи Expat, то необхідно поправити файл /etc/perl/XML/SAX/ParserDetails.ini (запис щодо XML::LibXML::SAX::Parser має бути найнижче)

Перевірка чи встановлені усі необхідні пакунки[edit]

Команда

perl ~/koha/koha-3.16.03/koha_perl_deps.pl -c -u -m

видасть список відсутніх модулів та модулів, які необхідно оновити.

Вам необхідно знайти та встановити ці модулі (ймовірно, що список буде порожнім, оскільки всі необхідні пакунки повинні згадуватися у цьому керівництві вище).

Відсутні модулі чи оновлені версії шукайте у гілках Debian testin/unstable, репозитарії debian.koha-community.org або ж в CPAN (Perl-модулі з CPAN встановлюються командою на кшталт „sudo cpan HTTP::OAI“).

Запуск встановлювача[edit]

Запускаємо встановлювач (у наступній команді вказуємо власні дані)

cd ~/koha/koha-3.16.03/

INSTALL_BASE=/usr/share/koha3 \
KOHA_USER=АдміністраторСистемиKoha \
KOHA_GROUP=АдміністраторСистемиKoha \
DB_NAME=Koha3 \
DB_USER=КористувачБДKoha3 \
DB_PASS=ПарольКористувачаБДKoha3 \
ZEBRA_MARC_FORMAT=unimarc \
ZEBRA_TOKENIZER=icu \
ZEBRA_LANGUAGE=uk \
ZEBRA_USER=КористувачZebra \
ZEBRA_PASS=ПарольКористувачаZebra \
INSTALL_PAZPAR2=yes \
INSTALL_SRU=yes \
INSTALL_ZEBRA=yes \
USE_MEMCACHED=yes \
perl Makefile.PL

Відповідаємо на питання:

Відповіді на питання[edit]

By default, Koha can be installed in one of three ways:

standard: Install files in conformance with the Filesystem Hierarchy Standard (FHS). This is the default mode and should be used when installing a production Koha system. On Unix systems, root access is needed to complete a standard installation.

single: Install files under a single directory. This option is useful for installing Koha without root access, e.g., on a web host that allows CGI scripts and MySQL databases but requires the user to keep all files under the user's HOME directory.

dev: Create a set of symbolic links and configuration files to allow Koha to run directly from the source distribution. This mode is useful for developers who want to run Koha from a git clone.

Installation mode (dev, single, standard) [standard]

Please specify the directory under which most Koha files will be installed.

Note that if you are planning in installing more than one instance of Koha, you may want to modify the last component of the directory path, which will be used as the package name in the FHS layout.

Base installation directory (default from environment) [/usr/share/koha3]

Since you are using the 'standard' install mode, you should run 'make install' as root. However, it is recommended that a non-root user (on Unix and Linux platforms) have ownership of Koha's files, including the Zebra indexes if applicable.

Please specify a user account. This user account does not need to exist right now, but it needs to exist before you run 'make install'. Please note that for security reasons, this user should not be the same as the user account Apache runs under.

User account (default from environment) [АдміністраторСистемиKoha]

Please specify the group that should own Koha's files. As above, this group need not exist right now, but should be created before you run 'make install'.

Group (default from environment) [АдміністраторСистемиKoha]

Please specify which database engine you will use to store data in Koha. The choices are MySQL and PostgreSQL; please note that at the moment PostgreSQL support is highly experimental.

DBMS to use (Pg, mysql) [mysql]

Please specify the name or address of your database server. Note that the database does not have to exist at this point, it can be created after running 'make install' and before you try using Koha for the first time.

Database server [localhost]

Please specify the port used to connect to the DMBS [3306]

Please specify the name of the database to be used by Koha (default from environment) [Koha3]

Please specify the user that owns the database to be used by Koha (default from environment) [КористувачБДKoha3]

Please specify the password of the user that owns the database to be used by Koha (default from environment) [ПарольКористувачаБДKoha3]

Koha can use the Zebra search engine for high-performance searching of bibliographic and authority records. If you have installed the Zebra software and would like to use it, please answer 'yes' to the following question. Otherwise, Koha will default to using its internal search engine.

Please note that if you choose *NOT* to install Zebra, koha-conf.xml will still contain some references to Zebra settings. Those references will be ignored by Koha.

Install the Zebra configuration files? (no, yes) [yes]

Found 'zebrasrv' and 'zebraidx' in /usr/bin.

Since you've chosen to use Zebra with Koha, you must specify the primary MARC format of the records to be indexed by Zebra.

Koha provides Zebra configuration files for MARC 21 and UNIMARC.

MARC format for Zebra indexing (marc21, normarc, unimarc) (default from environment) [unimarc]

Koha supplies Zebra configuration files tuned for searching either English (en) or French (fr) MARC records.

Primary language for Zebra indexing (en, es, fr, nb, ru, uk) (default from environment) [uk]

Koha can use one of two different indexing modes for the MARC bibliographic records:

grs1 - uses the Zebra GRS-1 filter, available for legacy support dom - uses the DOM XML filter; offers improved functionality.

Bibliographic indexing mode (dom, grs1) [dom]

Koha can use one of two different indexing modes for the MARC authorities records:

grs1 - uses the Zebra GRS-1 filter, available for legacy support dom - uses the DOM XML filter; offers improved functionality.

Authorities indexing mode (dom, grs1) [dom]

Zebra has two methods to perform records tokenization and characters normalization: CHR and ICU. ICU is recommended for catalogs containing non-Latin characters. (chr, icu) (default from environment) [icu]

Please specify Zebra database user (default from environment) [КористувачZebra]

Please specify the Zebra database password (default from environment) [ПарольКористувачаZebra]

Since you've chosen to use Zebra, you can enable the SRU/ Z39.50 Server if you so choose, but you must specify a few configuration options for it.

Please note that if you choose *NOT* to configure SRU, koha-conf.xml will still contain some references to SRU settings. Those references will be ignored by Koha.

Install the SRU configuration files? (no, yes) [yes]

SRU Database host? [localhost]

SRU port for bibliographic data? [9998]

SRU port for authority data? [9999]

Since you've chosen to use Zebra, you can also choose to install PazPar2, which is a metasearch tool. With PazPar2, Koha can perform on-the-fly merging of bibliographic records during searching, allowing for FRBRization of the results list.

Install the PazPar2 configuration files? (default from environment) [yes]

Zebra bibliographic server host? [localhost]

Zebra bibliographic port for PazPar2 to use? [11001]

PazPar2 host? [localhost]

PazPar2 port? [11002]

Use memcached and memoize to cache the results of some function calls? This provides a signficant performance improvement. You will need a Memcached server running. (no, yes) [no] yes

Memcached server address? [127.0.0.1:11211]

Memcached namespace? [KOHA]

Would you like to run the database-dependent test suite? (no, yes) [no]

До речі, якщо Ви помилитеся, чи побачите наприкінці що ще не всі залежності задоволені, то можете поправити файл Makefile.PL, внісши в нього відповіді

Після завершення опитування Koha виводить список усіх параметрів.

Компіляція та встановлення Koha[edit]

make

(тут не повинно бути помилок чи зауважень)

make test

Тут з’являються результати тестування — більшість мають проходити успішно (ок), в результаті повинні отримати — „Result: PASS“.

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

sudo make install

Доналаштування Apache[edit]

Віртуальні хости Apache[edit]

1) Підключаємо до Apache2 конфігурацію для Koha

sudo ln -s /etc/koha3/koha-httpd.conf /etc/apache2/sites-available/Koha3
sudo a2ensite Koha3

2) Додаємо порти до /etc/apache2/ports.conf

Listen 80
Listen 8888
Listen 8008

Зауваження: деколи порт 80 може бути зайнятий на даному IP/домені — тоді тут і нижче тимчасово замінити порт 80 на 8008.

3) Також підправляємо порти у файлі /etc/koha3/koha-httpd.conf на зразок

<VirtualHost *:80>
...
ServerName koha:80
...
<VirtualHost *:8888>
...
ServerName koha:8888

4) Якщо стандартний порт 80 не використовується на даному сервері, переправляємо типовий сервер-заглушку на порт 8008, редагуючи файл /etc/apache2/sites-enabled/000-default

<VirtualHost *:8008>
...

5) Перезапускаємо веб-сервер Apache 2

sudo /etc/init.d/apache2 restart

Сервер Zebra[edit]

Для підтримки автозапуску сервера Zebra виконуємо наступне

sudo ln -s /usr/share/koha3/bin/koha-zebra-ctl.sh /etc/init.d/koha-zebra-daemon
sudo update-rc.d koha-zebra-daemon defaults
sudo /usr/share/koha3/bin/koha-zebra-ctl.sh start

Підтримка кирилиці рушієм пошуку Zebra[edit]

Необхідно додати кириличні символи до файлу

/etc/koha3/zebradb/etc/word-phrase-utf.chr

а саме виправити на наступне:

lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі’
uppercase {0-9}{A-Z}ÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ’
space {\001-\040}!"#$%&'\()*+,-./:;<=>?@\[\\]^_`\{|}~{\x88-\x89}{\x98-\x9C}

Без цієї зміни пошук або не буде працювати або даватиме некоректні результати.

Також для коректного сортування кирилиці аналогічні зміни також потрібно внести і до файлу /etc/koha3/zebradb/lang_defs/en/sort-string-utf.chr (наявність uk/sort-string-utf.chr наразі не дає бажаного результату).

Налаштування переіндексації за розкладом (cron)[edit]

Додаємо з допомогою команди

sudo crontab -e -u АдміністраторСистемиKoha

наступне завдання (коректуємо дані відповідно попередньо заданих у встановлювачі)

# Поновлення індексації Zebra - що 5 хвилин
*/5 * * * * env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib  /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -a -z -v >/dev/null

# Повна переіндексація Zebra - опівночі
0 0 * * *   env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib  /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -a -r -x -v >/dev/null

Зауваження: також варто перевірити дію цього завдання і з консолі для певності що буде виконуватися коректно - створимо два скрипти:

1) add_zebra_new_records.sh

time env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib  \/usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -a -z -v

2) rebuild_zebra_all_records.sh

time env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib  /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -a -r -x -v

Якщо при виконанні будуть наступні помилки:

10:29:41-11/08 zebraidx(29193) [warn] zebra_lock_create fail fname=/var/lock/koha3/zebradb/biblios/norm..LCK [No such file or directory]
10:29:41-11/08 zebraidx(29193) [warn] zebra_lock_create fail fname=/var/lock/koha3/zebradb/biblios/shadow..LCK [No such file or directory]

то

cd /var/lock/koha3/
mkdir zebradb
chmod ugoa+r+w+x  zebradb
cd zebradb/
mkdir biblios
chmod ugoa+r+w+x biblios

Інші періодичні завдання (cron)[edit]

1) Періодичне створення ієрархічної класифікації та хмари міток (для класифікацій необхідно правити build_browser_and_cloud.pl та opac-browser.tmpl, детальніше див. тут)

# Створення ієрархічної класифікації (приклад для УДК (3 ділення) та Unimarc) та хмари міток - щоночі о 1-шій
0 1 * * *  env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib /usr/share/koha3/bin/cronjobs/build_browser_and_cloud.pl  -b -f 675a -t 606 -c -m 3

2) Періодичне очищення таблиць „sessions“ та „zebraqueue“

# Очищення таблиць „sessions“ та „zebraqueue“ в Koha - щоночі о 2-гій
0 2 * * *  env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib /usr/share/koha3/bin/cronjobs/cleanup_database.pl --sessdays 7 --zebraqueue 7

3) Періодичний підрахунок найбільш популярних одиниць

# Підрахунок найбільш популярних одиниць - щоночі о 3-тій
0 3 * * *  env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib /usr/share/koha3/bin/cronjobs/update_totalissues.pl --use-items --commit=1000 -v

Запуск веб-встановлювача[edit]

У веб-оглядачі вводимо адресу нашого сервера

http://localhost:8080?language=uk-UA

(повинно з’явитися запрошення для входу в систему і подальшого встановлення)

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

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

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

cd /usr/share/koha3/misc/translator

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

sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA
sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install ru-RU
... і для інших необхідних мов (окрім „en“)

Підготовка локалізованих sql-таблиць (у роботі)[edit]

Актуальні локалізовані 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.х.

Після цього необхідно перезавантажити сервер (веб-встановлювач чомусь вперто не помічав інші мови окрім англійської).

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

Далі продовжуємо у веб-оглядачі

http://localhost:8080?language=uk-UA

Реєструємося (згадуємо логін АдміністраторСистемиKoha та пароль ПарольАдміністратораСистемиKoha)

Крок 1.

  • Вибір мови: uk-UA
  • Перевірка встановлених залежностей (пакунки)

Крок 2.

  • Вивід налаштувань БД
  • Перевірка існування БД Koha3 та привілеїв доступу користувача АдміністраторСистемиKoha

Крок 3.

  • Підготовка таблиць
  • Створення таблиць
  • Підготовка базового налаштування
  • Вибір стандарту МАРК-записів: Unimarc
  • Вибір sql-таблиць для імпорту — вибрати усі

Нижче наведений перелік типових таблиць з теки „uk-UA“ при виборі МАРК-структури: UNIMARC

Mandatory Авторитетні записи — типова структура за УКРМАРК (поля, підполя). (unimarc_authorities_DEFAULT_general) Бібліографічні записи — типова структура за УКРМАРК (загальні поля, підполя). (unimarc_bibliographic_DEFAULT_general) Бібліографічні записи — типова структура в доповнення до УКРМАРК (локальні поля, підполя на основі 995). (unimarc_bibliographic_DEFAULT_local) Коди відношення (використовуються для визначення виду інтелектуальної відповідальності). (unimarc_relatorterms) Системні параметри, пов’язані з UNIMARC (УКРМАРК). (unimarc_system_preferences)

Optional Авторитетні записи — структура „Auteur (collectif/collectivité)“ ([210a ][ (210c)][. 210b][ -- 210d][ ; 210e][ ; 210f]) за Unimarc (загальні поля/підполя). (unimarc_authorities_CO_general) Авторитетні записи — структура „Auteur“ ([200a][, 200b][ 200d][ ; 200c][ (200f)]) за Unimarc (загальні поля/підполя). (unimarc_authorities_NP_general) Авторитетні записи — структура „Auteur titre“ ([240a][, 240b][ 240d][ ; 240c][ (240f)][. 240t]) за Unimarc (загальні поля/підполя). (unimarc_authorities_SAUTTIT_general) Авторитетні записи — структура „Sujet (auteur)“ ([200a][, 200b][(200g)][ 200d][ ; 200c][ (200f)][ -- 200x][ -- 200z][ -- 200y]) за Unimarc (загальні поля/підполя). (unimarc_authorities_SAUT_general) Авторитетні записи — структура „Sujet (collectivité)“ ([210a ][ (210c)][. 210b][ -- 210d][ ; 210e][ ; 210f][ -- 210x][ -- 210z][ -- 210y]) за Unimarc (загальні поля/підполя). (unimarc_authorities_SCO_general) Авторитетні записи — структура „Sujet (nom commun)“ ([250a][ -- 250x][ -- 250y][ -- 250z] [(250b)]) за Unimarc (загальні поля/підполя). (unimarc_authorities_SNC_general) Авторитетні записи — структура „Sujet (nom géographique)“ ([215a][ -- 215y][ -- 215x][ -- 215z]) за Unimarc (загальні поля/підполя). (unimarc_authorities_SNG_general) Авторитетні записи — структура „Sujet (titre uniforme)“ ([230a][. 230i][. 230h][. 230m][. 230k][ -- 230x][ -- 230q][ -- 230y][ -- 230z][ -- 230l]) за Unimarc (загальні поля/підполя). (unimarc_authorities_STU_general) Авторитетні записи — структура „Titre Uniforme“ ([230a][. 230i][. 230h][. 230m][. 230q][. 230k][ -- 230x][ -- 230y][ -- 230z][ -- 230l]) за Unimarc (загальні поля/підполя). (unimarc_authorities_TU_general) Аналітичні описи (AN) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_AN_general) Аналітичні описи (AN) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_AN_local) Аудіоматеріали (AUD) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_AUD_general) Аудіоматеріали (AUD) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_AUD_local) Книги (монографічні видання) (BOOK) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_BOOK_general) Книги (монографічні видання) (BOOK) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_BOOK_local) Електронні видання (EL) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_EL_general) Електронні видання (EL) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_EL_local) Рівень мінімального опису (MIN) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_MIN_general) Рівень мінімального опису (MIN) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_MIN_local) Нотні видання (NOTE) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_NOTE_general) Нотні видання (NOTE) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_NOTE_local) Періодика (серіальні видання) (PER) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_PER_general) Періодика (серіальні видання) (PER) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_PER_local) Нормативно-технічні та неопубліковані матеріали (TECH) — структура (загальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_TECH_general) Нормативно-технічні та неопубліковані матеріали (TECH) — структура (локальні поля, підполя) бібліографічних записів. (unimarc_bibliographic_TECH_local) Деякі правила відповідності для бібліографічних записів у форматах UNIMARC/УкрМарк, у тому числі: ISBN ISSN. (unimarc_default_matching_rules) Зразки записів Unimarc/Укрмарк — таблиця „biblio“ (біб-опис). (unimarc_sample_biblio_data) Зразки записів Unimarc/Укрмарк — таблиця „biblioitems“ (біб-опис). (unimarc_sample_biblioitems_data) Зразки записів Unimarc/Укрмарк — таблиця „items“ (примірники). (unimarc_sample_items_data)

Інші дані Authorised_values Особливі нотатки щодо відвідувача. (authorised_values_[BOR_NOTES]) Коди видів зібрань для примірників. (authorised_values_[CCODE]) Перелік країн. (authorised_values_[COUNTRY]) Статус пошкодження примірника. (authorised_values_[DAMAGED]) Індикатори поля 852. (authorised_values_[IND_852]) Перелік мов. (authorised_values_[LANG]) Кваліфікації розміщення примірників, областей що пов’язані по умовчанню з items.location. (authorised_values_[LOC]) Статуси доступності. (authorised_values_[LOST]) Типи ручних рахунків. (authorised_values_[MANUAL_INV]) Статус можливості випозичання примірника, пов’язаний з items.notforloan. (authorised_values_[NOT_LOAN]) Причини читацьких пропозицій в ЕК. (authorised_values_[OPAC_SUG]) Статус обмеження доступу до примірника, зв’язаний з items.restricted. (authorised_values_[RESTRICTED]) Перелік STACK. (authorised_values_[STACK]) Підстави для прийняття або відхилення пропозицій на придбання. (authorised_values_[SUGGEST]) Статус приховування біб-запису в електронному каталозі. (authorised_values_[SUPPRESS]) Статус вилучення примірника, зв’язаний з items.wthdrawn. (authorised_values_[WITHDRAWN])

Mandatory Типові системні авторитетні значення Koha. (auth_values) Типові класифікаційні джерела та правила заповнення. (class_sources) Означення типових способів повідомлень з допомогою електронної пошти та SMS. (message_transport_types) Типові позначки про привілеї користувача та деталізовані привілеї для працівників бібліотеки. (permissions_and_user_flags) Зразок сповіщень. (sample_notices) Означення повідомлень по умовчанню для заборгованих примірників, завчасних сповіщень та майбутніх бібліотечних подій. (sample_notices_message_attributes) Означення типових повідомляльних транспортів для повідомлень про заборговані примірники, завчасних сповіщень а також повідомлення про бібліотечні події з допомогою електронної пошти та SMS. (sample_notices_message_transports) Несуттєві для пошуку українські слова. Ви можете коригувати їх після встановлення. (stopwords) Підтримка інтернаціоналізації (I18N) в Koha. Підтримка двонаправленого (BIDI) письма, арабська та іврит. Стандартне відображення між письмом та підкодами мови. Розширення мови. (subtag_registry) Типові системні параметри Koha для України і т.п. (окрім МАРК-специфіки). (system_preferences)

Optional Приклади бібліотек, підрозділів та групувань за властивостями та пошуковими областями. (example_branches) Офіційні повторювальні свята в Україні. (holidays) Набір типів одиниць за умовчанням (типи матеріалів та коди зібрань). (library_item_types) Додаткові атрибути відвідувачів (паспортні дані, освіта тощо). (patron_atributes) Типові категорії відвідувачів. (patron_categories) Приклад бібліотечного персоналу („супербібліотекар“, „каталог“, „обіг“, „відвідувач“, „періодика“, „надходження“). (sample_borrowers_staff) Зразок річного кошторису, підпорядкованих коштів та планування витрат. (sample_budgets) Міста — обласні центри України. (sample_cities) Приклади шаблонів наклейок та читацьких карток. (sample_creator_data) Приклади курсів валют. (sample_currency) Приклад новин для ЕК та Б.І. (sample_news) Цитати, афоризми, приказки тощо. (sample_quotes) Підбірка sql-звітів. (sample_saved_sql_reports) Приклади пропозицій для комплектування. (sample_user_suggestions) Добірка серверів Z39-50 (UNIMARC, Rusmarc, UkrMarc …). (z39-50servers_collection)


Продовжуємо…

  • Імпорт sql-таблиць

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

Рідко, скоріш на повільних серверах, на 3-му кроці може з’являтися помилка „Gateway Timeout“. Спробуйте в налаштуваннях Apache (/etc/apache2/apache2.conf) виставити більший час (Timeout 600).

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

Додатково[edit]

Зауваження щодо ICU[edit]

Див. тут

Переіндексація БД[edit]

sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \
 /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -b -r -x -v
     
sudo -u АдміністраторСистемиKoha env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib \
 /usr/share/koha3/bin/migration_tools/rebuild_zebra.pl -a -r -v

Перевірка пошуку[edit]

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

Україна (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)


Вилучення Koha, встановленої з джерела[edit]

Стосується встановлення Koha 3.4.x за інструкцією „Встановлення Koha з джерела на ОС Debian

Зупинка служб тощо[edit]

Відключення сайту Koha

$ sudo a2dissite Koha3

Вилучення посилань на Koha в Apache

$ sudo rm -vrf /etc/apache2/sites-available/Koha3 
$ sudo rm -rvf /etc/apache2/sites-enabled/Koha3

Вилучення портів Apache, пов’язаних з Koha, з файлу

 /etc/apache2/ports.conf 

Перезапуск Apache

 $ sudo apache2ctl restart

Відключення служб Zebra

 $ sudo update-rc.d -f zebra-server remove
 $ sudo update-rc.d -f zebraqueue-daemon remove  
 $ sudo update-rc.d -f koha-zebra-daemon remove

Вилучення посилань на служби Zebra

 $ sudo rm -rv /etc/init.d/zebra-server
 $ sudo rm -rv /etc/init.d/zebraqueue-daemon
 $ sudo rm -rv /etc/init.d/koha-zebra-daemon

Вилучення бази даних та індексів[edit]

Вилучення бази даних з MySQL

 $ sudo mysql -uroot -pПарольАдмінаMySQL -e "drop database Koha3";

Індекси Zebra

 $ zebraidx -c /etc/koha3/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init
 $ zebraidx -c /etc/koha3/zebradb/zebra-authorities.cfg -g iso2709 -d authorities init
 

Вилучення тек Koha та файлів конфігурації[edit]

Вилучення основних файлів встановлення Koha

 $ sudo rm -rvf /usr/share/koha3

Вилучення журнальних файлів

 $ sudo rm -rvf /var/log/koha3 

Вилучення розділюваних бібліотечних файлів

 $ sudo rm -rvf /var/lib/koha
 $ sudo rm -rvf /var/lib/koha3

Вилучення файлів блокувань з /var/lock

 $ sudo rm -rvf /var/lock/koha3

Вилучення файлів з /var/run

 $ sudo rm -rvf /var/run/koha
 $ sudo rm -rvf /var/run/koha3

Вилучення конфігураційних файлів

 $ sudo rm -rvf /etc/koha3

Варто глянути у теки /etc/apache2/sites-available та /etc/apache2/sites-enabled, можливо, там ще залишилися налаштування віртуальних сайтів Koha.

Не забуваємо про записи завдань „crontab“[edit]

для користувачів АдміністраторСистемиKoha та root

$ sudo crontab -e
$ sudo -u АдміністраторСистемиKoha crontab -e

Змінні оточення[edit]

Вилучити змінні, пов’язані з Кохою, з файлу

/etc/environment

Вилучення користувача[edit]

 $ sudo deluser --remove-home АдміністраторСистемиKoha

Також потрібно вилучити користувача АдміністраторСистемиKoha з БД MySQL (напр., через phpmyadmin). Також перезапустити сервер (sudo /etc/init.d/mysql restart).

Налаштування[edit]

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

Див. також[edit]