天天看點

wikibase安裝部署前提安裝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. 運作環境
[[email protected] ~]# 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安裝部署前提安裝Wikibase運作腳本檢查最終成簡單部署

填寫完成所有的資訊後會生成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安裝部署前提安裝Wikibase運作腳本檢查最終成簡單部署
    wikibase安裝部署前提安裝Wikibase運作腳本檢查最終成簡單部署

簡單部署

  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/

wikibase安裝部署前提安裝Wikibase運作腳本檢查最終成簡單部署
ķg