Mediawiki 安裝
出自六年制學程
目錄
1.2x~1.37.2
系統要求
- 下載 MediaWiki 下載網址
- Web 伺服器 例如 Apache 或 IIS
- PHP
- 1.2x:5.0 及其後續版本
- 1.34:7.2 及其後續版本,移除對 7.0、7.1的支援。
- 資料庫伺服器
- MySQL 5.0 或後續版本
- 或 PostgreSQL 8.1 或後續版本 (同時需要 plpgsql 和 tsearch2)
- 資料庫管理軟體
- adminer
- phpMyAdmin (MySQL)
- phpPgAdmin (Postgres)
- 外掛:
- 圖像縮略圖
- 問戰國策和群暉怎麼裝 texvc
注意事項
- MediaWiki 可以通過瀏覽器進行安裝配置,由配置檔 LocalSettings.php 之存在與否,判斷是否啟動安裝程序。
- MediaWiki 可以與其他 Web 程式共用資料庫, 例如 phpBB 等。
- 自從 MediaWiki 1.19 開始必須要有 PHP 5。如果你正在使用低於此版本的 PHP,你將不能升級到 1.19 及以後的版本。
- 過期的版本不再受到支援。
安裝步驟
- 到 mediawiki 下載最新版本
- 把 mediawiki 解壓縮並上傳至伺服器
- 用 putty 以 root 權限下「tar zxvf xxx.tar.gz」解壓縮後改資料夾名稱
- 開啟瀏覽器連至 http://jendo.org.tw/mediawiki/ 進入安裝首頁
- 點選安裝(Set up the wiki)
- 確認伺服器的 PHP 和 MySQL 版本是否能安裝最新版 mediawiki
- 安裝程式檢查:
- PHP 與 MySQL 版本。
- 找不到 GNU diff3 文字比對工具程式,而您現在可忽略它,但可能會更頻繁地遇到編輯衝突。
- 找到 ImageMagick:/usr/bin/convert。若您開啟了檔案上傳功能,將可啟用縮圖功能。
- 找到 Git 版本控制軟體:/usr/bin/git。
- 使用 PHP intl 擴充套件做 Unicode 正規化。或
警告:因為尚未安裝 intl PECL 延伸函式庫以處理 Unicode 正規化,故只能退而採用較慢的純 PHP 實作。如果您運行着一個高流量的網站,請參閱 Unicode 正規化一文。
- 設計配置檔內容:
- 使用服務器名“http://jendo.org”。
- 使用服務器URL“http://jendo.org/wiki1232”。
- 資料庫類型:MariaDB、MySQL 使用 InnoDB 引擎,字集為 UTF-8。
- 選用「僅授權的編輯者」(即「編輯受限」)模式,僅經核准的使用者才可以編輯,有帳號者可以編,所有人可以看。若選「需要註冊帳號」允許登入的使用者編輯文章,而路人甲乙均可註冊帳號。
- 版權:知識共享署名-非商業性使用-相同方式共享
- 不開啟外寄電子郵件。或
啟用電子郵件 admin@jendo.org
- 郵件通知:
- v 啟用用戶到用戶的電子郵件
- x 啟用用戶討論頁通知
- x 啟用監視列表通知
- v 啟用電子郵件認證
- 擴充套件
- Cite 使用<ref[ name=id]> and <references/> 標籤來加引用來源
- ConfirmEdit 提供驗證碼功能
- Gadgets 允許用戶啟用JS為主,提供使用者編輯頁面的小工具
- ImageMap 用 imagemap 標籤,製作可點擊的地圖
- InputBox 允許特定的HTML表格
- Interwiki 跨網頁連結
- LocalisationUpdate 維持網頁資訊更新
- Nuke 允許管理員透過Special:Nuke大量刪除指定用戶所創建之頁面
- ParserFunctions 啟用具有邏輯函數的語法分析器
- PdfHandler 以翻頁的方式看PDF檔
- Poem 使用 poem 標籤來達成詩的格式
- Renameuser 替用戶改名
- SpamBlacklist 提供垃圾資料黑名單
- SyntaxHighlight_GeSHi 程式碼區塊,差別顏色顯示
- TitleBlacklist 允許管理員設定一些規則,用於阻止用戶名註冊,以及創建、移動或上傳頁面,並給出警告資訊。
- WikiEditor 使編輯功能表更豐富
- 1.35 擴充套件
- 特殊頁面
- CiteThisPage 使用<ref[ name=id]> and <references/> 標籤來加引用來源。「頁面工具 / 引用此頁面」
- Interwiki 看跨wiki連結資料表。「資料和工具 / 檢視跨wiki資料」
- Nuke 允許管理員透過 Special:Nuke 大量刪除指定用戶所創建之頁面。「頁面工具 / 大量刪除」
- Renameuser 替用戶改名,需要開啟 renameuser 權限。「使用者與權限 / 重新命名使用者」
- ReplaceText 文字替換。為管理員們提供的是一種表單,可用於在其維基站點所有頁面(包括頁面內容和頁面名稱)的範圍內進行文字搜索與替換。對於 Semantic MediaWiki ,當屬性名稱或取值,或者模板名稱或欄位發生變更的時候,這項擴充套件尤為有用。如果此類變更需要許多已有的維基頁面做出相應的變更,您即可利用這項擴充套件一步完成操作。「資料和工具 / 取代文字」
編輯者 - WikiEditor 使編輯功能表更豐富
- VisualEditor 視覺化編輯器,所見即所得
- CodeEditor (需要 WikiEditor)
剖析器鉤 - CategoryTree 以樹狀結構提供了 Wiki 類別的動態視圖。它使用AJAX。「頁面清單 / 分類樹」
- Cite 使用<ref[ name=id]> and <references/> 標籤來加引用來源
- ImageMap 用 imagemap 標籤,製作可點擊的地圖
- InputBox 允許特定的HTML表格
- ParserFunctions 啟用具有邏輯函數的語法分析器
- Poem 使用 poem 標籤來達成詩的格式
- Scribunto 在 MediaWiki 中嵌入指令碼。目前唯一被支援的指令碼語言是 Lua。
- SyntaxHighlight_GeSHi 使用<syntaxhighlight>擴充套件標籤對原始碼提供了豐富的格式,用不同顏色顯示程式碼區塊。
- TemplateData 以 <templatedata> JSON </templatedata> 標籤,來提供模板參數。
媒體處理器 - PdfHandler 以翻頁的方式看PDF檔
防止垃圾訊息 - ConfirmEdit 提供驗證碼功能
- SpamBlacklist 提供垃圾資料黑名單
- TitleBlacklist 允許管理員設定一些規則,用於阻止用戶名註冊,以及創建、移動或上傳頁面,並給出警告資訊。
API - PageImages 蒐集有關頁面上使用的圖照信息,以返回最能代表文章的單個縮圖。
其他 - Gadgets 允許用戶啟用JS為主,提供使用者編輯頁面的小工具
- LocalisationUpdate 維持網頁資訊更新
- MultimediaViewer 多媒体查看器,為用戶提供一個不同的界面,以便在其瀏覽器中查看完整大小或接近完整大小的圖像,而不會造成不必要的頁面加載或混亂的插頁式頁面。
- OATHAuth 兩步驗證,是基於時間的一次性密碼(TOTP)實現的。它通過你擁有的東西(你的手機或桌面客戶端)和你知道的東西(你的使用者名稱/密碼)提供雙因素驗證。大多數功能手機、智慧手機和桌機都支援。
- SecureLinkFixer 如果域始終需要 HTTPS,就自動將 URL 重寫為 HTTPS。
- TextExtracts 提供API來提取純文字或精簡HTML(刪除HTML中的一些CSS樣式)的頁面內容。
- 啟用檔案上傳
- 已刪除文件的目錄:/volume1/web/wiki1232/images/deleted
- 標誌URL:$wgStylePath/common/images/wiki.png
- 1.26.2~1.34.0:$wgResourceBasePath/resources/assets/wiki.png
- 開啟即時共享資源:允許在全世界任何一個 MediaWiki 實體能夠使用維基共享資源的任何已上傳的媒體檔案。
- 快取
- x 無緩存(不影響功能,但對較大型的wiki網站會有速度影響)
- v PHP物件緩存(APC、XCache或WinCache)
- 下載 LocalSettings.php 再上傳到 wiki 所在的資料夾
- 再一次連至http://jendo.org.tw/mediawiki/ 即可使用
- 擴充套件資料表安裝情形:
Creating oathauth_users table ...done. ...oathauth_users table does not contain secret_reset field. ...have module field in oathauth_users table. ...oathauth_users table does not contain secret field.
從既有的 MediaWiki 複製新的 MediaWiki 之步驟
- 用root帳戶登入
- 新增一個wiki
- 從既有的wiki找一個編輯內容最少或內容最相近的wiki複製資料(全複製)
- 找一個帳戶,給他新增權限可以管新建的wiki
- 打開Filezilla,連線至伺服器,在web裡找到以"新建的wiki的名字"為名的資料夾
- 在裡面找到一個檔案叫LocalSetting.php,滑鼠右鍵用EmEditer打開
- 找到文件裡的"原wiki的名字",點選"搜尋"->"取代",在"取代"填上"新建的wiki的名字",點選"全部取代"
- 小修飾
- 換管理人
- 到http://jendo.org/adminer-4.7.2-mysql.php
- 在LocalSetting.php 的文件裡找到「Database settings」
- 複製貼上sever、user、password,並登入
- 進入資料夾"新建的wiki名稱"->"wiki_user"->選擇資料
- 更改管理人
- 改密碼
- 參考Mediawiki_設定的第4條,更改某帳號密碼
安裝後測試
致命的異常
訊息:Fatal exception of type MWException(源於 mediawiki 異常的致命異常)
可在 LocalSettings.php 中加入「$wgShowExceptionDetails = true;」加以排查。會顯示出錯的地方。
常見原因有:
- 外掛有問題,把有問題的外掛抑制掉
- 存上傳圖片檔案的時候出現:
$wgEnableUploads = true; $wgUseImageMagick = true; $wgImageMagickConvertCommand = "/usr/bin/convert";
再檢查 image 目錄權限是不是 777
可用或接受:
- 上傳圖照。
- 本 wiki 其他頁嵌入。
- 使用維基共享資源圖照。
- 外掛 LinkedImages.php 可用。
- wfLocalFile(圖照檔名)->getURL() 取得任一圖照的路徑。
- 外掛 videoflash.php 可用。
- 使用方法如:<videoflash>vjehSEVg31k</videoflash>,「vjehSEVg31k」是影片唯一編碼。
- 支援:
- youtube
- googlevideo
- dailymotion
- sevenload
- revver
- blip
- youku
- vimeo
- metacafe
- viddler
- megavideo
- html5
- 外掛 sqlTbl.php 可用。
- 語法如:
<sqltbl>
sql=select page_id,page_title from wiki_page order by page_id
tblhead=頁碼;頁名
</sqltbl> - 須重新連結至資料庫。
- 參考:
- 語法如:
- nicetable,改 /skins/common/ 中的 commonPrint.css、shared.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;} - 跨 wiki 嵌入:跨 wiki 嵌入的說明
- wiki_interwiki 表中加 中文維基百科(前置字 zhtwwikipedia ),中文維基教科書(前置字 zhwikibooks ),其 csv 如下:
zhtwwikipedia,https://zh.wikipedia.org/zh-tw/$1,"","",1,1
zhwikibooks,https://zh.wikibooks.org/wiki/$1,"","",1,1 - 用法如:{{zhwikibooks::初中數學/根號}}
- wiki_interwiki 表中加 中文維基百科(前置字 zhtwwikipedia ),中文維基教科書(前置字 zhwikibooks ),其 csv 如下:
不可用或不接受:
- html a tag
- html img tag
進階修改
- LOGO圖像修改
- MediaWiki安裝後的默認logo(/skins/common/images/wiki.png)
- logo圖像的大小應為135px x 135px
- 修改方式
- 上傳圖檔至伺服器
- 修改MediaWiki設定檔LocalSettings.php文件中的 $wgLogo為指定圖片地址
$wgLogo="$wgStylePath/common/images/logo.png";
- 設定時區
- 修改MediaWiki設定檔LocalSettings.php,增加以下內容:
$wgLocaltimezone="Asia/Taipei"; $wgLocalTZoffset=date("Z")/60;
參考網址
- http://www.mediawiki.org/wiki/Installation/zh-tw
- http://www.mediawiki.org/wiki/Manual:Installation_guide/zh-tw
- http://benjamin.blog.it360.tw/2010/07/02/435/
- http://lib.nksh.tp.edu.tw/jean/lessons/index.php?page=mediawiki
- http://wiki.cc.ncu.edu.tw/wiki/網站建置技術文件
- http://lib.nksh.tp.edu.tw/jean/lessons/index.php?page=mediawiki