Koha 3.10 on Centos 6.3 x86 64

Koha 3.6 on Centos 6.2 i386 belgesinden esinlenilmiştir. 
Bu belge koha kütüphane otomasyon sisteminin 3.10 sürümü 64 bit Centos Linux 6.3 sürümüne kurulumu için gerekli ön hazırlıklar, program kurulumu ve kurulum sonrası yapılması gerekli ayarları içermektedir. 
== Centos Kurulumu ==
1.  Kurulum Kurulum esnasında kurulum tipi olarak Minimal seçin. Customize seçeneğini işaretleyin ve aşağıdaki paketleri ekleyin: 
Applications: Emacs, Graphics -> ImageMagick
Base: Perl
Databases: MySQL Client, MySQL Server
Development: Additional Development -> libxslt-devel, tcp_wrappers-devel
Languages: Chinese, Japanese
Servers: Print Server, Email Server
Web Services: PHP Support -> php-mysql, Web Server -> bütün Perl modullleri
 
2. Kurulumdan sonra aşağıdaki paketleri yükleyin. 
yum -y install rpm-cron memcached tcl libicu-devel make openssh-clients vim wget setools policycoreutils-python cyrus-sasl-plain
 
3.  Kurulum sonrası gerekli güncelleştirmeleri yapın. 
yum -y update
 
4.  Centos SELinux ayarlarını devre dışı bırakın.
/etc/sysconfig/selinux dosyasını açın.
vim /etc/sysconfig/selinux
SELINUX=enforcing
satırını
SELINUX=disabled
olarak değiştirin. Sunucuyu yeniden başlatın.
== Koha kurulumu: (Ön Hazırlık) ==
1. Koha'yı indirin. EPEL ve Rpmforge repolarını kurun. Bu repolar bazı perl paketlerini RPM olarak kurmanızı sağlayacaktır. 
rpm --install 'http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm'
rpm --install 'http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm'
wget -nd 'http://download.koha-community.org/koha-latest.tar.gz' 
2. Centos minimal kurulumunda bulunmayan fakat koha için gerekli olan paketleri kurun. 
yum -y install perl-CPAN perl-CPAN-Meta-YAML gcc GraphicsMagick-perl
yum -y install --disablerepo=rpmforge,epel 'perl-*'
yum -y install perl-DBD-SQLite2 perl-Unix-Syslog perl-UNIVERSAL-require perl-Net-Server patch perl-Moose 
 perl-Test-YAML-Valid perl-Time-Progress
