Коротка інструкція для адміністратора АБІС Koha: відмінності між версіями
Dubyk (обговорення | внесок) (→Латки) |
Dubyk (обговорення | внесок) (→Латки) |
||
Рядок 922: | Рядок 922: | ||
*intranet/cgi-bin/members/member.pl: |
*intranet/cgi-bin/members/'''member.pl''': |
||
149 my @letters = map { {letter => $_} } (. |
149 my @letters = map { {letter => $_} } (. |
||
Рядок 929: | Рядок 929: | ||
152 'A' .. 'Z'); |
152 'A' .. 'Z'); |
||
*intranet/cgi-bin/members/members-home.pl: |
*intranet/cgi-bin/members/'''members-home.pl''': |
||
82 my @letters = map { {letter => $_} } ( |
82 my @letters = map { {letter => $_} } ( |
||
Рядок 938: | Рядок 938: | ||
Також частково змінювався файл періодичної підготовки хмари теґів та ієрархії за класифікацією: |
Також частково змінювався файл періодичної підготовки хмари теґів та ієрархії за класифікацією: |
||
*bin/cronjobs/build_browser_and_cloud.pl |
*bin/cronjobs/'''build_browser_and_cloud.pl''' |
||
=== Дизайн === |
=== Дизайн === |
Версія за 13:58, 12 серпня 2014
Встановлення та адміністрування ОС Debian GNU/Linux
Вибір ОС Debian GNU/Linux
Для АБІС Koha найбільш придатною на даний момент є операційна система Debian GNU / Linux. Тут і перевірена часом стабільність і той факт, що більшість розробників працює з нею. Поки тільки для цієї системи є всі необхідні perl-модулі в офіційному репозитарії. Також розробники Koha вже досить давно готують пакет з АБИС Koha для репозитория Debian, що дозволить встановлювати систему з „одного кліку“.
IMAGE
Налаштування Debian для АБІС Koha
Попередні налаштування
Локаль з UTF-8
Перевірка локалі:
sudo locale
в результаті повинно фігурувати „UTF-8“ (en.UTF-8, uk_UA.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“ відкриваємо для редагування файл привілеїв адміністратора (/etc/sudoers) і даємо їх користувачеві АдміністраторСистемиKoha, додавши в кінці файлу рядок
АдміністраторСистемиKoha ALL = (ALL) ALL
Після додавання клавіатурній командою Ctrl-O зберігаємо файл (/etc/sudoers) і через Ctrl-X виходимо.
Встановлення та налаштування додаткових пакунків
Встановленні безпосередньо ПЗ Koha передує встановлення усіх необхідних пакунків й модулів, від яких залежить Koha.
Встановлення пакунків з репозитаріїв
Веб-сервер, БД MySQL і додаткові пакунки
Однією командою
sudo apt-get install \ at \ apache2 \ cvs \ git \ git-core \ make \ gcc \ daemon \ perlmagick \ mysql-server \ phpmyadmin
- при встановленні сервера MySQL вказуємо пароль адміністратора (користувач „root“), далі „ПарольАдмінаMySQL“;
- для „phpmyadmin“ вибрати лише „apache2“;
- при встановленні „phpmyadmin“ нагадати системі пароль адміна MySQL а також встановити пароль застосунку.
Перловські модулі
Однією командою
sudo apt-get install \ libcgi-session-perl \ libclass-factory-util-perl \ libdata-ical-perl \ libdate-calc-perl \ libdate-ical-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
Zebra та Yaz
Однією командою
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
Інші пакунки
Однією командою
sudo apt-get install \ gettext \ libgcrypt11-dev \ libgcrypt11 \ libgd2-noxpm-dev \ libmysqlclient-dev \ libxml2-dev \ libxml2 \ libxml2-utils \ libxslt1.1 \ libxslt1-dev \ memcached \ libapache2-mod-perl2
Пакунки з гілок Дебіен „unstable“ або „testing“
1) Створюємо файл /etc/apt/apt.conf і додаємо наступне
# Зробити „squeeze“ дистрибутивом за умовчанням APT::Default-Release "squeeze";
2) Створюємо файл /etc/apt/preferences і додаємо наступне (щоб у стабільній гілці „squeeze“ був вищий пріоритет)
Package: * Pin: release a=squeeze Pin-Priority: 900 Package: * Pin: release a=unstable Pin-Priority: 90
3) У файл /etc/apt/sources.list додаємо наступне джерело
# Джерело пакунків з гілки Дебіен „unstable“ deb http://http.us.debian.org/debian unstable main contrib non-free
4) Встановлення пакунків з гілки «unstable“
sudo apt-get update sudo apt-cache policy libcgi-session-driver-memcached-perl sudo apt-get -t unstable install libcgi-session-driver-memcached-perl
Налаштування пакунків
Apache
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
1) Пароль для користувача root БД MySQL: ПарольАдмінаMySQL
Якщо пароль не вибрано при встановленні MySQL, тоді змінити можна так
sudo dpkg-reconfigure mysql-server-5.1
2) Для підтримки UTF-8 в MySQL у файлі /etc/mysql/my.cnf (наприкінці) повинно бути наступне
[client] default-character-set=utf8 [mysqld_safe] default-character-set=utf8 [mysql] default-character-set=utf8 [mysqld] init-connect='SET NAMES utf8, collation_connection=utf8_unicode_ci' default-character-set=utf8 character-set-server=utf8 collation-server=utf8_unicode_ci character_set_client=utf8 default-collation=utf8_unicode_ci skip-character-set-client-handshake
3) Перезапускаємо сервер MySQL
sudo /etc/init.d/mysql restart
4) Переконуємося, що зміни внесені, виконавши
sudo mysql -uroot -pПарольАдмінаMySQL show variables; quit
Встановлення Koha
Вхід від користувача АдміністраторСистемиKoha. Переходимо у середовище користувача АдміністраторСистемиKoha (вводимо пароль користувача АдміністраторСистемиKoha):
su АдміністраторСистемиKoha cd ~ /
Отримання Koha
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
Створюємо базу даних 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
У теці Koha виконати
perl ~/koha/koha.local/misc/sax_parser_print.pl
Ви повинні побачити щось то таке
XML::LibXML::SAX::Parser=HASH(0x81fe220)
Якщо ж є PurePerl або Expat, тоді необхідно редагувати файл /etc/perl/XML/SAX/ParserDetails.ini (запис про XML::LibXML::SAX::Parser повинен бути найнижче).
Перевірка чи встановлені усі необхідні пакунки
Команда
perl ~/koha/koha.local/koha_perl_deps.pl -c -u -m
видає список відсутніх модулів та модулів, які необхідно оновити.
Вам необхідно знайти й встановити ці модулі (ймовірно, що список буде порожнім, оскільки усі необхідні пакунки повинні згадуватися у цьому керівництві вище).
Відсутні і модулі нових версій шукайте у гілці Debian „unstable“ і «testing» або ж у CPAN (Perl-модулі з CPAN встановлюються командою наприклад „sudo cpan HTTP::OAI“).
Запуск інсталятора
Запускаємо встановлювач (у наступній команді вказуємо свої дані)
cd ~/koha/koha.local/ 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_USER=КористувачZebra \ ZEBRA_PASS=ПарольКористувачаZebra \ INSTALL_PAZPAR2=yes \ USE_MEMCACHED=yes \ perl Makefile.PL
Відповідаємо на питання:
Відповіді на питання
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, fr, nb) [en] 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] 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
make
(тут не повинно бути помилок або застережень)
make test
Тут з’являються результати тестування — більшість мають проходити успішно (ок), у результаті ми повинні отримати — „Result: PASS“.
І саме встановлення:
sudo make install
Змінні оточення і доналаштування Apache
Від встановлювача було прохання додати наступне до змінних оточення, тому додаємо в /etc/environment два рядки
export KOHA_CONF=/etc/koha3/koha-conf.xml export PERL5LIB=/usr/share/koha3/lib
Віртуальні хости Apache
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
Увага: іноді порт 80 може бути зайнятий на даному IP/домені — тоді тут і нижче тимчасово замінити порт 80 на 8008.
3) Також правимо порти у файлі /etc/koha3/koha-httpd.conf приблизно так
<VirtualHost *: 80> ... ServerName koha: 80 ... <VirtualHost *: 8888> ... ServerName koha: 8888
4) Перезапускаємо веб-сервер Apache 2
sudo /etc/init.d/apache2 restart
Сервер Zebra
Для підтримки автозапуску сервера 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
Необхідно додати кириличні символи у файл
/etc/koha3/zebradb/etc/word-phrase-utf.chr
а конкретніше - виправити на наступні:
lowercase {0-9}{a-z}æäåąßćęłńóśøöüźżабвгдежзийклмнопрстуфхцчшщьыъэюяёєїґўі uppercase {0-9}{A-Z}ÆÄÅĄẞĆĘŁŃÓŚØÖÜŹŻАБВГДЕЖЗИЙКЛМНОПРСТУФХЦЧШЩЬЫЪЭЮЯЁЄЇҐЎІ
Без цієї зміни пошук або не працюватиме або даватиме некоректні результати.
Налаштування переіндексації за розкладом (cron)
Додаємо за допомогою команди
sudo crontab -e -u АдміністраторСистемиKoha
наступне завдання (коригуємо дані відповідно раніше зазначених в встановлювачі)
# Завдання cron для koha3 1 * * * * 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 -b -z 2>&1 > /dev/null
Увага: також слід перевірити виконання цього завдання і з консолі для впевненості, що воно буде виконаються коректно:
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 -b -z -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)
1) „Хмари“ міток і класифікації (для класифікацій необхідно правити build_browser_and_cloud.pl та opac-browser.tmpl)
# Завдання cron для koha3 (приклад для УДК (3 ділення) і Unimarc) 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/cronjobs/build_browser_and_cloud.pl -b -f 675a -t 606 -c -m 3
Запуск веб-інсталятора
У веб-браузері вводимо адресу нашого сервера
http://localhost:8888?language=uk-UA
(повинен з’явиться запит на вхід у систему і подальшого встановлення)
Поки не продовжуємо, оскільки у джерельних кодах не доступні локалізовані шаблони для інших мов окрім англійської. Шаблони для української, російської і т.д. необхідно згенерувати.
Створення локалізованих шаблонів
Переходимо у теку сценаріїв локалізації Коха
cd /usr/share/koha3/misc/translator
й запускаємо створення локалізованих шаблонів для кожної мови
sudo env KOHA_CONF=/etc/koha3/koha-conf.xml PERL5LIB=/usr/share/koha3/lib perl -I /usr/share/koha3/lib "./translate" install uk-UA sudo 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-таблиць (в роботі)
Робочі файли з таблицями (у DrobBox Сергія Дубика) для російської та української sql-локалізації знаходяться за адресою:
http://db.tt/ExL7MRZ
Теки uk-UA та ru-RU необхідно розмістити (замінити існуючі) у робочому каталозі Koha
/usr/share/koha3/intranet/cgi-bin/installer/data/mysql
Після цього необхідно перезавантажити сервер (веб-встановлювач чомусь інакше не бачить інші мови окрім англійської).
Кроки веб-інсталятора
Далі продовжуємо у веб-браузері
http://localhost:8888?language=uk-UA
Реєструємося (згадуємо логін АдміністраторСистемиKoha та пароль ПарольАдміністраторСистемиKoha)
Крок 1.
- Вибір мови: uk-UA
- Перевірка встановлених залежностей (пакунки)
Крок 2.
- Вивід налаштувань БД
- Перевірка існування БД Koha3 та привілеїв доступу користувача АдміністраторСистемиKoha
Крок 3.
- Підготовка таблиць
- Створення таблиць
- Підготовка базового налаштування
- Вибір стандарту МАРК-записів: Unimarc
- Вибір sql-таблиць для імпорту — вибрати усе
Продовжуємо …
- Імпорт sql-таблиць
Дивимося чи немає помилок імпорту sql-таблиць.
Встановлення завершено.
Оновлення безпеки
ОС GNU/Linux Debian
Для можливості встановлення оновлень безпеки у /etc/apt/sources.list повинен бути рядок
deb http://security.debian.org/ squeeze/updates main contrib non-free
Встановлення оновлень виконується командами
sudo apt-get update sudo apt-get upgrade
Системному адміністратору бажано підписатися на список розсилання „Debian Security Announce“:
http://lists.debian.org/debian-security-announce/
і проводити поновлення якщо у розсиланні згадуються встановлені у системі пакунки.
Koha
У останні час команда розробників Koha випускає нову „мінорну“ (третя цифра) версію раз на місяць і приблизно раз на півроку/рік „мажорну“ (друга цифра). У мінорних версіях як правило значних нововведень немає але часто усуваються якісь недоліки або проблеми з безпекою.
За новинами про Koha легко стежити через сервіс Nabble:
http://koha.1045719.n5.nabble.com/Koha-f3047917.subapps.html
(тут зібрано більшість списків розсилань про Koha).
Перед оновленням обов’язково потрібно зробити резервні копії БД й каталогів з налаштуваннями, perl-сценаріями й веб-шаблонами Koha. Також бажано налаштувати періодичне повне або часткове резервування сервера з АБІС Koha на інший сервер або мережеве сховище.
Детальні інструкції по оновленню можна знайти або за адресою
http://wikitntu.org.ua/%D0%9E%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BD%D1%8F_Koha,_%D0%B2%D1%81%D1%82%D0%B0%D0%BD%D0%BE%D0%B2%D0%BB%D0%B5%D0%BD%D0%BE%D1%97_%D0%B7_%D0%B4%D0%B6%D0%B5%D1%80%D0%B5%D0%BB%D0%B0
або на сайті АБІС Koha (http://koha-community.org).
Застереження: оновлення Koha розраховане на „чисте“ некастомізоване (щодо сценаріїв, шаблонів, типової структури БД) встановлення Koha. Як правило, усі локальні зміни у БД, perl-сценаріях та веб-шаблонах після поновлення пропадають. Тому після поновлення потрібно відновити (і адаптувати до нової версії) усі локальні зміни а також детально перевірити зачеплювану ними функціональність.
Консольні інструменти АБІС Koha
Теки та файли АБІС Koha
Тут наведені теки для одного конкретного встановлення Koha (В інших встановленнях теки будуть трохи відрізнятися).
- /etc/koha3/
— файли Налаштування Koha, віртуальні хости для Apache, файли Налаштування рушія Zebra
- /usr/share/koha3/
— основний каталог АБІС Koha, містить
- /usr/share/koha3/bin/
— консольні утиліти (для пошукової індексації, міграції, перевірок й т. П.), Як правило, для часозатратних операцій
- /usr/share/koha3/doc/release_notes/
— зібрання приміток про всі версії Koha
- /usr/share/koha3/intranet/cgi-bin/
— Perl-сценарії всіх модулів бібліотечного інтерфейсу (БІ)
- /usr/share/koha3/intranet/htdocs/intranet-tmpl/prog/
— локалізовані веб-шаблони модулів бібліотечного інтерфейсу
- /usr/share/koha3/opac/cgi-bin/
— Perl-сценарії електронного каталогу (ЕК)
- /usr/share/koha3/opac/htdocs/intranet-tmpl/prog/
— локалізовані веб-шаблони електронного каталогу
- /usr/share/koha3/lib/C4/
— загальні perl-модулі
- /usr/share/koha3/man/man3/
— документація у man-форматі для perl-модулів, модулів БІ/ЕК
- /usr/share/koha3/misc/translator/
— інструменти локалізації а також файли перекладів (з http://translate.koha-community.org/)
- /usr/share/koha3/misc/koha-install-log
— файл журналу встановлення (використовується при оновленні)
- /var/log/koha3/
— системні журнали Koha
- /var/lib/mysql/Koha3
— файли БД MySQL „Koha3“ з даними (задля бекапів)
- /var/lib/koha3/zebradb/
- /var/lock/koha3/zebradb/
— файли БД Zebra
Періодичні завдання
Різноманітні періодичні завдання у вигляді perl-сценаріїв зібрані у теці /usr/share/koha3/bin/cronjobs:
- crontab.example —
приклад переліку періодичних завдань;
- holds/build_holds_queue.pl, holds/cancel_expired_holds.pl —
робота з чергою резервувань та застарілими резервуваннями;
- rss/rss.pl і додаткові файли —
періодична підготовка RSS-каналів згідно шаблонів;
- stats/monthly_circulation_statistics.pl, stats/monthly_new_items_statistics.pl, stats/monthly_new_patron_statistics.pl —
підготовка місячної статистики у CSV-форматі щодо обігу, нових надходжень та відвідувачів;
- MARC21_parse_test.pl —
періодичний аналіз і можливе виправлення xml-полів biblioitems.marcxml;
- advance_notices.pl —
підготовка оповіщень про повернення і розміщення їх у чергу;
- backup.sh —
приклад сценарію архівування БД;
- build_browser_and_cloud.pl —
сценарій для створення хмари користувацьких міток та класифікаційного дерева;
- cart_to_shelf.pl —
сценарій для автоматичної зміни розташування „CART“ на звичайне (для даного екземпляра) поличне розташування;
- check-url.pl —
перевірка URL-посилань у бібліографічних записах;
- cleanup_database.pl —
очистка таблиць sessions та zebraqueue (повністю чи лише старі записи);
- cloud-kw.pl, cloud-sample.conf —
створення хмари ключових слів на підставі покажчика Zebra (Налаштування у файлах * .conf);
- create_koc_db.pl —
створення файлу БД для інструменту офлайнової книговидачі;
- fines.pl —
сценарій нарахувань пені;
- gather_print_notices.pl —
виведення усіх очікуючих повідомлень у файл;
- j2a.pl —
змінює тип користувача з „J“ на „A“ при досягненні 18-річчя;
- longoverdue.pl —
сценарій встановлення статусів втрати для давно прострочених книг й нарахування штрафів;
- notifyMailsOp.pl —
повідомлення електронною поштою;
- overdue_notices.pl —
підготовка повідомлень щодо прострочених примірників;
- printoverdues.sh —
сценарій перетворення html » pdf файлів та роздруківки їх;
- process_message_queue.pl —
сценарій обробки черги повідомлень;
- runreport.pl —
сценарій виконання підготовлених звітів;
- serialsUpdate.pl —
сценарій поновлення підписки на серіальні видання;
- services_throttle.pl —
потрібно для скидання дроселя послуг xisbn;
- smsoverdues.pl —
сценарій передачі відвідувачам SMS-повідомлень щодо пені чи прострочок;
- zebraqueue_start.pl —
сценарій для запуску служби Zebra;
Консольні утиліти
Деякі завдання в АБІС Koha виконуються консольними утилітами. Їх можна знайти у наступних теках:
/usr/share/koha3/bin /usr/share/koha3/misc/translator
Нище перераховані існуючі утиліти: (тека /usr/share/koha3/bin)
- admin/koha-preferences — робота з системними змінними (встановлення, зміна, вивід, завантаження/вивантаження);
- cronjobs/ — періодичні завдання (описано вище);
- interface_customization/ — вихідні файли koha3-staff-client-logo. * і koha3-opac-button-background. *;
- load_testing/ — тести на швидкодію, регресії і т.п. для обігу та веб-служб (сценарії benchmark_circulation.pl та benchmark_webservices.pl);
- maintenance/ —
MARC21_utf8_flag_fix.pl — виправлення значення позиції 9 маркера для MARC21 — UTF8,
UNIMARC_fix_collectiontitle.pl — перевірка biblioitems.collectiontitle,
UNIMARC_sync_date_created_with_marc_biblio.pl — datecreated-> 099c і timestamp-> 099d,
fix_accountlines_date.pl — виправлення дати для пені,
sync_items_in_marc_bib.pl — заміна екземплярних даних в МАРК-полях на дані з таблиці items;
- migration_tools/ — сценарії використовувані при міграції даних, для створення/оновлення пошукового покажчика і т.п.,
22_to_30/ — набір сценаріїв для поновлення Коха серії 2.2.х до 3.0,
build6xx.pl — перестворення заданого тезауруса (авторитетного файлу) на підставі даних Біб-запису,
buildCOUNTRY.pl — сценарій перестворення списку країн (COUNTRY) з існуючих країн в Біб-записах,
buildEDITORS.pl — сценарій перестворення списку EDITORS (для полігонів 210c і 225a),
buildLANG.pl — сценарій перестворення списку мов (LANG) з існуючих мов в Біб-записах,
bulkauthimport.pl — сценарій імпорту файлів авторитетних записів формату MARCXML або ISO2709,
bulkmarcimport.pl — сценарій імпорту файлів бібліографічних записів формату MARCXML або ISO2709,
fix_onloan.pl — оновлення статусу "на видачі" для екземплярів,
merge_authority.pl — утиліта для об'єднання двох авторитетних записів,
rebuild_nozebra.pl — основний сценарій створення пошукових покажчиків для режиму NoZebra,
rebuild_zebra.pl — основний сценарій створення пошукових покажчиків для режиму Zebra,
remove_unused_authorities.pl — вилучення авторитетних записів, які не прив'язані до Біб-записів,
upgradeitems.pl — оновлення екземплярних записів у Біб-записі (для поля 995, Unimarc);
- spellcheck_suggest/make_spellcheck_suggest.pl — початкова реалізація перевірки правопису (Marc21);
- batchCompareMARCvsFrameworks.pl — сценарій порівнює файл iso2709 і МАРК-структуру в Коха і повертає дані про використовувані/невикористовувані підполя;
- batchDeleteUnusedSubfields.pl — вилучення невикористовуваних МАРК-полів (не представлених в МАРК структурах);
- batchImportMARCWithBiblionumbers.pl — імпорт ISO2709-файлу, для записів якого вже існують відповідні №№ biblio.biblionumber (MARC21);
- batchRebuildBiblioTables.pl — перебудова НЕ-MARC БД з MARC-значень (напр., при зміні відображення Koha-MARC);
- batchRepairMissingBiblionumbers.pl — пошук і виправлення відсутніх значень полів biblionumber/biblioitemnumber;
- batchupdateISBNs.pl — пакетне вилучення знаку „-“ в значеннях ISBN;
- check_sysprefs.pl — перевірка на відсутні системні змінні;
- commit_biblios_file.pl — сценарій для імпорту заготовлених раніше записів (за допомогою stage_biblios_file.pl або інструменту „Заготівля МАРК-записів для імпорту“);
- exportauth.pl — експорт авторитетних файлів у файл ISO2709;
- koha-pazpar2-ctl.sh — сценарій служби PAZPAR2 для init.d;
- koha-zebra-ctl.sh — сценарій служби ZEBRA для init.d;
- koha-zebraqueue-ctl.sh — сценарій служби ZEBRAQUEUE для init.d;
- kohalib.pl — сценарій встановлення шляху до модулів C4;
- link_bibs_to_authorities.pl — сценарій для приєднання до заголовків Біб-запису відповідних авторитетних записів;
- perlmodule_ls.pl — вивід використовуваних модулів;
- perlmodule_rm.pl — вилучення perl-модуля;
- sax_parser_print.pl — перевірка поточного SAX-аналізатора (повинен бути XML::LibXML::SAX::Parser);
- sax_parser_test.pl — перевірка виводу XML::SAX;
- stage_biblios_file.pl — завантаження файлу Біб-записів у сховище (для подальшого імпорту за допомогою commit_biblios_file.pl або інструменту „Управління заготовленими МАРК-записами“);
- zebraqueue_daemon.pl — служба для стеження за чергою Zebra і оновленні Zebra якщо потрібно.
(тека /usr/share/koha3/misc/translator)
- translate
— утиліта для ведення перекладів в Koha, приклади використання
translate create fr-FR — створення po-файлів з шаблонів для мови fr-FR,
translate update fr-FR — оновлення існуючих po-файлів з теки шаблонів,
translate install fr-FR — внесення перекладу з po-файлів в шаблони і описи системних параметрів для мови fr-FR,
translate -p install fr-FR — внесення перекладу лише для описів системних параметрів,
translate install — внесення перекладів в шаблони для усіх існуючих мов (використовуючи усі po-файли в теці /usr/share/koha3/misc/translator/po).
Оновлення перекладів
Переклад інтерфейсу АБІС Koha ведеться на сайті http://translate.koha-community.org. Наприклад, для української мови та для версії 3.16.х файли розділ перекладу знаходиться тут: http://translate.koha-community.org/uk/316/.
Про сценарії для перекладу вже згадувалося у розділах „Створення локалізованих шаблонів“ і попередньому.
Для спрощення оновлення перекладів Сергієм Дубиком написано кілька сценаріїв, які можна знайти у теці koha_localization_scripts_3.2.X_with_custom:
- 0_DOWNLOAD_po_from_Koha_32_web.sh — викачує потрібні po-файли (для обраних мов і версії);
- 1_BACKUP_work_templates.sh — архівує локалізовані теки (для обраних мов);
- 2_UNION_with_CUSTOM.sh — об’єднує офіційні po-файли з локальними (у локальних po-файлах розміщується локалізація локальної кастомізації);
- 3_INSTALL_po_to_work_TEMPLATEs.sh — копіювання результуючих po-файлів у теку misc/translator/po та оновлення перекладу тек з локалізованими шаблонами інтерфейсу (для обраних мов);
- all_32.sh — виконує дії № 0,2,3 за раз.
(сценарії виконуються у оточенні користувача АдміністраторСистемиKoha)
Локальні po-файли мають назву подібно uk-UA-i-opac-t-prog-v-3006000-custom.po.
Створення архівних копій
Архівну копію БД бажано робити щодня і копіювати на інший комп’ютер. Приклад сценарію бекапу згадувався в періодичних завданнях (backup.sh). Також є сценарій архівування Сергія Дубика:
koha_backup_scripts/EXPORT_all_DB_data_and_structure.sh
Дані сценарії потрібно доопрацювати під свої потреби і бажано доповнити варіантом бекапу всієї системи.
Локальні зміни цієї установки АБІС Koha
Від базового локальне встановлення АБІС Koha може відрізнятися
- налаштуваннями системних змінних;
- набором початкових даних;
- структурою БД;
- змінами в виконуваний код;
- змінами в шаблонах користувацького інтерфейсу.
Початкові дані та змінені системні змінні опустимо, оскільки їх перерахування виходять за межі короткої інструкції для адміністратора.
Латки
У бібліотечному інтерфейсі було накладено 2 латки для додавання кириличного алфавіту при пошуку відвідувача:
- intranet/cgi-bin/members/member.pl:
149 my @letters = map { {letter => $_} } (. 150 'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я', 151 'І','Ї','Є','Ґ','Ў', 152 'A' .. 'Z');
- intranet/cgi-bin/members/members-home.pl:
82 my @letters = map { {letter => $_} } ( 83 'А','Б','В','Г','Д','Е','Ё','Ж','З','И','Й','К','Л','М','Н','О','П','Р','С','Т','У','Ф','Х','Ц','Ч','Ш','Щ','Ъ','Ы','Ь','Э','Ю','Я', 84 'І','Ї','Є','Ґ','Ў', 85 'A' .. 'Z');
Також частково змінювався файл періодичної підготовки хмари теґів та ієрархії за класифікацією:
- bin/cronjobs/build_browser_and_cloud.pl