Mediawiki 設定

出自六年制學程
在2014年8月31日 (日) 20:20由丁志仁對話 | 貢獻所做的修訂版本

(差異) ←上個修訂 | 最新修訂 (差異) | 下一修訂→ (差異)
跳轉到: 導覽搜尋

網站無法正常顯示

修改 mediawiki 所在資料夾名稱

  • 當修改 mediawiki 所在資料夾名稱,須同步改 LocalSettings.php 中的 $wgScriptPath 。但此時 mediawiki 仍會從快取中取得包含舊資料夾名稱的許多快取頁,導致網站完全無法運作。請依畫面指示,在相關的檔案中加一行「echo __FILE__;」,使網頁內容發生變化,導致產生新的快取,問題即可逐步排除。例如在 includes/Defines.php 中加「echo __FILE__;」。

LocalSettings.php

權限

$wgGroupPermissions['*']['createaccount'] = false;	// 禁止路人建帳號
$wgGroupPermissions['*']['edit'] = false;		// 禁止路人編頁面
$wgGroupPermissions['user']['edit'] = true;		// 允許註冊者編頁面,預設值不必再另設
$wgGroupPermissions['*']['read'] = false;		// 禁止路人讀頁面
$wgWhitelistRead=array(					// 在上列前提下允許路人可讀的有限頁面
	"Main Page", 
	"Special:Userlogin",
	"Wikipedia:Help",
	urldecode("%E9%A6%96%E9%A0%81")   //正體中文的首頁
);

啟用上傳功能(預設關閉)

$wgEnableUploads = true;

images chmod 777 (或允許帳號 apache 寫入內容)

啟用svg

實體化時是依 svg 指示繪出 png 。

  • 先檢查 apache 中的 mime.types (DSM 在 /usr/syno/apache/conf/mime.types)是否含:
image/svg+xml					svg svgz
  • PHP支援的轉圖模組

外觀

  • 共筆頁用 skins/monobook/main.css
  • 可列印版 skins/common/commonPrint.css
  • HTML載入指令為 <link rel="stylesheet" href="/wiki117/load.php?debug=false&lang=zh-tw&modules=mediawiki.legacy.commonPrint,shared|skins.vector&only=styles&skin=vector&*" />
  • 丁丁在上述兩個 css 均加入:
table.nicetable {border:1px solid black;border-collapse:collapse;}
table.nicetable td {border:1px solid black;border-collapse:collapse;padding: 0.3em 0.5em;}
table.nicetable th {border:1px solid black;border-collapse:collapse;font-weight:normal;}

更改某帳號密碼

參考FAQ

使用腳本檔

  • 得到的密碼和 web 介面「建立新帳號」時所產生的密碼格式相同。但同一個人兩次執行的結果並不相同。
  • 執行步驟:
    1. 進到伺服器的作業系統,並有執行 php 腳本的權限。
    2. 進入某 mediawiki 的maintenance子目錄。運行下列命令:
      php changePassword.php --user=someuser --password=somepass
      其中的「somepass」就是您將要設置的密碼,而「someuser」就是您將修改其密碼的用戶名,該用戶名應出現在數據庫的「user」表中。

直接在 MySQL 中修改

  • 可通過 MediaWiki 認證的密碼有四種:
    1. UPDATE USER SET user_password = concat(':B:鹽:',MD5(CONCAT('鹽-',MD5('somepass'))) WHERE user_name='someuser';
    2. UPDATE USER SET user_password = concat(':A:',MD5('somepass')) WHERE user_name='someuser';
    3. UPDATE USER SET user_password = MD5(CONCAT(user_id,'-',MD5('somepass')))
  WHERE user_name='someuser';
    1. UPDATE USER SET user_password = MD5('somepass') WHERE user_name='someuser';
  • $wgPasswordSalt已被設為true值(預設),使用上述的 1,3 ,設為 false 使用上述的 2,4 。
  • changePassword.php 產生的密碼是上述的 1 。