惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Google DeepMind News
Google DeepMind News
The Last Watchdog
The Last Watchdog
腾讯CDC
Apple Machine Learning Research
Apple Machine Learning Research
有赞技术团队
有赞技术团队
Last Week in AI
Last Week in AI
量子位
雷峰网
雷峰网
宝玉的分享
宝玉的分享
美团技术团队
阮一峰的网络日志
阮一峰的网络日志
博客园 - 叶小钗
P
Privacy International News Feed
NISL@THU
NISL@THU
V
V2EX
博客园 - 三生石上(FineUI控件)
T
The Exploit Database - CXSecurity.com
T
Threat Research - Cisco Blogs
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO
IT之家
IT之家
T
Tor Project blog
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
T
Threatpost
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
大猫的无限游戏
大猫的无限游戏
V
Vulnerabilities – Threatpost
V
Visual Studio Blog
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
The Hacker News
The Hacker News
Scott Helme
Scott Helme
H
Hacker News: Front Page
罗磊的独立博客
Hacker News - Newest:
Hacker News - Newest: "LLM"
K
Kaspersky official blog
S
Secure Thoughts
www.infosecurity-magazine.com
www.infosecurity-magazine.com
The Cloudflare Blog
D
Darknet – Hacking Tools, Hacker News & Cyber Security
C
Cybersecurity and Infrastructure Security Agency CISA
小众软件
小众软件
月光博客
月光博客
人人都是产品经理
人人都是产品经理
AI
AI
Help Net Security
Help Net Security
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
酷 壳 – CoolShell
酷 壳 – CoolShell
Webroot Blog
Webroot Blog
博客园 - 【当耐特】
PCI Perspectives
PCI Perspectives
A
Arctic Wolf

山月

在VS Code配置Obsidian風格Markdown編輯環境 – 山月 在Windows通过LM Studio使用Zotero MCP – 山月 禁用WordPress中Jetpack的AI助手按钮 – 山月 WordPress/MCP Adapter安装与维护指南 – 山月 WordPress服务器权限与所有权配置详解 – 山月 在Windows上為GnuCash啟用線上報價 (Finance::Quote) – 山月 Gitea Docker /var/empty 权限问题除错总结 – 山月 Bookwyrm由0.7.5升级至Production(e217a17)完整过程及疑难解答 – 山月 用正则表达式修改ruby标签 – 山月 为WordPress Syndication Links插件添加新的站点与图标的实现方法 – 山月 进入不断重启的Docker容器的命令行之方法 – 山月 自建Bookwyrm无法查询远端用户?——开启数据库扩展 – 山月 BookWyrm无法增添书本、作者、阅读进度……?——解决数据库自增序列问题 – 山月 俾Docker容器中的应用访问宿主机上的数据库服务 – 山月 QNAP NAS使用者注意!千万莫对MariaDB做这件事…… – 山月 解决Wikibase手动导入数据后无法新建实体之问题 – 山月 辰年再訪神保町 – 山月 PHP-FPM站点池配置调优以解决WordPress过度占用系统资源之问题 – 山月 如果Linux软件包常规升级失败——以python3-update-manager为例 – 山月 解决站点526报错:SSL证书配置错误 – 山月 風挾着陽光來 – 山月 和A.N.R.GHG插件说bye-bye – 山月 WordPress页面链接末尾出现“?swcfpc=1”后缀,是怎么回事? – 山月 安装、维护Monica PRM的一些笔记 – 山月 清理服务器空间的着手点 – 山月 关于Joplin Server文件上传大小上限 – 山月 如何优化PHP文件上传大小:完整指南 – 山月 WordPress站点部分地出现“严重错误”的一些可能的解法 – 山月 批量更改WordPress媒体URL – 山月 自托管WordPress编辑文章出现问题的排查法 – 山月 於Docker安裝sudo之方法 – 山月 于YunoHost网页版后台装pgAdmin4失败之解决方法 – 山月 解决WordPress多站点网络下异域名子站登录失败的问题 – 山月 Linux的SWAP配置建议与方法 – 山月 如何从一个.sql文件中恢复(导入)数据到MySQL数据库 – 山月 橙色的天,金色的鯉魚 – 山月 設置SoftBank光IP地址固定分配時MAC地址報錯之解決方法 – 山月 解决自托管WordPress与Jetpack通信之不畅 – 山月 解决WordPress上传超过100M文件失败的问题——用Cloudflare作为CDN服务时 – 山月 自托管WordPress迁至新服务器时可能遇到的一些问题 – 山月 Jetpack server port value报错之解决方法 – 山月 Nextcloud服务器目录中/data/updater-(12个英数字)文件夹可删除 – 山月 使WP IndieBlocks、Webmention两插件配合工作 – 山月 导致WordPress钩子(hooks)重复调用的一个可能性——插件重复安装 – 山月 为WordPress自定义贴文类型设置默认格式(post format) – 山月 为Micropub客户端所发内容设置默认post type – 山月 让WordPress的自定义post type支持post formats – 山月 在WordPress通过古腾堡块编辑器验证您的Mastodon身份 – 山月 如何将Mastodon上关注的人导入至Friendica – 山月 在WordPress上发Mastodon的一个选项:Shortnotes+Share on Mastodon – 山月 祝WordPress 20周年快乐!(节译) – 山月 更改IndieBlocks札记(note)、喜欢(like)slug之方法 – 山月 改变Friendica域名之方法 – 山月 爲WordPress添上在線Markdown、HTML互轉工具 – 山月 內排散記 – 山月 长毛象(Mastodon)简介:多中心化、细粒度公开、多样时间轴 – 山月 教ChatGPT讲福州话 – 山月 WordPress项目管理插件使用心得 – 山月 汉字词“地震”之前,日语中表达地震的本土词 – 山月 “幸”与“福”的区别 – 山月 《日本外來語辭典》讀書筆記 – 山月 “传毒”——童年游戏回忆一则 – 山月 WordPress多站点网络分布于不同主域名时登录管理后台出现cookie错误的解决方案 – 山月 如何为WordPress多站点设置不同的子目录、子域名,甚至主域名? – 山月 重温《日语的历史》 – 山月 东京教父:关于爱与救赎 – 山月 2021年末,豆瓣更新了它的条款…… – 山月 WordPress报错“Briefly unavailable for scheduled maintenance.”的解决方法 – 山月 日语里的「原形」「辞书形」「终止形」是什么? – 山月 《福州方言大词典》读后感 – 山月 一種美觀的由Hubzilla分享RSS資訊的方法 – 山月 《我们仨》中与《宋诗选注》相关的记载 – 山月 亂彈文忠公宴番仔事 – 山月 一本清代土腔谜语集引发的回忆 – 山月 迎圣火 – 山月 凝滞在方言里的时光 – 山月 站在新庄园门前 – 山月 长星照耀州府 – 山月 虚拟币与赛博矿难 – 山月 记忆、记录与创造 – 山月 几日来写作微信推文的反思 – 山月 对OKR工作管理法的归纳总结 – 山月 同人誌之夢 – 山月 那里人很爱诗词 – 山月 从语言学看两性语言差异 – 山月 南门兜素菜馆 – 山月 闽海痛史 – 山月 东京的西方建筑遗产 – 山月 真实的华人电影 – 山月 记观《只有野兽知道》 – 山月 记早稻田祭 – 山月 《鬼灭之刃》日语札记 – 山月 颱風前夜的仙草凍 – 山月 首篇博文 – 山月 我到底是转厝了 – 山月 CM96暴走记 – 山月 薄暮逐島 – 山月 人与神的共振 – 山月 逐集罔讲罔听 – 山月 以往不谏 – 山月
Koha 22.05安装教程(于Ubuntu 20.04 LTS) – 山月
2022-07-27 · via 山月

