Koha 3.0.0 beta 安裝

Koha 3 使用了與已往不一樣的安裝方式, 基於 MakeMaker,這是相當標準的 Perl CPAN 模組安裝方式。所以可以把 Koha 想成一個 Perl 的 Module 來進行安裝,往後更有可能開發出表準且乾淨的 Packages (deb or rpm)。

安裝 Koha 需要俱備 MySQL 5 or PostgreSQL 8.2.5, Zebra 2.0.22 以上與網站伺服器 Apache2。

$ apt-get install apache2 mysql-server-5.0 phpmyadmin 

請記得輸入MySQL資料庫的密碼,如果忘記設定密碼,可以這樣設定

$ mysqladmin -u root password <password>

資料庫使用 MySQL5:

  • 進入資料庫
    $ mysql -u root -p
    
  • 建立 database 'koha'
    mysql> CREATE DATABASE `koha` ;
    
  • 新增使用者 'kohaadmin' 與設定其密碼之後必需調整權限,至少要有 SELECT, INSERT, UPDATE, DELETE, CREATE, DROP 等權限。把 'yourpassword' 換成 koha 要用的密碼。
    mysql> INSERT INTO `mysql`.`user` (`Host`, `User`, `Password`, `Select_priv`, `Insert_priv`, `Update_priv`, `Delete_priv`, `Create_priv`, `Drop_priv`, `Reload_priv`, `Shutdown_priv`, `Process_priv`, `File_priv`, `Grant_priv`, `References_priv`, `Index_priv`, `Alter_priv`, `Show_db_priv`, `Super_priv`, `Create_tmp_table_priv`, `Lock_tables_priv`, `Execute_priv`, `Repl_slave_priv`, `Repl_client_priv`, `Create_view_priv`, `Show_view_priv`, `Create_routine_priv`, `Alter_routine_priv`, `Create_user_priv`, `ssl_type`, `max_questions`, `max_updates`, `max_connections`, `max_user_connections`) VALUES ('localhost', 'kohaadmin', PASSWORD('yourpassword'), 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'Y', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '0', '0', '0', '0');
    mysql> flush privileges;
    
  • 修改 my.cnf
    $ vi /etc/mysql/my.cnf
    
  • 在 client 描述加入預設支援 utf8
    [client]
    port            = 3306
    socket          = /var/run/mysqld/mysqld.sock
    default-character-set=utf8
    
    # Here is entries for some specific programs
    # The following values assume you have at least 32M ram
    
    # This was formally known as [safe_mysqld]. Both versions are currently parsed.
    
  • 在 mysqld 描述加入預設支援 utf8
    [mysqld]
    ...
    default-character-set=utf8
    default-collation=utf8_general_ci
    
    
  • 重新起動 mysql
    /etc/init.d/mysql restart
    

加入其他 apt repositorydeb

  • for Debian Etch
    cat << AddRepository >>/etc/apt/sources.list
    deb-src http://ftp.indexdata.dk/debian etch main
    deb http://ftp.indexdata.dk/debian etch main
    deb http://www.backports.org/debian etch-backports main contrib non-free
    AddRepository
    LANG=C wget -O indexdata.gpg http://ftp.indexdata.dk/debian/indexdata.asc
    apt-key add indexdata.gpg
    apt-get update
    apt-get install debian-backports-keyring
    
  • for Debian Lenny
    cat << AddRepository >>/etc/apt/sources.list
    deb-src http://ftp.indexdata.dk/debian lenny main
    deb http://ftp.indexdata.dk/debian lenny main
    AddRepository
    LANG=C wget -O indexdata.gpg http://ftp.indexdata.dk/debian/indexdata.asc
    apt-key add indexdata.gpg
    apt-get update
    

下載 Koha

前往官方網站下載

http://www.koha.org/

使用 git 抓開發版

$ git clone git://git.koha.org/pub/scm/koha.git kohaclone
$ cd kohaclone
$ git checkout -b myinstall origin

