Mediawiki 設定:修訂版本之間的差異
出自六年制學程
(→使用 ChangeUserPasswords 外掛) |
(→使用腳本檔) |
||
第 145 行: | 第 145 行: | ||
*執行步驟: | *執行步驟: | ||
*#進到伺服器的作業系統,並有執行 php 腳本的權限。 | *#進到伺服器的作業系統,並有執行 php 腳本的權限。 | ||
− | *#進入某 mediawiki | + | *#進入某 mediawiki 的 maintenance 子目錄。運行下列命令:<pre>/usr/local/bin/php73 changePassword.php --user=someuser --password=somepass</pre>其中的「somepass」就是您將要設置的密碼,而「someuser」就是您將修改其密碼的用戶名,該用戶名應出現在數據庫的「user」表中。 |
===直接在 MySQL 中修改=== | ===直接在 MySQL 中修改=== |
2020年8月23日 (日) 21:25的修訂版本
網站無法正常顯示
重刷畫面
注意:頁面儲存後,您可能必須繞過瀏覽器的快取才能看到更改。
- 網址列加「?action=purge」
- Firefox / Safari: 按 Shift 同時點擊 Reload ,或按 Ctrl-F5 或 Ctrl-R (麥金塔要按 ⌘-R )
- Google Chrome: 按 Ctrl-Shift-R (麥金塔要按 ⌘-Shift-R )
- Internet Explorer: 按 Ctrl 同時點擊 Refresh ,或按 Ctrl-F5
- Opera: 至 Menu → Settings (麥金塔要選 Opera → Preferences ) 然後 Privacy & security → Clear browsing data → Cached images and files。
個人化時區設定
- 登入 → 我的偏好設定 → 顯示 → 時差 → 時區
- 會改變 user_properties 資料表,然後表現在「近期變動」、「檢視歷史」等的時間顯示
- 預設時區是 UTC(世界協調時間,Coordinated Universal Time)
修改 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") //正體中文的首頁 );
打開簡繁互轉功能
- 設 $wgLanguageCode = "zh"
- Mediawiki 已經內建了轉換表 ZhConversion.ph
- 最新版 MediaWiki 安裝配置時,語言選擇「中文(zh)」即可自動啟用
啟用HTML可以使用img(預設關閉)
$wgAllowImageTag = true;
這是唯一可以在 wiki 頁表現 SVG 動畫功能的方法
可以使用維基共享資源的圖
$wgUseInstantCommons = true;
啟用跨wiki嵌入(預設關閉)
$wgEnableScaryTranscluding = true;
而 wiki_interwiki 表中,想要嵌入的外部 wiki ,其 iw_local,iw_trans 兩欄的欄值須設為 1
取消頁面監視(預設打開)
$wgDefaultUserOptions['watchcreations'] = 0; $wgDefaultUserOptions['watchdefault'] = 0;
啟用上傳功能(預設關閉)
$wgEnableUploads = true;
images chmod 777 (或允許帳號 apache 寫入內容)
預設使用者選項($wgDefaultUserOptions)
取代匿名者及未客製化偏好設定使用者的使用者設定。是一個陣列,陣列元素請參考:手冊英文說明。其中重要者如下:
- watchcreations:建立頁面時預設監視。
- watchdefault:修改頁面時預設監視。
其他次要元素如下:
- fancysig:預設 0 ,用戶使用自訂簽名。
- nickname:預設空字串,暱稱。
- rememberpassword:預設 0 ,記住密碼。
- gender:預設 unknown ,性別。
- realname:使用實名。
- imagesize:預設 2 ,即 800*600 ,受限於 $wgImageLimits。
- thumbsize:預設 2 ,即 180px ,受限於 $wgThumbLimits。
- stubthreshold:預設 0 ,短條目顯示基本限制,單位為位元組。如果您輸入一個數值,所有低於此數值的條目在顯示為內部連結(又稱「維基連結」)時會呈現淡紅色。譬如說,如果您輸入200,所有小於200位元組的條目在顯示為內部連結時將呈現暗紅色。
- underline:預設 2 ,連結畫不畫底線,0 不畫, 1 畫, 2 依瀏覽器預設。
- justify:段落對齊。
- language:指定的界面語言,這不是設置wiki的預設語言。
- numberheadings:預設 0 ,標題自動編號,每個標題將擁有專屬的標號。
- showtoc:1 秀, 0 不秀。
- nocache:取消快取。
- showhiddencats:預設 0 ,顯示隱藏分類,「隱藏分類」主要用於維護用途。
- showjumplinks:啟用「跳轉到」訪問連結
- diffonly:比對版本差異時下面不顯示頁面內容。針對長條目,此選項可以減少載入頁面差異的時間。
啟用svg
實體化時是依 svg 指示繪出 png 。
- 先檢查 apache 中的 mime.types (DSM 在 /usr/syno/apache/conf/mime.types)是否含:
image/svg+xml svg svgz
- PHP支援的轉圖模組
外觀
皮膚
共有四種:
- Cologne Blue(科隆香水藍):2002到2003年間的標準皮膚,1.31版起已從安裝包移除。
- MonoBook:1.13版以來的官方皮膚
- Modern(現代):由MonoBook皮膚衍生而來,2008年被創建,1.31版起已從安裝包移除。
- Vector:1.17版(2010.5.13)以後的官方皮膚
1.24以前,安裝皮膚用 require_once "$IP/skins/皮膚名/皮膚名.php";
1.25以後,安裝皮膚用 wfLoadSkin('皮膚名');
重要的 CSS
- 共筆頁用
- skins/common/shared.css
- skins/monobook/main.css
- 可列印版 skins/common/commonPrint.css
- HTML載入指令為 <link rel="stylesheet" href="/wiki1231/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;}
自訂css
須設 $wgAllowUserCss = true;
對所有頁生效
在較新的版本中改 shared.css 和 commonPrint.css 沒用,要編輯頁:MediaWiki:Common.css 才有用。
- 起先 wiki_page 表中沒有這一頁。
- 但仍可編頁:MediaWiki:Common.css,其預設內容為「/* 此 CSS 會套用至所有的介面外觀 */」。
- 一旦儲存變更後, wiki_page 表中即新增此頁,且套用到介面上。其名字空間為「8」。
- 可使用「@import url(http://jendo.org/mm/treestyles.css);」載入外部的 css
- 上述指示也可改為「mw.loader.load('http://jendo.org/mm/treestyles.css','text/css');」用資源載入方法(javascript全域函式)載入外部的 css
進一步請參考:手冊:樣式表
對特定頁生效
參考Mediawiki 外掛中的設定方法,完成 CSS 外掛設定之後,在該頁中加:
- {{#css:MyStyles.css}} 或 {{#css:/skins/MyStyles.css}} ;
- 或直接在解析器函數中寫入 CSS 規則,如下例所示:
{{#css: body { background: yellow; font-size: 20pt; color: red; } }}
自訂javascript
須設 $wgAllowUserJs = true;
- 起先 wiki_page 表中沒有這一頁。
- 但仍可編頁:MediaWiki:Common.js,其預設內容為「/* 此 JavaScript 會用於使用者載入的每一個頁面。 */」。
- 一旦儲存變更後, wiki_page 表中即新增此頁,且套用到介面上。其名字空間為「8」。
- 可使用「mw.loader.load('http://jendo.org/mm/marktree.js');」來載入外部的 javascrip 。
進一步請參考:JavaScript英文說明
模板
更改某帳號密碼
使用腳本檔
- 得到的密碼和 web 介面「建立新帳號」時所產生的密碼格式相同。但同一個人兩次執行的結果並不相同。
- 執行步驟:
- 進到伺服器的作業系統,並有執行 php 腳本的權限。
- 進入某 mediawiki 的 maintenance 子目錄。運行下列命令:
/usr/local/bin/php73 changePassword.php --user=someuser --password=somepass
其中的「somepass」就是您將要設置的密碼,而「someuser」就是您將修改其密碼的用戶名,該用戶名應出現在數據庫的「user」表中。
直接在 MySQL 中修改
- 可通過 MediaWiki 認證的密碼有四種:
- UPDATE USER SET user_password = concat(':B:鹽:',MD5(CONCAT('鹽-',MD5('somepass')))) WHERE user_name='someuser';
- UPDATE USER SET user_password = concat(':A:',MD5('somepass')) WHERE user_name='someuser';
- UPDATE USER SET user_password = MD5(CONCAT(user_id,'-',MD5('somepass'))) WHERE user_name='someuser';
- UPDATE USER SET user_password = MD5('somepass') WHERE user_name='someuser';
- $wgPasswordSalt已被設為true值(預設),使用上述的 1,3 ,設為 false 使用上述的 2,4 。
- changePassword.php 產生的密碼是上述的 1 。
使用 ChangeUserPasswords 外掛
- 允許管理員一次更改多個用戶的密碼。
- 允許管理員一次性更改用戶密碼。
- 密碼隨機生成並以表格形式顯示給管理員。
- 除管理員之外的任何其他用戶都無法訪問或查看該頁面。
再用 MediaWiki 內建的 Special:ResetPassword 頁面(偏好設定中),由用戶更改或重置他們的密碼。
使用時機:
- 預建密碼失敗,由管理員來重建。
- 當wiki應該被新用戶使用並且舊用戶不再需要訪問wiki時,管理員可以在不創建新用戶的情況下將新密碼共享給新用戶。所以新用戶可以直接登錄並開始使用wiki。這在每學期都有新生的大學非常有用。
更改條目頁頁名
- 先在 MySQL ,wiki(資料庫)的wiki_page資料表中搜尋原頁名,直接進行頁名修改。
- 再到前台維基預修改條目頁名的頁面進行編輯異動後,該頁名即可同步修改。