# perl-YAML 0.72
yum -y --enablerepo=rpmforge-extras install perl-YAML 
3. Yaz ve zebra paketlerini indexdata sitesinden indirin ve kurun. 
wget http://ftp.indexdata.dk/pub/zebra/redhat/centos/6/RPMS/x86_64/idzebra-2.0-2.0.54-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/zebra/redhat/centos/6/RPMS/x86_64/libidzebra-2.0-2.0.54-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/zebra/redhat/centos/6/RPMS/x86_64/libidzebra-2.0-modules-2.0.54-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/zebra/redhat/centos/6/RPMS/x86_64/libidzebra-2.0-devel-2.0.54-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/yaz/redhat/centos/6/RPMS/x86_64/libyaz4-4.2.51-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/yaz/redhat/centos/6/RPMS/x86_64/libyaz4-devel-4.2.51-1indexdata.x86_64.rpm
wget http://ftp.indexdata.dk/pub/yaz/redhat/centos/6/RPMS/x86_64/yaz-4.2.51-1indexdata.x86_64.rpm
rpm -ivh libidzebra* idzebra* libyaz4* yaz* 
Not: Zebra versiyonu 2.0.52 ve üstü olmalı. Yoksa kayıtlar güncellendiğinde kayda ait materyaller arama sonuçları içerisinde görünmüyor. 
4. GraphicsMagic kurulumunun düzeltilmesi. 
cd /usr/lib64/perl5/vendor_perl/auto/Graphics/Magick
mv Magick.so Magick-0.so
ld -share -o Magick.so `pwd`/Magick-0.so /usr/lib64/libGraphicsMagick.so.3.10.0 
5. Koha için gerekli fakat dağıtımla gelmeyen paketlerin kurulumu ve sürümü Koha gereksinimlerini karşılamayan paketleri sürümlerinin yükseltilmesi. 
Eksik perl rpm paketlerini koha_perl_deps.pl betiği ile bulun ve yükleyin: 
tar zxf koha-latest.tar.gz
cd koha-3.10.01
perl koha_perl_deps.pl -m -b -r | sed -e 's/::/-/g' | awk '{print "yum -y install perl-"$1}' > perl-pkgs-install
sh perl-pkgs-install
perl-MARC-Charset paketi, Türkçe karakter problemine sebep oluyor. Rpm ile kurulan versiyonu 1.1. Bu yüzden bu paketi sistemden kaldırıp CPAN üzerinden kurulması gerekiyor.
rpm -e perl-MARC-Charset
Kalan paketleri CPAN üzerinden kurun. Kurulumda paket bağımlılıklarının otomatik olarak yüklenmesi için aşağıdaki komutları verin.
perl -MCPAN -e shell
o conf build_requires_install_policy yes
o conf prerequisites_policy follow
o conf commit
Centos Sürümüyle gele veya repolardan yum programıyla yüklenen ve koha gereksinimlerini sağlamayan perl modüllerinin listesini almak için aşağıdaki komutu verin. 
perl koha_perl_deps.pl -u
bu belgenin yazlıdığın an itibariyle perl-DateTime paketi, koha gereksinimlerini sağlamıyor. Bu yüzden bu paketi sistemden kaldırıp CPAN üzerinden kurmak gerekiyor. Bu ve benzeri paketleri sistemden kaldırın ve perl modullerini CPAN üzerinden yükleyin.
yum erase perl-DateTime
perl koha_perl_deps.pl -m -b -r | awk '{print "cpan -i "$1}' > perl-modules-install
sh perl-modules-install
CPAN üzerinden kurulamayan paketlerin listesini alıp bu paketleri “-f” parametresiyle kurmak gerekiyor.
perl koha_perl_deps.pl -m -b -r | awk '{print "cpan -i -f "$1}' > perl-modules-install2
sh perl-modules-install2
KOHA için kurulması yararlı olan fakat zorunlu olmayan perl modüllerini yüklemek için aşağıdaki komutları verin.
perl koha_perl_deps.pl -m | grep 'No' | sed -e 's/::/-/g' | awk '{print "yum -y install perl-"$1}' > perl-pkgs-install-nr
sh perl-pkgs-install-nr
rpm paket yöneticisi ile yüklenen paketler içerisinde koha gereksinimlerini sağlamayan perl modüllerinin listesini almak için aşağıdaki komutu verin. 
perl koha_perl_deps.pl -u
Bu modülleri silmek için aşağıdaki komutları verin;
perl koha_perl_deps.pl -u | grep 'No' | sed -e 's/::/-/g' | awk '{print "yum -y erase perl-"$1}' > perl-pkgs-install-sil
sh perl-pkgs-install-sil
Sildiğiniz modülleri CPAN üzerinden yüklemek için,
perl koha_perl_deps.pl -m | grep 'No' | awk '{print "cpan -i "$1}' > perl-modules-install-nr
sh perl-modules-install-nr
== Mysql sunucu ayarları ==
mysql sunucusunun açılışta otomatik olarak başlatılması için aşağıdaki komutu verin.
chkconfig mysqld on
/etc/my.cnf dosyasında aşağıdaki değişiklikleri yapın. Mysql sunucusunu yeniden başlatın.
vim /etc/my.cnf
[mysqld]
character-set-server=utf8
skip-character-set-client-handshake
service mysqld restart
mysql güvenlik ayarları için aşağıdaki komutu çalıştırın.
/usr/bin/mysql_safe_installation
KOHA veritabanını oluşturun. kohaadmin kullanıcısı için şifreyi belirleyin. Aşağıdaki örnekte şifre ‘kohadeneme’ olarak belirlenmiştir.
mysqladmin -u root -p create koha
mysql -u root -p
grant all privileges on koha.* to kohaadmin@localhost identified by 'kohadeneme';
flush privileges;
== KOHA kurulumu: ==
Koha kurulum dizinine girin. Aşağıdaki komutları çalıştırın.
groupadd koha
useradd -s /bin/false -d /usr/share/koha -g koha -M koha
perl Makefile.PL
Bu aşamada (Makefile.PL betiği çalışırken) bir takım sorular soracak. Betik içerisinde yeterli açıklama bulunuyor. Sunucuya ait DNS tanımlamaları doğru olarak yapılması gerekli. Sunucunun DNS sunucusunda kayıtlı ismi olması gerekli. Yoksa betik (script) hata veriyor. Betik başarılı olarak sonlandığında Makefile dosyası oluşturulmuş olacak. Betik ile ilgili Herhangi bir ayar değiştirmek istediğinizde betiği tekrar çalıştırın. Betik ile işiniz bittiğinde aşağıdaki komutları vererek koha dosyalarının sisteme yüklenmesini sağlayın.
make
make install
Kabuk üzerinden koha ile ilgili bir betik çalıştırmak için kabuk değişkenlerini tanımlayın.
vim /etc/profile.d/koha.tcsh
setenv KOHA_CONF /etc/koha/koha-conf.xml
setenv PERL5LIB /usr/share/koha/lib
vim /etc/profile.d/koha.sh
export KOHA_CONF=/etc/koha/koha-conf.xml
export PERL5LIB=/usr/share/koha/lib
== Koha index ayarları ==
1. İndex programının yüklenmesi
Koha katalog kayıtlarında yapılan değişikliklerin zebra indekslerine yansıması için zebra-index-daemon programı kurulması lazım. Koha dağıtımında zebraqueue_daemon.pl geliyor. Bu script problemli çalışıyor. Bu Programın yerine Tamil index programını cpan üzerinden yüklemek gerekiyor;
 cpan -i Koha::Contrib::Tamil
