MediaWiki的安装和升级进行了N遍,自己都有点嫌烦了,尤其是每次大版本升级,所有的扩展都要跟着安装一遍。玩的时间越长,用到的扩展也越多,大多还不包括在安装包中。
以前都是逐个下载然后再逐个上传,直到通过git的方式后才逐渐体会到后者的效率。不过每次在控制台中git clone xxx扩展,即便是复制黏贴,一次又一次地还是挺烦的。于是从网上找了段脚本代码,能把所有需要的扩展地址从某个文本文件依次读出后再执行git clone
首先,创建一个gitlist.txt的文本文件,在其中加入需要拉取的扩展地址,如下:

https://gerrit.wikimedia.org/r/mediawiki/extensions/AdvancedSearch --branch REL1_35
https://gerrit.wikimedia.org/r/mediawiki/extensions/CodeMirror --branch REL1_35

大部分的扩展都可以在https://gerrit.wikimedia.org/r/mediawiki/extensions中找到,所以复制一行改一下扩展名就可以了。而--branch REL1_35对应的是MediaWiki的版本号,此处以1.35为例。

再创建一个脚本文件clone.sh,代码如下:

cat gitlist.txt | while read line ; do git clone $line; done;

将以上两个文件上传到/extensions目录下,执行clone.sh脚本,等上一段时间,列表中的所有扩展都安装完毕。
虽然有各种安装扩展的方法,之所以我喜欢上述这种方式是因为可以在gitlist.txt随意地调整自己需要的扩展,尤其是在使用一段时间重装或者升级时。
当然,换一种思路来看,将常用扩展的名字保存至文本文件,然后使用脚本批量运行mediawiki-extensions命令来安装可能会更加便捷。

说明:本人并不熟悉脚本语言,所以只能抛砖引玉地做个简单的一键安装脚本适用于自己日常使用。如果能够加入判断,自动跳过已安装扩展或者是重新安装扩展的功能,还望高手指点,先行谢过。

最后修改:2021 年 09 月 11 日 10 : 11 PM
如果觉得我的文章对你有用,请随意赞赏