

























弄个家庭图书管理系统是笔者自小的愿望。笔者的需求是:
在忽略倒数两个需求的基础上,多年以来,笔者先后使用了MS Excel、MS Access。简单直接则简单直接矣,但嫌数据的填写与查询对小屏幕的移动设备太不友好。
至于「随时随地」与「多用户」这两点,利用云存储(如OneDrive)及其分享功能(开放阅览、编辑权限)倒是能勉强解决,不过如果能在浏览器上浏览一个为图书管理这一需求专门优化过的界面,则会更为如意。
于是,有几款支援在线查询与修改的服务进入了笔者的视线。其中两款,分别是Calibre-Web,以及本文所言及的Koha。
关于Koha的安装,网上有很多教程,其中多数坐年代久远,不合现在情况。笔者根据自己的实际安装经历,将安装过程中每一个需要的步骤开列如下,希望让对代码苦手者也能简单照做。


根据中文维基百科的描述,Koha是全球第一家免费且以开放源代码方式授权的图书馆自动化管理系统,以专业化见长。它使用MariaDB或MySQL等SQL数据库存储数据,图书管理通讯格式为机读编目格式标准,查询界面可以是Z39.50或URL检索。其中使用者界面可供设定与修改,其界面也业有中文等多种语言翻译。
Koha的特色有以下几点:
root身份访问服务器。将GPG密钥添加到系统中,以便确认软件包未被篡改:
apt update
apt-get -y install sudo wget gnupg
wget -q -O- https://debian.koha-community.org/koha/gpg.asc | sudo apt-key add -
sudo apt-get update
如果追踪了指定版本的套件,则每个发布周期都会自动升级到较新的分支。可用的版本有:
如果选择oldstable:
echo 'deb http://debian.koha-community.org/koha oldstable main' | sudo tee /etc/apt/sources.list.d/koha.list
如果选择stable:
echo 'deb http://debian.koha-community.org/koha stable main' | sudo tee /etc/apt/sources.list.d/koha.list
然后重建apt缓存更新软件包列表:
sudo apt-get update
添加Koha存储库后,只需要执行一个命令即可下载并安装之。
sudo apt install koha-common
在此过程中,Apache网络服务器也会自动安装。
按说Koha可以使用MariaDB,唯在笔者前述的软硬件条件下,MariaDB会安装失败。这时考虑MySQL:
sudo apt install mysql-server
sudo systemctl start mysql
编辑文件/etc/koha/koha-sites.conf。
将DOMAIN值设置为之后希望访问到Koha的域名,如sanguok.com。这样,假设在后面的步骤里将Koha实例名填写为lib,安装完毕后便可通过lib.sanguok.com访问图书馆馆员客户端(staff client)。
INTRASUFFIX的填写情况亦需注意,因为在后面,DNS条目也需要比照填写。
馆员客户端和书目查询系统(online catalogue,或简称OPAC)的默认端口都是80,建议将前后两者更改为相异的非80的数字,例如馆员客户端的改为8080,书目查询系统的改为8081,以避免一些莫名其妙的问题。
sudo a2enmod rewrite
sudo a2enmod cgi
sudo service apache2 restart
如果要将Koha配置为按IP地址而不是按域名进行访问,编辑/etc/apache2/ports.conf并确保存在以下行:
Listen 8080
Listen 8081
亦即前面填写的端口号。
“实例”(instace)一词,可以简单地理解为“站点”。一个图书馆一个实例。也就是说,在本次安装过程结束后,如果你还想为其他图书馆弄一个Koha,则也可以在本服务器新建一个Koha实例。
假设本次安装的Koha实例名为sanguok,则执行:
sudo koha-create --create-db sanguok
注意,实例名当然可以填写为其他的——不一定非得是sanguok。唯需小心,如果填写了不一样的实例名,本教程后面涉及sanguok这个实例名的地方,需要根据实际情况改成自己所用的。笔者会在相应代码处做加粗提示,避免读者误输入。
在上述过程中,一个名为的SQL数据库也被建立。数据库用户名为koha_sanguokkoha_sanguok,数据库密码可通过执行以下命令查看:
sudo koha-passwd sanguok
该密码是机器生成的,如果希望更改之,则访问该实例的配置文件/etc/koha/sites/sanguok/koha-conf.xml(将sanguok改成实际所使用的实例名),到文件底部的<config>部分,找到被<pass></pass>包裹住的字段,这就是密码了。想修改则修改之。
SQL数据库那边也要做对应修改。以笔者实装的MySQL为例,访问数据库:
sudo mysql -u root -p
进入MySQL命令行界面。执行:
use mysql;
ALTER USER 'koha_sanguok'@'localhost' IDENTIFIED BY 'mikmamikma333';
其中,sanguok需要改成实际所使用的实例名,mikmamikma333替换为所要使用的密码。
需要为koha-plack工作设置一个Apache模块:
sudo a2enmod headers proxy_http
然后:
sudo koha-plack --enable libraryname
sudo koha-plack --start libraryname
sudo service apache2 restart
还要记得创造该Koha实例的Apache配置文件。
sudo a2enmod rewrite
sudo a2enmod cgi
sudo a2dissite 000-default
sudo a2enmod deflate
sudo a2ensite sanguok
其中,sanguok需要改成实际所使用的实例名。
再复重启Apache:
sudo service apache2 restart
还要执行zebra的重建命令:
koha-rebuild-zebra -v -f sanguok
其中,sanguok需要改成实际所使用的实例名。
重启memcached:
sudo service memcached restart
通过上述安装过程,我们得到了两个可以访问的链接:
http://localhost:8080 (馆员客户端) http://localhost:8081 (书目在线查询)
虽然上述教程未有涉及,但如果配置了SSL证书,则将链接起头的协议名从http://改为https://。
本教程默认用户通过IP访问Koha,则将上述链接中的localhost改为所使用的实际IP。如需通过自定义域名访问,需要另做DNS配置。
本教程所填写的端口号为8080、8081。若在安装过程中填写了与之不一样的数字,则改为实际填写的即可。
访问馆员客户端链接,进入网页安装程序。网页安装程序简单易懂,一步步照做即可。
唯笔者安装之时,每走一步都会报内部服务器错误,则在服务器命令行控制端执行一遍koha-rebuild-zebra -v -f sanguok(将sanguok改成实际所使用的实例名)之后,即可顺利进行下一步。原因不明,属于玄学。但笔者推测认为系属服务器内存不足,导致任务积压卡死之故,以至于需要以root权限在服务器端强制处理。后来笔者使用Koha时,也觉顿挫感过强,换到RAM为1024MB之服务器后则流畅无迟滞。
如果跟着上述教程一步步走下来,则到此处盖已成功安装Koha,恭喜。
笔者之后也会分享Koha的一些配置方法与使用感想。如欲跟踪,欢迎透过RSS阅读器订阅。
Also on / Aussi sur / También en / Cē̤-sē̤ iâ ô / 亦可見於 / こちらも:
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。