Note: 關於 Koha GIT 的用法請參考
http://wiki.koha.org/doku.php?id=en:development:git_usage

使用中文開發版

http://www.koha-tw.org/unstable/

透過 SVN 抓中文開發版

先安裝 SVN

apt-get install subversion

再參考 下載中文版 下載需要的版本

預設的安裝程序

  1. perl Makefile.PL
    (這邊需要回答一些簡單的問題,如果有很多相依 Modules 沒有安裝,請參考下面做法)
  2. make
  3. make test
    (建議跑一下,失敗也沒關係)
  4. make install
  5. ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha
    (適當修改 apache 的設定檔,例如 ports.conf 可能要增加 8080 port)
  6. a2enmod rewrite
  7. a2ensite koha
  8. /etc/init.d/apache2 reload
  9. zebrasrv -f /etc/koha/koha-conf.xml
    (如果你有跑 zebra)
  10. 瀏覽網頁 http://servername:8080/ 並回答問題以進行後續安裝 網頁安裝說明


中文版的安裝程序

  1. perl Makefile.PL
    (這邊需要回答一些簡單的問題,如果有很多相依 Modules 沒有安裝,請參考下面做法)
  2. make
  3. make test
    (建議跑一下,失敗也沒關係)
  4. make install
  5. ln -s /etc/koha/koha-httpd.conf /etc/apache2/sites-available/koha

(適當修改 apache 的設定檔,例如 ports.conf 可能要增加 8080 port)

  1. a2enmod rewrite
  2. a2ensite koha
  3. /etc/init.d/apache2 reload
  4. mysql -u root -p koha < misc/zh_data/koha_zh.sql 10 完成,您可以直接瀏覽 koha 了

相依的套件 or Module for Koha

cpan 表示要用 cpan -i 來安裝,其餘的可以找到 package 來裝

  • Biblio::EndnoteStyle, cpan
  • Net::Z3950::ZOOM 1.16, cpan(yaz used new version)
  • Net::LDAP::Filter 0.14, cpan
  • PDF::API2::Page 2, cpan
  • PDF::API2::Util 2, cpan
  • Text::CSV_XS 0.32, cpan
  • Data::ICal, libdata-ical-perl or cpan
  • MARC::Charset 0.98, libmarc-charset-perl or cpan
  • MARC::Crosswalk::DublinCore 0.02, libmarc-crosswalk-dublincore-perl or cpan
  • MARC::File::XML 0.88, libmarc-xml-perl or cpan
  • MARC::Record 2, libmarc-record-perl or cpan
  • XML::RSS 1.31, libxml-rss-perl or cpan
  • POE 0.9999, libpoe-perl or cpan
  • Schedule::At 1.06, libschedule-at-perl or cpan
  • Text::CSV 0.01, libtext-csv-perl or cpan
  • Text::Iconv 1.7, libtext-iconv-perl or cpan
  • XML::SAX::ParserFactory 1.01, cpan and libgdbm-dev
  • HTML::Template::Pro 0.69, libhtml-template-perl(太舊?!) 建議用 cpan 來裝
  • Net::LDAP 0.33, cpan
  • CGI::Session, libcgi-session-perl
  • Class::Accessor 0.3, libclass-accessor-perl
  • Class::Factory::Util, libclass-factory-util-perl
  • Date::Calc 5.4, libdate-calc-perl
  • Date::ICal 1.72, libdate-ical-perl
  • Date::Manip 5.44, libdate-manip-perl
  • GD::Barcode::UPCE 1.1, libgd-barcode-perl
  • Lingua::Stem 0.82, liblingua-stem-perl
  • List::MoreUtils 0.21, liblist-moreutils-perl
  • Mail::Sendmail 0.79, libmail-sendmail-perl
  • PDF::API2 2, libpdf-api2-perl
  • PDF::Reuse 0.33, libpdf-reuse-perl
  • PDF::Reuse::Barcode 0.05, libpdf-reuse-barcode-perl
  • XML::Dumper 0.81, libxml-dumper-perl
  • XML::LibXML 1.59, libxml-libxml-perl
  • XML::LibXSLT 1.59, libxml-xslt-perl
  • XML::Simple 2.14, libxml-simple-perl
  • YAML::Syck 0.71, libyaml-syck-perl


