首頁‎ > ‎電子期刊‎ > ‎Semantic MediaWiki‎ > ‎

MediaWiki網站架設設定


前言

本文介紹在MediaWiki軟體安裝好之後,要如何做各項設定;若讀者還不熟悉如何架設,可以參考筆者的另一篇文章「MediaWiki網站架設 心得」,裡面有詳細介紹如何安裝MediaWiki軟體。以下為剛架好之MediaWiki網站畫面,就讓我們來一步一步改造成為適合成為讀者心目中的網 站。


更改Sidebar

架好的Wiki網站,左方的選單稱之為Sidebar,其中的選項是可以被更改的,其修改方式如下:

  1. 使用行政管理者帳號登入,亦即在安裝時輸入的帳號及密碼。
  2. 搜尋列打MediaWiki:Sidebar然後按[Go]。
  3. 若是第一次修改,會出現找不到連結的訊息,但仍請點入MediaWiki:Sidebar的連結。
  4. 進入Sidebar的頁面進行修改。
 
* navigation
** mainpage|mainpage
** portal-url|portal
** currentevents-url|currentevents
** recentchanges-url|recentchanges
** randompage-url|randompage
** helppage|help
** sitesupport-url|sitesupport

選單可以有好幾個,用單顆星(*)來區分;而雙星號代表其下的連結,例如臺灣中等學校資訊管理人學會([1])的Sidebar設定就如下,每個項目左邊是內部連結名稱(不用加雙中括號[[ ]]]),而直線(|)右邊的是顯示名稱。在編輯好後存檔即可反應至左方的Sidebar,若無出現可將網頁的暫存資料清除再試試。

 
* 焦點
** 期刊|期刊徵稿!
** 期刊/2006 年 12 月號|12月份期刊
** ICIS專區|ICIS專區
** 年度工作計劃|年度工作計劃
* 導覽
** 台灣中等學校資訊管理人學會|首頁
** 期刊/學會簡介|學會簡介
** 期刊/學會大事紀|學會大事紀
** 電子期刊|電子期刊
** 組織|學會組織
** 組織/組織章程|學會章程
** 學會會議|學會會議
** 法令規章|法令規章
** 好站推薦|好站推薦
** Help:如何編輯|如何編輯

另外在MediaWiki:Search、MediaWiki:Toolbox的頁面可以修改左方「搜尋」及「特殊連結」的字樣,讀者可以自行嘗試。

使用者權限管理

使用者權限管理的頁面在Special:Userrights,或是可以點選左下方的Special pages來進入(於最下方),若要能看到此頁面,也需用具有行政管理者帳號的權限來登入。

在進入User rights management的頁面後可以輸入某個使用者的帳號來編輯群組,在MediaWiki中共三管理群組:

  1. Bots:機器人,程式可以用機器人的帳號來登入MediaWiki,並做自動化的工作。
  2. Sysops:一般的使用者只能創造及修改頁面,若要刪除、移動及保護頁面,則由管理員來做;在special pages亦可額外看到這些管理頁面:
    • Block user:用來封鎖使用者頁面。
    • Import pages:用來匯入頁面。
    • Unwatched pages:列出未被追蹤的頁面。
    • View deleted pages:檢視已被刪除的頁面。
  3. Bureaucrats:行政管理員,除了可以做管理員(Sysops)的所有工作外,亦可以設定其他人為Bots、Sysops、Bureaucrats的群組。

上述群組以及註冊、未註冊使用者的權限,亦可在MediaWiki的LocalSettings.php設定檔當中詳細設定,有些MediaWiki網站需要註冊才能修改文章。在底下的小節會詳細介紹這部份。

MediaWiki設定檔(LocalSettings.php、DefaultSettings.php)

上述提到更改Sidebar及使用者權限管理部份,是藉由修改特殊Wiki頁面的方式來達成,然而有些較進階的設定,例如上傳檔案的開啟,就要藉由修改MediaWiki的程式碼來達成,最主要是透過LocalSettings.php這個檔案。

LocalSettings.php這個檔案我們在安裝時接觸過,當安裝完成MediaWiki軟體後,要在安裝目錄下的config資料夾裡的LocalSettings.php檔案複製到上層目錄才算正式完成安裝。

LocalSettings.php中是PHP語法,大部份是以變數及變數值的格式存在:

 
$wgEnableEmail      = true;
$wgEnableUserEmail = true;

LocalSettings.php實際上是複寫在includes資料夾裡的DefaultSettings.php設定,在 DefaultSettings.php裡有所有MediaWiki的預設設定,而LocalSettings.php視情況複寫在 DefaultSettings.php裡的設定;雖然直接更改DefaultSettings.php的設定值也可以,不過在升級時 DefaultSettings.php檔案會被更改成新版的,且使用LocalSettings.php的方式可保留 DefaultSettings.php原本的設定,若需回復及參考初始設定較為方便。