2. Zebra ayarları
Paket kurulumu yukarıda anlatıldı.
Zebra ayar dosyalarında, 64 bit sistemlerde, zebra modüllerinin yeri yanlış gösterilmiş. Bu dosyalar Centos Koha kurulumunda /etc/koha/zebradb/ dizinindeki zebra-authorities.cfg, zebra-authorities-dom.cfg, zebra-biblios.cfg, zebra-biblios-dom.cfg dosyalarıdır. Bu dosyaları açıp 
vim /etc/koha/zebradb/zebra-*.cfg
modulePath: /usr/lib/idzebra-2.0/modules
satırını aşağıdaki gibi değiştirin.
modulePath: /usr/lib64/idzebra-2.0/modules
Aksi takdirde zebra modülleri başlatamayacaktır. Zebra sunucusu çalıştığı halde işlem yapmayacaktır. İsteğe ve sistem kaynaklarına bağlı olarak zebranın indeksleme esnasında kullanacağı ram miktarı artırılabilir. (memMax: seçeneğinden)
Zebra versiyonu 2.0 olduğundan bazı betikler zebra index programını çalıştıramayacaktır. Bu betiklerde zebra indeksleme programı 'zebraidx' olarak tanımlanmıştır. Bundan dolayı zebraidx-2.0 dosyasına sembolik link oluşturmak gereklidir.
ln -s /usr/bin/zebraidx-2.0 /usr/bin/zebraidx
Zebranın Türkçe “İ” ve “ı” harflerini doğru araması için GRS1 kullanıyrosanız word-phrase-utf.chr dosyasına aşağıdaki satırları ekleyin.
vim /etc/koha/zebradb/etc/word-phrase-utf.chr
dosyasına,
map İ	i
map ı	i
satırlarını ekleyin.
Eğer ICU kullanıyorsanız /etc/koha/zebradb/etc/words-icu.xml dosyasına 
 <transliterate rule="\'>\ "/> 
