CIRD主站与DOPAS构建笔记#1

—— 你愿意为自己爱的小马付出多少?

—— 一切。

 

初始状态

所有的物质准备如下:

  • 未知但估计不太高的预算
  • 可用域名一个
  • 有雄心壮志且喜欢RD的小马一只

 

VPS软硬件配置

  • 搬瓦工洛杉矶DC2 QNET机房KVM
  • 20 GiB SSD + 1GiB RAM + 2x Intel Xeon
  • 使用OneinStack安装LNMPA:  
    • CentOS6 x86_64 bbr
    • Nginx 1.12
    • MariaDB 10.2
    • PHP 7.2.3
    • Apache 2.4

由于是第一次配置VPS,走了不少弯路,第一次蹄动安装了LAMP,第二次则是用的lnmp.org的安装脚本,自己选了不合适的版本。

最后还是请居正出马来完成的安装。 ¯\_(ツ)_/¯

VPS上所运行的WordPress没经过太多的配置……准确地说是还没有怎么配置,下面主要写写各种配置MediaWiki的细节吧。

 

只有失去过才懂得珍惜:配置MediaWiki

此前也多次听说过MediaWiki从头安装的困难,但是到了切身实践的时候,才能有更清晰的理解。MediaWiki 1.30的安装过程与以往的版本一样,基本上是跟着安装提示走,但是后面的事情就不那么容易了。

 

配置短域名

长期生活在农场的美好环境下,自己早已把某些东西视作理所当然的,例如形如“/wiki/$1”的文章链接。

MediaWiki 1.30安装完成时,默认的文章地址是“/index.php/$1”(没用CGI的情况下),想要自行更改短连接需要添加Apache配置信息并修改LocalSettings.php里的记录。

.htaccess可以自己来写,此外shorturls.redworks.org提供了一键生成配置内容的功能。后者还附带了一些基础的图像配置。

在.htaccess中添加

RewriteEngine On
RewriteRule ^/?wiki(/.*)?$ %{DOCUMENT_ROOT}/index.php [L]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2 [L,QSA,B]

RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-f
RewriteCond %{DOCUMENT_ROOT}%{REQUEST_URI} !-d
RewriteRule ^/?images/thumb/archive/[0-9a-f]/[0-9a-f][0-9a-f]/([^/]+)/([0-9]+)px-.*$ %{DOCUMENT_ROOT}/thumb.php?f=$1&width=$2&archived=1 [L,QSA,B]

在LocalSettings.php中添加

$wgArticlePath = "/wiki/$1";

然后重新加载下页面,就可以愉快地使用自己设置的短连接(我选择了传统的“/wiki/$1”)了。

 

安装CheckUser

CheckUser插件给与拥有“checkuser”权限的用户查核给定IP下的用户和用户IP地址的功能,用于用户查核,而免去了直接进数据库查核的麻烦。

第一次安装插件,还是有点不熟练,于是就华丽丽地搞出了故障。第一次安装的时候我直接采取了傻瓜式wget+tar操作,就直接跑到了LocalSettings.php里添加wfLoadExtension了。直到后面设置跨维基链接的时候才发现数据库的配置存在问题。

顺便一提,MediaWiki给出的默认报错信息少得可怜,几乎可以视作没有。要显示更多信息,需要在LocalSettings.php里添加下面的内容:

$wgShowDBErrorBacktrace = true;
$wgShowSQLErrors = true;

根据额外反馈的信息发现问题出在CheckUser的数据库未配置。果断重新安装,这一次记得更新数据库了。

  1. 先运行一次maintenance/update.php确保先前的数据库已经配置完毕。
  2. 重新解压插件到extensions目录。
  3. 再运行maintenance/update.php更新数据库。
  4. 在LocalSettings.php中添加 wfLoadExtension( 'CheckUser' ); 启用插件。

这次安装没有出问题,但是这个功能多少有点涉及到隐私,总不能大家都可以用吧,下面配置用户查核的权限。

在LocalSettings.php中添加下面的权限设置:

$wgGroupPermissions['sysop']['checkuser'] = true;
$wgGroupPermissions['sysop']['checkuser-log'] = true;
$wgAddGroups['bureaucrat'][] = 'checkuser';
$wgRemoveGroups['bureaucrat'][] = 'checkuser';

前两行代码给管理员以上的权限用户查核的权限,后两行给行政员添加和移除用户查核权限的权限。

到这里CheckUser的安装就大功告成了。

 

设置跨维基链接

MediaWiki在安装的时候自带了一定数量的跨维基配置,但是其中不包括灰机和MLW,并不能满足DOPAS的需要。因此需要自行添加这两个站点的跨维基链接。

跨维基链接的信息存储在数据表interwiki中,其中新版MW将iw_url和iw_api两项改为了BLOB类型。如果需要直接添加,需要先将它们更改为TEXT类型。但是我安装的有Interwiki插件,没记错的话应该是有更快捷地修改方式的啊?经过一番研究,我发现尽管Interwiki插件提供了修改功能,但是它默认是关闭的。只有在LocalSettings.php中加入有关的权限设置,在这里我设置为只允许行政员修改:

$wgGroupPermissions['bureaucrat']['interwiki'] = true;

然后特殊页面中的“查看跨维基链接”就会变为“查看与修改跨维基链接”。

(把修改选项默认隐藏,真是用心险恶)

直接加入灰机主站和MLW的跨维基链接即可。

 

posted @ 2018-03-29 18:29  VKorpela  阅读(541)  评论(0编辑  收藏  举报
知识共享许可协议
爱与包容记心中 · 友谊魔法永流传
加密文章的密码是最棒的小马名字(没有空格)