ArchCN wiki 伺服器配置
跳至導覽
跳至搜尋
MediaWiki 配置
GitHub 登錄
使用修改版的 OAuth2_Client 擴展。修改如下:
diff --git a/SpecialOAuth2Client.php b/SpecialOAuth2Client.php
index a2c32e8..a483479 100644
--- a/SpecialOAuth2Client.php
+++ b/SpecialOAuth2Client.php
@@ -116,6 +116,23 @@ class SpecialOAuth2Client extends SpecialPage {
}
$resourceOwner = $this->_provider->getResourceOwner($accessToken);
+
+ $request = $this->_provider->getAuthenticatedRequest(
+ $this->_provider::METHOD_GET,
+ 'https://api.github.com/user/orgs', $accessToken);
+ $orgs = $this->_provider->getResponse($request);
+ $found = false;
+ foreach($orgs as $org) {
+ if($org['login'] === 'archlinuxcn') {
+ $found = true;
+ break;
+ }
+ }
+ if(!$found) {
+ throw new MWException('You are not in our group.');
+ die();
+ }
+
$user = $this->_userHandling( $resourceOwner->toArray() );
$user->setCookies();
@@ -128,7 +145,7 @@ class SpecialOAuth2Client extends SpecialPage {
$wgRequest->getSession()->save();
}
- if( !$title instanceof Title || 0 > $title->mArticleID ) {
+ if( !$title instanceof Title || 0 > $title->getArticleID() ) {
$title = Title::newMainPage();
}
$wgOut->redirect( $title->getFullURL() );
後一處修改來自 GitHub pull#9。
注意:移動版上看不到登錄按鈕。可直接訪問 Special:OAuth2Client/redirect 來登錄。
移動版支持
使用 MobileFrontend 擴展及 Minerva_Neue 皮膚。
相關配置:
wfLoadExtension('MobileFrontend');
$wgMFAutodetectMobileView = true;
wfLoadSkin('MinervaNeue');
$wgMFDefaultSkinClass = 'SkinMinerva';
可視化編輯器
啟用自帶的 VisualEditor 擴展。相關配置:
wfLoadExtension('VisualEditor');
$wgDefaultUserOptions['visualeditor-enable'] = 1;
$wgDefaultUserOptions['visualeditor-enable-experimental'] = 1;
$wgVisualEditorNamespaces = array_merge($wgContentNamespaces, array(
NS_USER, NS_USER_TALK, NS_CATEGORY, NS_PROJECT));
備份
腳本位於 /etc/cron.daily
下,由 dcron 執行。備份文件位於 /root/wiki-backups
。腳本源碼:https://github.com/archlinuxcn/misc_scripts/blob/master/aux-scripts/backupwiki。
lilydjwg 每周會將最新的備份拖回她本地。