用MediaWiki搭建一个自己的私人维基

MediaWiki 软件最初是为自由内容百科全书维基百科所开发的,目前有一些公司机构将其部署为内部的知识管理和内容管理系统。一些教育机构也让学生使用 MediaWiki 来进行小组项目的管理和维护。而大多数则是开放浏览和编辑的、有着特定主题的百科站点。

MediaWiki 是一个自由软件:也就是说,它可以在自有的服务器上创建一个属于自己的私有 Wikipedia,管理自己特定的知识体系把自己的服务器腾出一块地方加上一个域名,自己的私人 wiki 搞起来。🤓 比如说建一个 MediaWiki 的词条记录一下安装过程:

/uploads/2020/05/mediawiki-setup-2020051301.jpg

此外,还有一个词叫做维基农场,也就是提供多个维基系统寄存的服务器,用户可以通过申请或者是被邀请的方式创建独立的 wiki 站点。

比如在国内比较大的维基农场叫做灰机wiki,上面有各种影视、游戏内容的 wiki。比方说记录了游戏里面的人物、物品、武器的属性等内容,亦或者是电影里面的各种细节人物和他们的故事等,方便玩家或者爱好者查询和共同编辑、壮大,形成一部专有的百科全书。

比如,下图中就是电影《驯龙高手》的专题中文维基:

/uploads/2020/05/mediawiki-setup-2020051302.jpg

需要注意的几个点:

  1. 为什么使用 MediaWiki 搭建 wiki 站点?毕竟作为一个自由软件,能够长期地维护下去不容易,但是它目前支撑起了全球最大的百科全书Wikipedia,或者说 Wikipedia 支撑起了它,所以在性能、维护、社区文档方面都是 OK👌 的,虽然肯定没有WordPress这样的建站系统资源(包括教程、易用性、插件、主题等)丰富。
  2. MediaWiki的编辑语法和markdown还是有所区别的,有两种方式可以实现:用它自带的可视化编辑器或者去官网的词条“格式化文本”,看看怎么编辑。
  3. MediaWiki有个我不喜欢的地方就是页面查看权限的管理,词条要么对外全可见要么全不可见。虽然可以添加例外,但是好麻烦 🤣。不过,当它对外全不可见时,你可以邀请和管理特定的人员作为注册用户进行查看、编辑。
  4. 需要一个自己的服务器或者虚拟主机。可以去阿里云或者是腾讯云或者是什么什么云看看,国内的要备案、国外的要看 ip 是否被 ban。我反正始终推荐vultr,实时计费、价格实惠(虽然我用的是白嫖的腾讯云 emmmm)。
  5. 服务器不像虚拟主机:付完钱就能用。所以装个宝塔面板吧——免费。(什么是宝塔面板?它可以在你新买的服务器上一键部署 LAMP/LNMP、网站、数据库、FTP、SSL,轻松管理多个站点。)

—全文完—如果想试试 MediaWiki 的话,那就继续—

在宝塔面板上安装 MediaWiki

  1. 安装宝塔面板。(如何安装宝塔面板?
  2. 网站 → 添加站点,在此过程中可以创建数据库也可以不创建,之后在数据库中新建亦可。
  3. 在 MediaWiki 官网下载安装包,会下载到一个.tar.gz归档文件。
  4. 解压至主机新建的网站目录。千万要注意可安装的环境(比如 php 版本和 MediaWiki 等)。
  5. freessl.cn上申请免费的 ssl 证书,并将生成的pemkey文件贴到宝塔面板中,具体步骤可以查看建站 ssl 证书。(必备:如果宝塔面板上已存在一个带有强制 ssl 的网站,想要新建该站点的二级域名网站。若二级域名网站没有加上 ssl,会导致该网站重定向至前者。)
  6. 在你的域名服务商进行域名解析。
  7. 安装完之后即可使用域名访问。
  8. 根据网站的提示进行安装。
  9. 在此过程中可能需要安装 php 的fileinfo插件。若使用宝塔面板进行安装,则可以在php设置中的安装扩展中直接进行下载。

其他

在 MediaWiki 中,所有的配置基本上都在一个叫做localsettings.php文件中进行的,具体内容可以在官方文档上找到(文档真的非常的细,虽然有些内容可能有所过时)。

修改默认主题

## Default skin: you can change the default skin. Use the internal symbolic
## names, ie 'vector', 'monobook':
$wgDefaultSkin = "timeless";

代码高亮

方案 A(暂时未成功):

  1. 在 wiki 的搜索框中搜索 MediaWiki:Common.js 文件。
  2. 在文件中添加相关 js 文件的 cdn 链接。
  3. 保存文件清空浏览器内存。

方案 B:使用预置的格式化文本

  1. 使用<pre></pre>包裹住代码即可。

添加外链图片

<img src="外链图片网址" width="60%" />

访问权限和编辑权限

$wgGroupPermissions['*']['createaccount'] = false; //不对外开放注册
$wgGroupPermissions['*']['edit'] = false; //对非注册用户关闭修改
$wgGroupPermissions['*']['read'] = false; //对非注册用户不可见
$wgWhitelistRead =  [ "首页", "HXD.RED WIKI:关于" ]; //这里的页面除外
暂无评论

发送评论 编辑评论


				
上一篇
下一篇