satırından sonra,
 <transliterate rule="ı>I"/> 
satırını ekleyin.
Açılışta zebra servislerinin çalışması için “/etc/rc.local” dosyasına aşağıdaki satırları ekleyin,
export KOHA_CONF=/etc/koha/koha-conf.xml
export PERL5LIB=/usr/share/koha/lib
/usr/bin/zebrasrv-2.0 -D -T -p /var/run/zebrasrv.pid -f /etc/koha/koha-conf.xml -l /var/log/koha/zebrasrv.log
/usr/local/bin/koha-index-daemon --timeout 10 --directory /tmp &
== HTTPD ayarları ==
Web sunucusunun koha web ayarlarını görebilmesi için aşağıdaki komutları verin.
ln -s /etc/koha/koha-httpd.conf /etc/httpd/conf.d/ 
vim /etc/httpd/conf/httpd.conf 
Listen 8008
Koha opac ve staff arayüzleri için web sunucu portlarını ayarlayın. Örnek ayar aşağıda verilmiştir. 
vim /etc/httpd/conf.d/koha-httpd.conf
<VirtualHost *:80>
<VirtualHost *:8008>
Timeout 3600
== İptables kuralları ==
iptables izinleri. /etc/sysconfig/iptables dosyasına (INPUT kurallarının başına) aşağıdaki satırları ekle. iptables servisini yeniden başlatın.
vim /etc/sysconfig/iptables
-A INPUT -m state --state NEW -m tcp -p tcp -s 192.168.71.146 --dport 3306 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5500 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8008 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 9998 -j ACCEPT
/etc/init.d/iptables restart
== Türkçe Çeviri ==
Türkçe çevirilerin sisteme eklenmesi için aşağıdaki komutları verin.
cd /usr/share/koha/misc/translator/
perl translate install tr-TR
== Web Kurulumu ==
Tarayıcınızdan (KOHA kurulu sunucu üzerinde) http://localhost:8008/ adresine bağlanın. Yönetici arayüzünden gerekli ayarları yapın.
== Zebra indekslerini oluşturma ==
Varsa çalışan zebra programlarını kapatın. Aşağıdaki komutları vererek Zebra indekslerini oluşturun,
cd /usr/share/koha/bin/migration_tools/
./rebuild_zebra.pl -b -a -r -v
Zebra servislerini tekrar çalıştırmak için aşağıdaki komutu verin.
. /etc/rc.local
== Cron Ayarları ==
Temel cron servisleri için /etc/cron.d/ dizininde koha adında dosya oluşturun
vim /etc/cron.d/koha
Dosyanın içeriği aşağıdaki gibi olacak,
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
PERL5LIB="/usr/share/koha/lib"
KOHA_CONF="/etc/koha/koha-conf.xml"
# iade tarihi yaklasan kitaplar icin hatirlatma. Hergun sabah saat 05:49 da gönderiliyor.
49 5 * * * root perl /usr/share/koha/bin/cronjobs/advance_notices.pl -c
# Gecikmis kitaplar icin hatirlatma. Hergun sabah saat 05:45 te gonderiliyor.
45 5 * * * root perl /usr/share/koha/bin/cronjobs/overdue_notices.pl -t
# Hatilatmalarin e-posta ile gonderilmesi. Hergun sabah saat 06:30.
30 6 * * * root perl /usr/share/koha/bin/cronjobs/process_message_queue.pl
# iade zamani gecmis materyaller icin ceza hesaplanmasi. Hergun sabah saat 07:00.
0 7-23/2 * * * root perl /usr/share/koha/bin/cronjobs/fines.pl
cron servisini ayarları tekrar okumasını sağlayın.
 service crond reload
Category:Installation
Category:3.10