所以只要執行兩驟:
* for Debian Etch

apt-get install libcgi-session-perl libclass-accessor-perl libclass-factory-util-perl libdate-calc-perl libdate-ical-perl libdate-manip-perl libgd-barcode-perl libhtml-template-perl liblingua-stem-perl liblist-moreutils-perl libmarc-charset-perl libmarc-record-perl libmail-sendmail-perl libpdf-api2-perl libpoe-perl libtext-csv-perl libtext-iconv-perl libxml-dumper-perl libxml-perl libxml-xslt-perl libxml-rss-perl libxml-simple-perl libyaml-syck-perl libgdbm3 libgdbm-dev libdbd-mysql-perl libdbi-perl libxml-libxslt-perl libmysqlclient15-dev libgdbm3 libgdbm-dev build-essential
dpkg --set-selections < install_misc/debian.packages
apt-get dselect-upgrade
cpan -i Biblio::EndnoteStyle Net::Z3950::ZOOM Net::LDAP::Filter PDF::API2::Page PDF::API2::Util Text::CSV_XS XML::SAX::ParserFactory HTML::Template::Pro XML::LibXSLT PDF::Reuse::Barcode PDF::Reuse MARC::Crosswalk::DublinCore Data::ICal Schedule::At MARC::Charset MARC::File::XML POE Schedule::At Text::CSV Text::Iconv XML::RSS Algorithm::CheckDigits CGI::Carp

* for Debian Lenny

apt-get install libcgi-session-perl libclass-accessor-perl libclass-factory-util-perl libdate-calc-perl libdate-ical-perl libdate-manip-perl libgd-barcode-perl libhtml-template-perl liblingua-stem-perl liblist-moreutils-perl libmarc-charset-perl libmarc-xml-perl libmarc-record-perl libmail-sendmail-perl libpdf-api2-perl libpdf-reuse-perl libpdf-reuse-barcode-perl libpoe-perl libtext-csv-perl libtext-iconv-perl libxml-dumper-perl libxml-perl libxml-xslt-perl libxml-rss-perl libxml-simple-perl libyaml-syck-perl libgdbm3 libgdbm-dev libdbd-mysql-perl libdbi-perl libxml-libxslt-perl libcarp-clan-perl libcgi-session-perl libdate-calc-perl libdate-ical-perl libgd-barcode-perl libmail-sendmail-perl libyaml-syck-perl libxml-libxslt-perl libxml-dumper-perl liblingua-stem-perl libpdf-reuse-perl libconvert-asn1-perl libnet-ldap-perl libdate-calc-perl libfile-remove-perl libyaml-tiny-perl libtest-manifest-perl libalgorithm-diff-perl libclass-singleton-perl libdatetime-format-mail-perl libdatetime-format-w3cdtf-perl libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdevel-symdump-perl libio-stringy-perl libparams-validate-perl libpod-coverage-perl libpod-escapes-perl libpod-simple-perl libtest-differences-perl libtest-pod-coverage-perl libtest-pod-perl libtext-diff-perl libyaz-dev yaz idzebra-2.0 idzebra-2.0-doc libmysqlclient15-dev libyaml-perl libdata-ical-perl libhtml-template-pro-perl libhtml-template-pro-perl libmarc-crosswalk-dublincore-perl libschedule-at-perl libbiblio-endnotestyle-perl build-essential
cpan -i Net::Z3950::ZOOM Text::CSV Algorithm::CheckDigits

* for Ubuntu Hardy (Zebra 與 Yaz 的安裝請參考 LiveKoha)