底下以主題導向的方向來介紹在DefaultSettings.php中的設定,並會在LocalSettings.php中複寫。

更換網站Logo

網站左上方的Logo可以被更換,其值為一URL,底下為參考的設定:

預設值 參考設定值
$wgLogo=false; $wgLogo="http://farm1.static.flickr.com/170/364077008_f10914046f_t.jpg"

上述設定於LocalSettings.php中加入,在Windows可用Wordpad或其他的Editor來編輯,而在Linux可用vi來編輯。

開啟上傳檔案

MediaWiki在上傳檔案的功能預設是關閉的,與上傳檔案有關的預設參數設定值如下:

 
/** 是否開啟上傳功能的選項。 */
$wgEnableUploads = false;

/** 允許上傳的檔案類型。 */
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg' );

/** 是否要檢查上傳的副檔名;建議保留原設定。 */
$wgCheckFileExtensions = true;

/** 是否要嚴格限制不允許的檔案類型上傳,若為false,則仍可上傳,但會提醒。*/
$wgStrictFileExtensions = true;

/** 上傳大小,以byte為單位,預設為150K。*/
$wgUploadSizeWarning = 150 * 1024;

若要開啟上傳檔案功能,建議修改如下:

 
/** 開啟上傳檔案的功能,此選項已於LocalSettings.php中存在,只需將false改為true即可。 */
$wgEnableUploads = true;

/** 允許上傳的檔案類型,此選項請手動加入LocalSettings.php中,預設無此選項。
*底下加入幾種常用的檔案。
*/
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg','zip','doc','ppt','pdf','xls');

/** 建議設為false,可給予使用多較的彈性。*/
$wgStrictFileExtensions = false;

/** 上傳大小,以byte為單位,預設為150K,建議改為10 M。*/
$wgUploadSizeWarning = 10 * 1024 * 1024;

另外若讀者參考DefaultSettings.php檔案中有$wgFileBlacklist、$wgMimeTypeBlacklist,此為封鎖的檔案類型清單;即使StrictFileExtensions選項關閉也無法上傳清單中的檔案類型。

群組權限管理

在MediaWiki中共有五種群組:

  • Visitors:網站暱名拜訪者。
  • User:網站已註冊登入者。
  • Bot:機器人。
  • Sysop:管理員。
  • Bureaucrat:行政管理員。

在MediaWiki可針對這五種群組做詳細的設定,在實務上最常設定的權限為Visitors及User;故本文以這兩種群組的權限解釋為主。

 
//網站暱名拜訪者權限。
$wgGroupPermissions['*' ]['createaccount'] = true; //能否建立帳號。
$wgGroupPermissions['*' ]['read'] = true; //能否閱讀網站內容。
$wgGroupPermissions['*' ]['edit'] = true; //能否編輯內容
$wgGroupPermissions['*' ]['createpage'] = true; //能否產生頁面
$wgGroupPermissions['*' ]['createtalk'] = true; //能否產生對話頁面。

//網站已註冊登入者權限
$wgGroupPermissions['user' ]['move'] = true; //是否能移動頁面
$wgGroupPermissions['user' ]['read'] = true; //是否能閱讀內容
$wgGroupPermissions['user' ]['edit'] = true; //是否能編輯內容
$wgGroupPermissions['user' ]['createpage'] = true; //是否能產生頁面
$wgGroupPermissions['user' ]['createtalk'] = true; //是否能產生對話頁面
$wgGroupPermissions['user' ]['upload'] = true; //是否能上傳檔案
$wgGroupPermissions['user' ]['reupload'] = true; //對於已存在的檔案,能否再度上傳
$wgGroupPermissions['user' ]['minoredit'] = true; //能否對文章做小修改(minor edit)

針對架設MediaWiki不同用途,底下設計幾種情境的權限設定供讀者參考:

情境一:將MediaWiki網站設計成組織內部的網站

只開放已註冊者進行瀏覽及編輯,可將以下選項加入到LocalSettings.php的檔案中。

 
//網站暱名拜訪者權限
$wgGroupPermissions['*' ]['createaccount'] = true; //初期開放組織內部人員註冊
//在註冊完後將此選項設為false,但仍可由管理員進入到Create Account頁面來產生帳號
$wgGroupPermissions['*' ]['read'] = false; //不能瀏覽內容
$wgGroupPermissions['*' ]['edit'] = false; //不能編輯頁面
$wgGroupPermissions['*' ]['createpage'] = false; //不能產生頁面
$wgGroupPermissions['*' ]['createtalk'] = false; //不能產對話頁面

情境二:將MediaWiki網站設計成組織對外部正式的網站

 

只開放已註冊者進行編輯,但所有人皆可瀏覽,可將以下選項加入到LocalSettings.php的檔案中。

