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

Версія від 15:50, 6 травня 2011, створена Dubyk (обговореннявнесок) (Перлівські модулі)

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

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

Локаль з UTF-8

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

 sudo locale

у виводі повинно бути

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 update-locale LANG=uk_UA.UTF-8

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

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

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

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

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

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

Командою visudo відкриваємо для редагування файл привілеїв адміністратора і надаємо їх користувачу АдміністраторСистеми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“

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

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

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

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

3) Логічне посилання на теку

Зручно мати логічне посилання на теку з Koha

rm ~/koha/koha.local;ln -s ~/koha/koha-3.04.00.000 ~/koha/koha.local

Створення БД для 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 виконати

~/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 має бути найнижче)

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

Команда

~/koha/koha.local/koha_perl_deps.pl -c -u -m

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

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

Відсутні та модулі новіших версій шукайте у гілці Debian unstable або ж в CPAN (Perl-модулі з CPAN встановлюються командую на кшталт „sudo cpan HTTP::OAI“).