Risuaidalla (#) merkityt rivit ovat komentoja, jotka ajetaan root:na. Dollarilla ($) merkityt rivit ajetaan tyypillisesti koha-tunnuksella. Tässä ohjeessa oletetaan, että Koha asennetaan /var-hakemistoon. Säädä tarpeen mukaan.
HUOM. tämä on kesken!
Linkkejä ohjeisiin, joihin osa tämän sivun ohjeista perustuu:
https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_git
https://tiketti.koha-suomi.fi:83/projects/smd/wiki/Setting_up_KohaSuomi_git_repository
https://github.com/KohaSuomi/Koha
Esivalmistelut
$ ssh root@localhost
Asenna Git ja Emacs
# apt-get install git git-email emacs24 make lynx
Lataa Koha-lähdekoodit:
#
cd /var#
git clone --recursive [email protected]:NatLibFi/Koha.git kohaclone
Asenna Kohan tarvitsemat paketit:
# apt-get
install libconfig-simple-perl # testaamaton, mutta ajoissa tehtynä
saatettaisiin täältä saada toivottu 4.59.x versio cpanista tulevan
4.58:n sijaan
# apt-get install libyaz4 libyaz4-dev
Perl-valmistelua:
#
cpan install CPAN# cpan install ZOOM
Asenna cpanm, tästä on hyötyä, jos jotain joutuu poistamaan ja asentamaan uudelleen eri version
#
cpan install App::cpanminus
MariaDB 10.x: seuraa ohjeita sivulla https://downloads.mariadb.org/mariadb/repositories/#mirror=netinch&distro=Ubuntu&distro_release=xenial--ubuntu_xenial&version=10.2
Tarkista puuttuvien Perl-modulien tilanne
#
cd $KOHA_HOME/kohaclone
# ./koha_perl_deps.pl -m -u
Asenna puuttuvat modulit (keskeytä ctrl-c:llä ja yritä uudelleen, jos ei mene läpi):
#
for i in `./koha_perl_deps.pl -m -u | perl -pe 's/ .*//;' | egrep "::"`; do echo $i; cpan install $i; done
Tämä ei näkynyt listassa, mutta OAI-PMH -serveri tarvitsee: (TIMBRODY HTTP::OAI::Headers). Samaten libxml-xslt-perl voi olla tarpeen.
#
cpan install HTTP::OAI::Headersapt-get install lib{www-curl,test-exception,xml-xslt}-perl libcurl3 pkg-config
#cpan install Git
#
# cpan install LORN/LWP-Curl-0.12.tar.gz # (tämä oli vaadittu versio, mutta voi toimia uudemmallakin)
Readonly::XS jää listaan, mutta se ei ole pakollinen ja uudempi versio on kyllä jo asennettu.
Luo tietokanta
#
mysql -u root
CREATE DATABASE koha;
CREATE user 'kohaadmin'@'localhost' IDENTIFIED by '{koha user password}'; GRANT ALL ON koha.* TO 'kohaadmin'@'localhost' IDENTIFIED BY '{koha user password}'; FLUSH PRIVILEGES; QUIT
Kohan asennus
(muokattu https://wiki.koha-community.org/wiki/Koha_on_ubuntu_-_git -dokumentista):
installation mode: dev
configuration directory: /var/koha-dev
database owner password: {koha user password}
zebra tokenization/normalization: icu
# cd /var/kohaclone
# export __KOHA_USER__=$USER
# export __KOHA_GROUP__=$USER
# perl Makefile.PL
# make
# make test
# make install
# sudo nano /etc/environment
/etc/environment:
KOHA_CONF=/var/koha-dev/etc/koha-conf.xml KOHA_PATH=/var/kohaclone PERL5LIB=/var/kohaclone
Kirjaudu ulos ja takaisin, jotta asetukset tulevat voimaan.
# ln -s /var/koha-dev/etc/koha-httpd.conf /etc/apache2/sites-available/koha.conf
# nano /etc/apache2/sites-available/koha.conf
Muokkaa VirtualHostit niin, että kuunnellaan kaikkia IP-osoitteita:
<VirtualHost *:80>
ja
<VirtualHost *:8080>
# nano /etc/apache2/ports.conf
Listen 80 Listen 8080 <IfModule ssl_module> Listen 443 Listen 8443 </IfModule> <IfModule mod_gnutls.c> Listen 443 Listen 8443 </IfModule>
# a2dissite 000-default
# a2ensite koha
# a2enmod deflate
# a2enmod cgi
# a2enmod ssl
# a2enmod rewrite
# a2ensite koha# systemctl restart apache2
# lynx http://127.0.1.1:8080
Vaihtoehtona viimeiselle kohdalle on suorittaa automaattinen asennus tai web installation ssh-putken kautta paremmalla selaimella. Ks. Web Installation alempata.
Elasticsearch
Huom! Elasticsearch korvaa Zebran ja koha-index-daemonin.
Huom! Jos jokin cpan-asennuskomento epäonnistuu, kokeile toisen kerran..
# apt-get install apt-transport-https
# wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
# echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-5.x.list
# apt-get update
# apt-get install libcatmandu-perl/xenial libcatmandu-marc-perl/xenial openjdk-8-jre-headless curl
# cpan install Catmandu::Store::ElasticSearch Catmandu::MARC Catmandu::Fix::marc_spec
# apt-get install elasticsearch
# /usr/share/elasticsearch/bin/elasticsearch-plugin install analysis-icu
# systemctl daemon-reload
# systemctl enable elasticsearch
# systemctl start elasticsearch
# curl -XPUT "http://localhost:9200/_cluster/settings" -d '{"persistent":{"action.auto_create_index":false}}'
Päivitä seuraava lohko /var/koha-dev/etc/koha-conf.xml:ään <config> -tagin sisällä:
<elasticsearch> <server>localhost:9200</server> <!-- may be repeated to include all servers on your cluster --> <index_name>koha_[tietokannan nimi]</index_name> <!-- should be unique amongst all the indices on your cluster. _biblios and _authorities will be appended. --> </elasticsearch>
Kirjaudu virkailijaliittymään ja käy osoitteessa /cgi-bin/koha/admin/searchengine/elasticsearch/mappings.pl?op=reset&i_know_what_i_am_doing=1&reset_fields=1
Aja uudelleenindeksointi (kyllä, -v kahteen kertaan ja huom! -d tiputtaa vanhan indeksin ensin ja luo uuden ajantasaisilla määrityksillä):
$ cd /tmp; /var/kohaclone/misc/search_tools/rebuild_elastic_search.pl -a -b -v -v -c 25000 -d > index.log
Edistymistä voi seurata index.log:sta. Ei kannata tulostaa suoraan konsoliin, koska -v -parametri tulostaa jokaisen tietuenumeron, ja konsoliin tulostaminen on hidasta.
Vaihda Kohan asetuksista SearchEngine Elasticsearch:ksi.
Aja myös seuraava komento haun maksimikoon kasvattamiseksi:
$ curl -XPUT "http://localhost:9200/koha_xyz_biblios/_settings" -d '{ "index" : { "max_result_window" : 500000 } }'
Jos on tarpeen poistaa ES:n indeksi ja aloittaa alusta, onnistuu se käyttämällä rebuild_elastic_search.pl:n parametria -d tai komentoriviltä komennolla:
$ curl -XDELETE 'http://localhost:9200/koha_xyz_biblios'
Poisto tapahtuu viiveellä, joten kannattaa varmistaa, että indeksi on poistunut ennen uutta indeksointia:
$ curl 'http://localhost:9200/_cat/indices?v'
Elasticsearch:n päivittäminen
Elasticsearchiin on asennettu analysis-icu -plugin. Jos Elasticsearch päivittyy käyttöjärjestelmän päivitysten mukana, voi olla, ettei tuo plugin enää ole yhteensopiva. Siitä seuraa tämän tyyppinen viesti /var/log/elasticsearch/elasticsearch.log:ssa:
[2017-11-20T10:28:18,174][ERROR][o.e.b.Bootstrap ] Exception java.lang.IllegalArgumentException: plugin [analysis-icu] is incompatible with version [5.6.4]; was designed for version [5.6.3]
Pluginin saa päivitettyä seuraavalla komennolla:
# /usr/share/elasticsearch/bin/elasticsearch-plugin
remove analysis-icu; /usr/share/elasticsearch/bin/elasticsearch-plugin
install analysis-icu
Sitten vaan Elasticsearch uudelleen käyntiin:
# systemctl restart elasticsearch
Plack-asennus vasteaikojen nopeuttamiseen
# apt-get install starman
# ln -s /var/koha-dev/bin/koha-plack-daemon.sh /etc/init.d/koha-plack-daemon
# update-rc.d koha-plack-daemon defaults
# systemctl start koha-plack-daemon
# a2enmod headers proxy_http
# systemctl restart apache2
Huom! Jos Plackin asennuksen jälkeen on vaikeuksia saada Configuration-kohdan muutoksia heti näkymään, voi Plackin käynnistää uudelleen:
# systemctl restart koha-plack-daemon
Web Installation
Sitten kun asennuksen kanssa pitäisi edetä, tunneloi 8080 localhostin porttiin 9999:
ssh -L 9999:localhost:8080 tunnus@koha-palvelin
# a2enmod ssl
# a2enmod rewrite
# systemctl reload apache2
Tällöin http://localhost:9999/ vie installeriin
Web-installerin vaihtoehtona on /var/kohaclone/installer/install_automatic.pl, joka tekee asennuksen komentoriviltä.
iptables-muutokset:
# apt-get install iptables-persistent
# iptables-save > /tmp/iptables.txt
# emacs /tmp/iptables # muokkaa lisää pääsyt esmes porteista 443:sta, 8443, 9998 ja 9999
# iptables-restore /tmp/iptables.txt
# netfilter-persistent save # talleta
MariaDB:n asetukset
Oletusasetuksilla MariaDB:llä on vähän muistia jne. Vähintään seuraavat asetukset /etc/mysql/mariadb.conf.d/51-koha.cnf -tiedostoon:
[mysqld] innodb_buffer_pool_size = 512M
Katso myös https://wiki.koha-community.org/wiki/Koha_Tuning_Guide#MySQL_tuning
Lopuksi otetaan asetukset käyttöön:
# systemctl restart mysql
Kohan asetukset
Nämä järjestelmäasetukset ainakin kohdalleen.
Asetus | Arvo |
---|---|
QueryAutoTruncate | Only if * is added. |
EnableAdvancedCatalogingEditor | Enable |
UseControlNumber | Use |
| Allow |
HLD | |
Use | |
TraceSubjectSubdivisions | Include |
SearchEngine | Elasticsearch |
Kohan päivittäminen
# cd /var/kohaclone; git pull; systemctl restart koha-plack-daemon
Tarkista, pitääkö päivittää tai asentaa uusia perl-moduuleja:
# /var/kohaclone/koha_perl_deps.pl -m -u
Asenna puuttuvat ja päivitettävät moduulit:
# for i in `/var/kohaclone/koha_perl_deps.pl -m -u | perl -pe 's/ .*//;' | egrep "::"`; do echo $i; cpan install $i; done
Jos on myös tietokantamuutoksia, ajetaan:
$ perl /var/kohaclone/installer/data/mysql/updatedatabase.pl