前言

弄个家庭图书管理系统是笔者自小的愿望。笔者的需求是:

  • 能够记录馆藏的元数据,并再度编辑之;
  • 使馆藏登记于所在的分馆、书架,并能够更改所在信息(移动书目);
  • 使上述信息可被查询
  • 使上述操作能够随时随地进行;
  • 使上述操作能够由多用户执行。

在忽略倒数两个需求的基础上,多年以来,笔者先后使用了MS Excel、MS Access。简单直接则简单直接矣,但嫌数据的填写与查询对小屏幕的移动设备太不友好。

至于「随时随地」与「多用户」这两点,利用云存储(如OneDrive)及其分享功能(开放阅览、编辑权限)倒是能勉强解决,不过如果能在浏览器上浏览一个为图书管理这一需求专门优化过的界面,则会更为如意。

于是,有几款支援在线查询与修改的服务进入了笔者的视线。其中两款,分别是Calibre-Web,以及本文所言及的Koha

关于Koha的安装,网上有很多教程,其中多数坐年代久远,不合现在情况。笔者根据自己的实际安装经历,将安装过程中每一个需要的步骤开列如下,希望让对代码苦手者也能简单照做。

简介

Koha的图书管理界面

根据中文维基百科的描述,Koha是全球第一家免费且以开放源代码方式授权的图书馆自动化管理系统,以专业化见长。它使用MariaDBMySQLSQL数据库存储数据,图书管理通讯格式为机读编目格式标准,查询界面可以是Z39.50URL检索。其中使用者界面可供设定与修改,其界面也业有中文等多种语言翻译。

Koha的特色有以下几点:

  • 拥有标签、留言、社群分享与RSS等许多Web 2.0功能
  • 联合目录功能
  • 客制化搜寻
  • 网络图书流通
  • 打印条码

要求

  • Ubuntu 20.04/18.04或任何基于Debian的Linux服务器来执行本文给出的步骤;
  • Apache、MySQL或MariaDB、Perl(将安装);
  • 能够以root身份访问服务器。

