wikibase安装部署

在2017年最先接触到wikibase的时候是因为于工作需要的缘故,需要了解wikibase的数据结构,以至于阅读了很长时间的php源码,了解了它的运行机制等,但是脑子毕竟是一个容易遗忘的存储部件,虽然当时经过了那么漫长学习时至今日还是会遗忘,所以现在针对于wikibase相关的内容做一下记录,此篇记录主要是针对于搭建wikibase进行记录,文章最后提供了简便的方式进行部署。

前提

安装MediaWiki

Wikibase 是 MediaWiki 的扩展扩展插件,包含两个两个扩展,所以需要先安装部署 MediaWiki。
安装部署MediaWiki需要注意兼容的PHP版本,此篇文章适宜MediaWiki-1.33.0版本为例,我在Centos上安装了PHP7.0版本,但是运行MediaWiki的时候提示必须使用PHP7.3版本及以上版本,所以又重新安装了PHP7.4版本,Mysql数据库使用5.5.8+。
另外Wikibase并不能兼容老版本MediaWiki,当然旧版本的Wikibase也很大可能无法与最新的MediaWiki版本兼容。所以安装部署完成MediaWiki后最后使用相应版本的Wikibase。

  1. 下载mediawiki
    可以下载mediawiki-1.33.0.tar.gz,如果以上的连接因为网络原因无法下载的话可以,从Git库获取:
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git --branch REL1_33 mediawiki

#发行版分支中有很多 Git 子模块,用于常用的扩展和皮肤(主分支没有这些)。 要更新子模块,请运行:
cd mediawiki
git submodule update --init
  1. 运行环境
[root@localhost ~]# php -v
PHP 7.4.3 (cli) (built: Feb 18 2020 11:53:05) ( NTS )
Copyright (c) The PHP Group
Zend Engine v3.4.0, Copyright (c) Zend Technologies

配置apache http支持php,这里面如果没有接触过php的话安装部署可能会遇到一系列的问题,建议使用 Apache/2.4.6 (CentOS) + PHP 7.4.3 (cli)进行部署,遇到最大的问题可能就是phplib.so不生成的问题,通过yum安装php和源码编辑都会遇到这个问题,可以自行搜索一下。

  1. 部署
    运行环境没有问题的话就可以进行部署了,将mediawiki-1.33.0解压放到http服务站点下就可以访问了,跟着界面引导的步骤就可以安装部署了。
    wikibase安装部署_第1张图片

填写完成所有的信息后会生成LocalSettings.php文件,将文件放到mediawiki-1.33.0部署的路径下就可以了。
这时候对应的Mysql数据库中已经有mediawiki运行初始化的所有的表,但是还不包含Wikibase的表(以wb_开头的表)

安装Composer

使用Composer可以简单的将依赖进行全部安装,安装Composer有很多中方式不同的操作系统安装方式不同,可以自行搜索。

  • Mac OS x 上的用户,你可以使用 Homebrew 安装 composer:
wget https://getcomposer.org/composer.phar
  • Window用户可以访问网址

安装Wikibase

成功安装完成MediaWiki及Composer之后,下面就是安装Wikibase了,分为四个步骤:

  1. 下载Wikibase扩展
  2. 获取依赖项
  3. 修改 LocalSettings.php 配置文件
  4. 运行维护脚本

下载Wikibase扩展

为了获取和mediawiki相应的版本,建议使用git进行下载:
从部署的mediawiki-1.33.0中进入 extensions 目录下:

cd extensions
git clone -b REL1_33 https://github.com/wikimedia/mediawiki-extensions-Wikibase.git Wikibase
#注意保证git下来的项目名称为Wikibase
cd Wikibase
git submodule update --init --recursive # get the dependencies using submodules

获取依赖项

拷贝mediawiki-1.33.0目录下的composer.local.json-sample并更名为composer.local.json,写入:

{
  "extra": {
    "merge-plugin": {
      "include": [
        "extensions/Wikibase/composer.json"
      ]
    }
  }
}

从 mediawiki-1.33.0 安装的根目录选择以下三种方法中的一种方法运行:

composer install --no-dev
# if you downloaded composer.phar
php composer.phar install --no-dev
# Or use dockerized version (does not require PHP or composer installed)
docker run -it --rm --user $(id -u):$(id -g) -v ~/.composer:/tmp -v $(pwd):/app docker.io/composer install --no-dev

修改 LocalSettings.php 配置文件

修改mediawiki-1.33.0 安装的根目录下LocalSettings.php配置文件,以下三种配置取决于你是否想启用维基库存储库、维基库客户端或者想同时启用它们。

  1. 只启用维基资源库
$wgEnableWikibaseRepo = true;
$wgEnableWikibaseClient = false;
require_once "$IP/extensions/Wikibase/repo/Wikibase.php";
require_once "$IP/extensions/Wikibase/repo/ExampleSettings.php";
  1. 只启用维基客户端
$wgEnableWikibaseRepo = false;
$wgEnableWikibaseClient = true;
require_once "$IP/extensions/Wikibase/client/WikibaseClient.php";
require_once "$IP/extensions/Wikibase/client/ExampleSettings.php";
  1. 同时启用维基资源库和维基客户端
$wgEnableWikibaseRepo = true;
$wgEnableWikibaseClient = true;
require_once "$IP/extensions/Wikibase/repo/Wikibase.php";
require_once "$IP/extensions/Wikibase/repo/ExampleSettings.php";
require_once "$IP/extensions/Wikibase/client/WikibaseClient.php";
require_once "$IP/extensions/Wikibase/client/ExampleSettings.php";

运行脚本

  1. 在mediawiki-1.33.0下
php maintenance/update.php
cd extensions/Wikibase
php lib/maintenance/populateSitesTable.php

运行完这一步就会在数据库中生成相应的wb_前缀的表,这些就是wikibase需要用到的关键表。

  1. For Wikibase Repository only
cd extensions/Wikibase
php repo/maintenance/rebuildItemsPerSite.php
  1. For Wikibase Client only
cd extensions/Wikibase
php client/maintenance/populateInterwiki.php
  1. For Wikibase Repository and Wikibase Client
cd extensions/Wikibase
php repo/maintenance/rebuildItemsPerSite.php
php client/maintenance/populateInterwiki.php

检查最终成

  1. 访问mediawiki-1.33.0部署的应用
  2. 如果安装成功的话首页上左侧会出现添加链接的按钮(启用client),在特殊页面中会有wikibase的选项
    wikibase安装部署_第2张图片
    wikibase安装部署_第3张图片

简单部署

  1. 下载完整安装包
  2. 解压运行sql到mysql数据库
  3. 修改LocalSettings.php配置文件中配置为自己的配置
$wgServer = "http://127.0.0.1:8083";
$wgEmergencyContact = "[email protected]";
$wgPasswordSender = "[email protected]";
## Database settings
$wgDBtype = "mysql";
$wgDBserver = "127.0.0.1";
$wgDBname = "mediawiki-test1";
$wgDBuser = "root";
$wgDBpassword = "pw";

参考

  1. Wikibase/Installation
  2. Composer
  3. Manual:Installation guide

原文:https://blog.limingming.org/2020/02/22/KG/wikibase%E5%AE%89%E8%A3%85%E9%83%A8%E7%BD%B2/

你可能感兴趣的:(KG)