apt-get install libcgi-session-perl libclass-accessor-perl libclass-factory-util-perl libdate-calc-perl libdate-ical-perl libdate-manip-perl libgd-barcode-perl libhtml-template-perl liblingua-stem-perl liblist-moreutils-perl libmarc-charset-perl libmarc-xml-perl libmarc-record-perl libmail-sendmail-perl libpdf-api2-perl libpdf-reuse-perl libpdf-reuse-barcode-perl libpoe-perl libtext-csv-perl libtext-iconv-perl libxml-dumper-perl libxml-perl libxml-xslt-perl libxml-rss-perl libxml-simple-perl libyaml-syck-perl libgdbm3 libgdbm-dev libdbd-mysql-perl libdbi-perl libxml-libxslt-perl libcarp-clan-perl libcgi-session-perl libdate-calc-perl libdate-ical-perl libgd-barcode-perl libmail-sendmail-perl libyaml-syck-perl libxml-libxslt-perl libxml-dumper-perl liblingua-stem-perl libpdf-reuse-perl libconvert-asn1-perl libnet-ldap-perl libdate-calc-perl libfile-remove-perl libyaml-tiny-perl libtest-manifest-perl libalgorithm-diff-perl libclass-singleton-perl libdatetime-format-mail-perl libdatetime-format-w3cdtf-perl libdatetime-locale-perl libdatetime-perl libdatetime-timezone-perl libdevel-symdump-perl libio-stringy-perl libparams-validate-perl libpod-coverage-perl libpod-escapes-perl libpod-simple-perl libtest-differences-perl libtest-pod-coverage-perl libtest-pod-perl libtext-diff-perl c libmysqlclient15-dev libyaml-perl libdata-ical-perl libhtml-template-pro-perl libhtml-template-pro-perl libmarc-crosswalk-dublincore-perl libschedule-at-perl build-essential
cpan -i Net::Z3950::ZOOM Text::CSV Algorithm::CheckDigits HTML::Template::Pro MARC::File::XML POE Text::Iconv Biblio::EndnoteStyle


就完成 Koha 的相依 modules 安裝!假如你使用中文社群的 Koha 版本,因為陸續做了一些修正,例如Z3950中轉碼等,因此需要額外補充依些 Perl Module。

* 中文群的 Koha 版本需要補充

apt-get install perlmagick
cpan -i Encode Encode::HanExtra Unicode::String Text::Trim

中文化

原始檔裡面已經有po檔了!感謝龍山 所以只要安裝就好了 先建立中文目錄 在原本 opac template目錄,例如 /usr/local/koha/opac/htdocs/opac-tmpl/ ,應該可以找到 en/,建立一個跟 en/ 平行的目錄

mkdir /usr/local/koha/opac/htdocs/opac-tmpl/zh_TW/
./tmpl_process3.pl install -i /usr/local/koha/opac/htdocs/opac-tmpl/en/ -o /usr/local/koha/opac/htdocs/opac-tmpl/zh_TW/ -s po/po/zh-Hans-TW-i-opac-t-prog-v-3000000.po -r
mkdir /usr/local/koha/intranet/htdocs/opac-tmpl/zh_TW/
./tmpl_process3.pl install -i /usr/local/koha/intranet/htdocs/opac-tmpl/en/ -o /usr/local/koha/intranet/htdocs/opac-tmpl/zh_TW/ -s po/po/zh-Hans-TW-i-staff-t-prog-v-3000000.po -r

安裝好之後,登入館員介面 -> 設定系統參數 -> I18N -> 可以新增語系
這樣就可以切換語系了 請參考 http://koha.wikispaces.com/chinesenization

轉換成 CMARC

先備份 Koha

mysqldump -u koha -p koha > koha.sql

先清空 marc_tag_structure

mysql -u koha -p koha
TRUNCATE TABLE marc_tag_structure;

匯入 marc_structure 自己擇一下載 建議用 structure_librayservices.sql

mysql -u koha -p koha < structure_librayservices.sql

使用台灣z39.5

先安裝轉碼要用的的 modules

  cpan -i Encode Encode::HanExtra Unicode::String Text::Trim

用 [koha-3.00.00-beta/cataloguing/z3950_search.pl] 取代 cataloguing/z3950_search.pl