笔者的软硬件

  • Koha版本:22.05.02.000
  • 服务器系统:Ubuntu 20.04 LTS x64
  • MySQL版本:mysql Ver 8.0.29-0ubuntu0.20.04.3 for Linux on x86_64 (Ubuntu)
  • Apache 版本:Apache/2.4.41 (Ubuntu)
  • 服务器RAM:512MB[后以屡有卡顿,更换为1024MB的服务器,则流畅,故推荐1024MB]

第一步:设置Koha下载源

设置包源

将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

选择追踪的Koha版本

如果追踪了指定版本的套件,则每个发布周期都会自动升级到较新的分支。可用的版本有:

  • stable:当前的稳定版
  • oldstable:比当前稳定版本老的一个稳定版本
  • oldoldstable:比oldstable老的一个稳定版本

如果选择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本体

添加Koha存储库后,只需要执行一个命令即可下载并安装之。

sudo apt install koha-common

在此过程中,Apache网络服务器也会自动安装。

第三步:安装数据库依赖

按说Koha可以使用MariaDB,唯在笔者前述的软硬件条件下,MariaDB会安装失败。这时考虑MySQL:

sudo apt install mysql-server
sudo systemctl start mysql

第四步:配置Koha

编辑文件/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,以避免一些莫名其妙的问题。

第五步:设置Apache

sudo a2enmod rewrite 
sudo a2enmod cgi 
sudo service apache2 restart

如果要将Koha配置为按IP地址而不是按域名进行访问,编辑/etc/apache2/ports.conf并确保存在以下行:

Listen 8080
Listen 8081

亦即前面填写的端口号。

第六步:创建Koha实例

“实例”(instace)一词,可以简单地理解为“站点”。一个图书馆一个实例。也就是说,在本次安装过程结束后,如果你还想为其他图书馆弄一个Koha,则也可以在本服务器新建一个Koha实例。

假设本次安装的Koha实例名为sanguok,则执行:

sudo koha-create --create-db sanguok

注意:实例名可自定义

注意,实例名当然可以填写为其他的——不一定非得是sanguok。唯需小心,如果填写了不一样的实例名,本教程后面涉及sanguok这个实例名的地方,需要根据实际情况改成自己所用的。笔者会在相应代码处做加粗提示,避免读者误输入。

查看密码

在上述过程中,一个名为koha_sanguok的SQL数据库也被建立。数据库用户名为koha_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替换为所要使用的密码。

第七步:Apache与Koha的剩馀配置

koha-plack

需要为koha-plack工作设置一个Apache模块:

sudo a2enmod headers proxy_http

然后:

sudo koha-plack --enable libraryname
sudo koha-plack --start libraryname
sudo service apache2 restart

为Koha实例创建Apache配置

还要记得创造该Koha实例的Apache配置文件。

sudo a2enmod rewrite
sudo a2enmod cgi
sudo a2dissite 000-default
sudo a2enmod deflate
sudo a2ensite sanguok

其中,sanguok需要改成实际所使用的实例名。

再复重启Apache:

sudo service apache2 restart

koha-rebuild-zebra

还要执行zebra的重建命令:

koha-rebuild-zebra -v -f sanguok

其中,sanguok需要改成实际所使用的实例名。

重启memcached

重启memcached:

sudo service memcached restart

第八步:进入网页安装程序

通过上述安装过程,我们得到了两个可以访问的链接:

http://localhost:8080 (馆员客户端)
http://localhost:8081 (书目在线查询)

虽然上述教程未有涉及,但如果配置了SSL证书,则将链接起头的协议名从http://改为https://

本教程默认用户通过IP访问Koha,则将上述链接中的localhost改为所使用的实际IP。如需通过自定义域名访问,需要另做DNS配置。

本教程所填写的端口号为80808081。若在安装过程中填写了与之不一样的数字,则改为实际填写的即可。

访问馆员客户端链接,进入网页安装程序。网页安装程序简单易懂,一步步照做即可。

唯笔者安装之时,每走一步都会报内部服务器错误,则在服务器命令行控制端执行一遍koha-rebuild-zebra -v -f sanguok(将sanguok改成实际所使用的实例名)之后,即可顺利进行下一步。原因不明,属于玄学。但笔者推测认为系属服务器内存不足,导致任务积压卡死之故,以至于需要以root权限在服务器端强制处理。后来笔者使用Koha时,也觉顿挫感过强,换到RAM为1024MB之服务器后则流畅无迟滞。

结语

如果跟着上述教程一步步走下来,则到此处盖已成功安装Koha,恭喜。

笔者之后也会分享Koha的一些配置方法与使用感想。如欲跟踪,欢迎透过RSS阅读器订阅

Also on / Aussi sur / También en / Cē̤-sē̤ iâ ô / 亦可見於 / こちらも: