更改

添加1,660字节 、​ 2023年1月8日 (日) 14:27
→‎Extension:CentralAuth:​ 添加以共享数据库方式
第5行: 第5行:  
# 与数据库无关,重启nginx和php-fpm即可。
 
# 与数据库无关,重启nginx和php-fpm即可。
 
== Extension:CentralAuth ==
 
== Extension:CentralAuth ==
; 此方法仅在MW 1.19、1.23、1.27 测试成功,现在仅供参考。
+
; 注意:以下方法仅在MW 1.19、1.23、1.27 测试成功,现在仅供参考。
* 简单使用共享数据库建立多Wiki,可参阅:[[Special:diff/2629]]。
+
=== 使用共享数据库 ===
 +
* 简单使用共享数据库建立多Wiki,见下方。
 +
* 关于多Wiki测试的总结:
 +
*# 最初目的是[[mediawikiwiki:Manual:Wiki_family#Giant switch statement]],但随后转变为[[mediawikiwiki:Manual:Wiki_family#Multiple wikis sharing common resources]](创建一个文件共享库)。<br />但遵循该章节文件库操作会出现“生成缩略图出错:无法找到文件”的错误提示,转而替代使用通用操作:[[mediawikiwiki:Manual:$wgForeignFileRepos#Using_files_from_Wikimedia_Commons_:_ForeignAPIRepo]]。<br />同时对于[[mediawikiwiki:Extension:GlobalUsage]]的安装止步于第三项数据库更新操作。
 +
*# 初始目的是[[mediawikiwiki:Extension:CentralAuth]],然而随后放弃研究这种高深莫测的安装文档,随之使用[[mediawikiwiki:Manual:Shared_database]]。<br />不过单纯这样进行操作时,所有的日志只会在所进行操作的wiki上留下记录。相关配置如下:
 +
{|
 +
|-
 +
| <syntaxhighlight lang="php">
 +
$wgDBtype = "mysql";
 +
$wgDBserver = "localhost";
 +
$wgDBname = "wiki_wiki"; # 所在的数据库
 +
$wgDBuser = "wiki"; # 用户被授予对以wiki_开头的数据库进行操作权限
 +
$wgDBpassword = "(hidden)";
 +
$wgSharedDB = 'wiki_www'; # 所共享的数据库
 +
$wgSharedPrefix = 'www_'; # 共享数据表前缀
 +
# ↓必须勾选记住我的登录状态,否则打开另一个wiki后之前的账号自动退出
 +
$wgCookieDomain = ".example.org";
 +
# 默认开启表'user', 'user_properties'的共享(同一账号登录所有wiki)
 +
$wgSharedTables[] = 'ipblocks'; # 共享封禁表(伪全域封禁)
 +
$wgSharedTables[] = 'interwiki'; # 共享跨维基表
 +
</syntaxhighlight>
 +
|}
 +
 
 +
=== 使用CentralAuth ===
 
* 使用[[mw:Extension:CentralAuth|CentralAuth]]建立多Wiki并启用SSO单点登录(基于[[mw:Extension:CentralAuth/Walkthrough|Walkthrough]]归纳):
 
* 使用[[mw:Extension:CentralAuth|CentralAuth]]建立多Wiki并启用SSO单点登录(基于[[mw:Extension:CentralAuth/Walkthrough|Walkthrough]]归纳):
 
** 下载CentralAuth,拷贝至每个Wiki的扩展目录。
 
** 下载CentralAuth,拷贝至每个Wiki的扩展目录。