//網站暱名拜訪者權限
$wgGroupPermissions['*' ]['createaccount'] = true; //初期開放組織內部人員註冊
//在註冊完後將此選項設為false,但仍可由管理員進入到Create Account頁面來產生帳號
//Create Account網址為index.php?title=Special:Userlogin&type=signup&returnto=Main_Page
$wgGroupPermissions['*' ]['read'] = true; //可以瀏覽內容
$wgGroupPermissions['*' ]['edit'] = false; //不能編輯頁面
$wgGroupPermissions['*' ]['createpage'] = false; //不能產生頁面
$wgGroupPermissions['*' ]['createtalk'] = false; //不能產對話頁面

情境三:將MediaWiki網站設計成如同Wikipedia開放知識的編輯平台

保留預設設定即可。

開啟子頁面功能

子頁面的功能,可以讓編輯者用[[/子頁面|子頁面]]的語法,來產生目前面頁的子頁面,然後在子頁面會建立與其父頁面的導覽連結;預設開啟的命名空間(namespace)為:

 
 //預設開啟的子頁面功能
$wgNamespacesWithSubpages = array(
NS_TALK => true,
NS_USER => true,
NS_USER_TALK => true,
NS_PROJECT_TALK => true,
NS_IMAGE_TALK => true,
NS_MEDIAWIKI_TALK => true,
NS_TEMPLATE_TALK => true,
NS_HELP_TALK => true,
NS_CATEGORY_TALK => true
);

預設MAIN這個命名空間是沒有開啟子頁面的功能;MAIN這個命名空間也就是在頁面前無任何命名空間前置詞(例如Image:Education.jpg)的頁面;若要開啟可更改如下:

 
 //開啟MAIN命名空間的子頁面功能
$wgNamespacesWithSubpages = array(
NS_MAIN => true, //新加入的命名空間
NS_TALK => true,
NS_USER => true,
NS_USER_TALK => true,
NS_PROJECT_TALK => true,
NS_IMAGE_TALK => true,
NS_MEDIAWIKI_TALK => true,
NS_TEMPLATE_TALK => true,
NS_HELP_TALK => true,
NS_CATEGORY_TALK => true
);

開啟外部圖片功能

MeiaWiki預設只能顯示上傳到本身網站的圖片連結,例如[[Image:Example.jpg]];但對於外部圖片是無法顯示的,此功能的選項如下,將其設為true即可開啟:

$wgAllowExternalImages = false;

然後就可以使用URL的方式來顯示圖片,例如連結為http://farm1.static.flickr.com/170/364077008_f10914046f_t.jpg;則會顯示為:


讓MediaWiki支援數學公式

若要MediaWiki能夠顯示數學公式(使用TeX語法),需要將MediaWiki安裝目錄Math資料夾下的檔案進行編譯,並且將支援數學公式的選項打開,其詳細步驟如下(本選項只支援Linux平台)。

  • 確認編譯相關套件已安裝,需要安裝ImageMagick、ghostscript、tetex-latex、tetex-dvips套件,可以用rpm的指令來檢查是否安裝:
 
[root@math]# rpm -q -f /usr/bin/convert

ImageMagick-6.0.7.1-4

[root@math]# rpm -q -f /usr/bin/gs

ghostscript-7.07-33

[root@math]# rpm -q -f /usr/bin/latex

tetex-latex-2.0.2-21.7.FC3

[root@math]# rpm -q -f /usr/bin/dvips

tetex-dvips-2.0.2-21.7.FC3

 
rpm -ivh ocaml-3.09.2-1.rhfc3.i386.rpm 

  • 編譯MediaWiki的Math目錄:
 
cd $wiki/math
make

  • 確定 $wiki/images目錄可被讀取及寫入,可用chmod a+w images來更改權限。
  • 修改LocalSettings.php
 
$wgUseTex=true

調整MediaWiki顯示時間

MediaWiki預設顯示的時間為伺服器上的時間,若要在顯示上做調整,可以加上以下的設定於LocalSettings.php檔案當中,此處以臺灣的時間來做設定,詳細有哪些TimeZone可以參考http://www.timeanddate.com/網站的資料。

  • $wgLocaltimezone="Asia/Taipei";
  • $wgLocalTZoffset=date("Z")/60;

結語

在「MediaWiki網站架設心得」及本文中我們探討了如何架設MediaWiki網站,在一開始的架設,讀者要進行仔細的評估是否要架設MediaWiki網站,在架設好之後的用途為何?

在確定要架MediaWiki後,「MediaWiki網站架設心得」一文提供了詳細的安裝步驟,並且也對於開始架設資料庫時的注意事項做了說明;而在本文中則提供了安裝完後的各項設定加以說明。

這些內容希望對讀者有所幫助,能減少架設MediaWiki網站所花的探索時間,若您在閱讀本文時有遇到操作上的困難,可以寫信給我(kh.reader@m2k.com.tw),或是希望新增哪些內容,或是任何的建議。

Comments