Mediawiki配置

来自牛奶河Wiki
阿奔讨论 | 贡献2023年1月6日 (五) 10:03的版本
跳到导航 跳到搜索

MediaWiki是一套基于网络的Wiki引擎,维基媒体基金会的所有项目乃至众多wiki网站都使用了这软件。MediaWiki软件最初是为自由内容百科全书维基百科开发,今日已被一些公司机构用作内部知识管理和内容管理系统。Novell甚而还在多个高流量的网站中使用了该软件。

MediaWiki采用PHP编程语言写成,并可使用MySQL、MariaDB、PostgreSQL或SQLite之一作为其关系数据库管理系统。

镜像

# mc1

HN=10.0.0.141

同步:

  • DB
    • rsync -arvu --progress ${HN}:/u01/web/db/mediawiki /u01/web/db/
  • Image, etc...
    • rsync -arvu --progress ${HN}:/u01/web/wiki/images /u01/web/wiki

LocalSettings.php

服务器地址

换域名需要变更(如同步至测试环境、镜像环境等)

$wgServer = "http://www.mwbbs.tk";

未注册用户不可编辑

$wgGroupPermissions['*']['edit'] = false;

不可注册

$wgGroupPermissions['*']['createaccount'] = false;

已注册用户可注册新用户

$wgGroupPermissions['user']['createaccount'] = true;

发送邮件设置

$wgEnableEmail = true;

$wgEnableUserEmail = true; # UPO

$wgSMTP = array(

'host'     => "smtp-mail.outlook.com",    //邮箱要求加密连接,前面加:ssl://

'IDHost'   => "outlook.com",

'port'     => 587,

'auth'     => true,                       // 需要登录

'username' => "[email protected]",   // 提供 SMTP 服务的邮箱账号

'password' => "MWw.d.123"              // SMTP 认证的密码

);

$wgEmergencyContact = "[email protected]";

$wgPasswordSender = "MWw.d.123";

$wgPasswordSenderName = '[email protected]';

$wgEnotifUserTalk = true; # UPO

$wgEnotifWatchlist = false; # UPO

$wgEmailAuthentication = true;

按以上配置,未见发邮件,只是不报错了。

Error

牛奶河Wiki不能发送确认邮件。 请检查您的邮箱地址是否包含无效字符。

  • $wgSMTP:host,配置成 ssl://,报错:邮件发送器的返回信息:Failed to connect to ssl://smtp-mail.outlook.com:587 [SMTP: Failed to connect socket: fsockopen(): unable to connect to ssl://smtp-mail.outlook.com:587 (Unknown error) (code: -1, response: )]
  • 邮件发送器的返回信息: authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.3 Authentication unsuccessful [LO4P123CA0531.GBRP123.PROD.OUTLOOK.COM])]
  • 邮件发送器的返回信息: authentication failure [SMTP: Invalid response code received from server (code: 535, response: 5.7.3 Authentication unsuccessful [LO2P265CA0145.GBRP265.PROD.OUTLOOK.COM])]

原配置

### $wgEmergencyContact = "";

### $wgPasswordSender = "";

### $wgEnotifUserTalk = false; # UPO

### $wgEnotifWatchlist = false; # UPO

### $wgEmailAuthentication = true;

授权方式

## For attaching licensing metadata to pages, and displaying an

## appropriate copyright notice / icon. GNU Free Documentation

## License and Creative Commons licenses are supported so far.

$wgRightsPage = ""; # Set to the title of a wiki page that describes your license/copyright

$wgRightsUrl = "";

$wgRightsText = "";

$wgRightsIcon = "";

知识共享署名-相同方式共享

$wgRightsPage = "";

$wgRightsUrl = "https://creativecommons.org/licenses/by-sa/4.0/";

$wgRightsText = "知识共享署名-相同方式共享";

$wgRightsIcon = "$wgResourceBasePath/resources/assets/licenses/cc-by-sa.png";

疑问/尚不清楚

数据库复制

下列配置出现在数据库配置区域,感觉像是复制了一份数据库,但无地址,无法判断,删除后不影响使用。

$wgObjectCaches['db-replicated'] = [

'factory' => 'Wikimedia\ObjectFactory\ObjectFactory::getObjectFromSpec',

'args' => [ [ 'factory' => 'ObjectCache::getInstance', 'args' => [ CACHE_DB ] ] ]

];

扩展:AbuseFilter

增加后,查看历史报错。

数据库错误

出现数据库查询错误。这可能表示软件中存在漏洞。

[de469599c3e96adad328cf25] 2022-12-29 12:42:34: 类型“Wikimedia\Rdbms\DBQueryError”的致命异常

扩展:OATHAuth

增加后,登录报错。

数据库错误

出现数据库查询错误。这可能表示软件中存在漏洞。

[8b7f27bdbb64400300154b26] 2022-12-29 12:46:24: 类型“Wikimedia\Rdbms\DBQueryError”的致命异常

其他修改

/includes/WebStart.php

不起作用

<!DOCTYPE html>
<html>
<head><meta charset="UTF-8" />
<meta name='description' content='牛奶河BBS - 牛奶河Wiki BBS、论坛、Wiki、百科'>
</head>

扩展(extensions)

安装方法:

  • 安装依赖组件。
  • 下载文件,并将其放置在您extensions/文件夹中的 XXX 目录内。
  • 将下列代码放置在您的LocalSettings.php的底部:
    • wfLoadExtension( 'XXX' );
  • 完成 – 在您的wiki上导航至 Special:Version,以验证已成功安装扩展。

扩展:Popups

当用户将鼠标悬停在一个页面和分别的引用时,弹窗(Popups)扩展会预览一篇文章的内容,对于引用,还会显示引用的完整内容。

This extension has a hard dependency on Extension:TextExtracts and Extension:PageImages when used with the default mwApiPlain gateway.

1.3.9 已内置扩展

扩展:TextExtracts
扩展:页面图像