MediaWiKi简明安装与配置笔记
????? 一.安裝篇
????? 1.下載并安裝Xampp
????? 下載地址
????? 注意,如果MySql不能成功啟動(dòng),則應(yīng)檢查My.ini配置文件中basedir與datadir是否配置為相對(duì)路徑.如果是,請(qǐng)改為絕對(duì)路徑后再次啟動(dòng).
????? 也談關(guān)于綠色版my.ini相對(duì)路徑設(shè)置的問(wèn)題
????? 2.下載MediaWiKi
????? 下載地址
????? 3.將MediaWiKi解壓到Xampp安裝目錄的htdocs目錄下
????? 4.安裝Php緩存組件
????? 從MediaWiKi的安裝向?qū)?lái)看,其起碼支持Apc,XCache,WinCache.但是WinCache只有非線程安全版本,而Xampp包含的Php是線程安全版本.所以就只能從前兩者中選擇.我選擇的是Apc.下載后解壓到Php的Ext目錄下,然后在Php.ini中加入extension=php_apc.dll即可
????? PHP提供的下載地址
????? 微軟提供的下載地址
????? 5.進(jìn)入Http://localhost/mediawiki,進(jìn)行軟件安裝
?
????? 二.配置篇
????? 1.MediaWiki
????? a.在LocalSettings.php中加入$wgExternalLinkTarget = '_blank';,使所有鏈接都從新窗口打開
????? 參考
????? Manual:$wgExternalLinkTarget
????? b.修改$wgLogo使其指向特定Logo圖片
????? c.新增$wgNamespacesWithSubpages[NS_MAIN] = true;,使其在主命名空間支持子頁(yè)面.
????? 參考
????? Manual:$wgNamespacesWithSubpages/zh
????? d.從官方下載插件并配置,使其支持多文件上傳
????? 下載
????? e.新增$wgFileExtensions變量,如$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'wmv', 'pdf', 'doc', 'docx', 'xls', 'xlsx', 'ppt', 'pptx' );,使其可上傳指定文件類型
????? 參考
????? Mediawiki允許多種文件類型(格式)文件上傳設(shè)置
????? f.新增$wgMaxUploadSize變量,如$wgMaxUploadSize = 1024*1024*1000;
????? 修改php.ini文件內(nèi)post_max_size變量值,如post_max_size=1000M
????? 修改php.ini文件內(nèi)upload_max_filesize變量值,如upload_max_filesize=1000M
????? 使其可以上傳最大為指定大小的文件
????? 注意,修改后需重啟Apache
????? 參考
????? 改變mediawiki上傳文件大小的設(shè)置
????? g.默認(rèn)情況下是無(wú)法上傳office相關(guān)文件,系統(tǒng)會(huì)報(bào)兩種錯(cuò)誤:
????? 該文件是已損壞或以其它方式無(wú)法讀取的 ZIP 文件。 不能正確檢查安全。
????? The file is a corrupt or otherwise unreadable ZIP file. It cannot be properly checked for security.
????? 文件擴(kuò)展名“.ppt”與檢測(cè)到的文件MIME類型(application/zip)不匹配。
????? File extension ".ppt" does not match the detected MIME type of the file (application/zip)
????? 對(duì)于前一個(gè)錯(cuò)誤,需增加$wgAllowJavaUploads變量并設(shè)置為true
????? 對(duì)于后一個(gè)錯(cuò)誤,需打開includes/mime.types文件,找到application/zip行并在后面加上doc docx xls xlsx ppt pptx
????? 參考
????? Manual:MIME type detection
????? Manual:Configuring file uploads
????? h.默認(rèn)情況下,文件名中如果包含中文或特殊字符,是無(wú)法上傳的,其會(huì)提示
????? 本wiki不支持在文件名中使用特殊字符。
????? This wiki doesn't support filenames with special characters.
????? 這種情況只會(huì)在服務(wù)端是windows環(huán)境下才會(huì)發(fā)生.官方也發(fā)布了對(duì)應(yīng)的解決辦法.不過(guò)由于不太懂這里面的語(yǔ)法,且看上去要改很多地址,我還是決定來(lái)適應(yīng)這個(gè)Bug吧.
????? 參考
????? upload files with special characters onto mediawiki on wampserver
????? i.修改skins\vector\screen.css文件中#bodyContent的字體大小樣式,使之與編輯器中默認(rèn)字體大小一樣.我在兩個(gè)地方都設(shè)置為16pt.
????? j.在地址欄輸入mediawiki/index.php/MediaWiki:Print.css,在編輯框內(nèi)加入如下內(nèi)容,可讓頁(yè)面打印版本減少無(wú)關(guān)內(nèi)容,如來(lái)自于...,頁(yè)面修改次數(shù)等.
.firstHeading { margin-top: 0; padding-top: 0; } #siteSub { display: none; } .printfooter { display: none; } #catlinks, .catlinks { display: none; } #footer { display: none; }????? 參考
????? Help:Printable
????? k.從官網(wǎng)下載CustomNavBlocks插件可以讓側(cè)邊導(dǎo)航欄有更大的自定義自由度.
????? 參考
????? Extension:CustomNavBlocks
? ? ? l. 從官網(wǎng)下載ReplaceText插件可以文章標(biāo)題或內(nèi)容的批量替換.
?? ?? 參考
????? Extension:Replace Text
? ? ? m. 默認(rèn)情況下,只能同時(shí)移動(dòng)100個(gè)頁(yè)面,如果需要移動(dòng)更多,請(qǐng)?jiān)贚ocalSettings.php中增加名為$wgMaximumMovedPages的變量并將其設(shè)定為想要的值
????? Wikipedia:Moving a page
?
????? 2.TinyMce
????? a.從官方插件頁(yè)下載此插件,并按說(shuō)明替換自帶編輯器
????? 下載地址
????? b.在上一步配置的文件LocalSettings.php中,在$wgExt_valid_elements 變量后加入,nowiki來(lái)支持Wiki轉(zhuǎn)義
????? 參考:
????? TinyMCE - Insert HTML Code
????? c.從官方下載中文語(yǔ)言包并覆蓋進(jìn)對(duì)應(yīng)目錄
????? 下載地址
????? d.在TinyMce_MW.php文件的msword處后的配置中,加入language : \"cn\",使上面下載的語(yǔ)言包生效.由于在大部份情況下使用msword主題,后文所有涉及TinyMce初始化的配置都是針對(duì)msword.
????? 參考:
????? TinyMCE中文語(yǔ)言包安裝
????? e.在剛才加入語(yǔ)言配置的下方再加一行:font_size_style_values : \"16pt,24pt,32pt,40pt,48pt,56pt,64pt\",.相應(yīng),在其jscripts/tiny_mce/themes/advanced的editor_template.js文件中,將tinymce.themes.AdvancedTheme處后面的sizes修改為[16,24,32,40,48,56,64]
????? f.仍然在editor_template.js文件中,在theme_advanced_fonts處加入:宋體=宋體;黑體=黑體;仿宋=仿宋;楷體=楷體;隸書=隸書;幼圓=幼圓;
????? 參考:
????? 給WordPress的TinyMCE編輯器加上中文字體
????? g.在jscripts/tiny_mce/themes/advanced/skins/default/中的content.css中,第一行,將字號(hào)修改為16pt
????? 參考:
????? tiny_mce的使用,如何修改默認(rèn)字體
?
????? 3.語(yǔ)法高亮
????? a.從官方插件頁(yè)下載此插件,并按說(shuō)明進(jìn)行配置
????? 下載地址
????? b.從下面提供的地址下載插件,并按主頁(yè)上的方式進(jìn)行配置.
????? 下載地址
????? 使中用,彈出的輸入框不需要那么多選項(xiàng),我只保留了裝訂線(行號(hào)),是否可折疊與語(yǔ)言選擇.且各控件標(biāo)題名可能顯示有誤.需要對(duì)此控件作二次修改.
????? 在dialog.htm頁(yè)面中去除多余選項(xiàng),并將C#作為默認(rèn)語(yǔ)言.修改后的關(guān)鍵代碼如下
<fieldset id="syntaxhl_options"><legend>{#syntaxhl_dlg.highlight_options}</legend><input type="checkbox" name="syntaxhl_nogutter" id="syntaxhl_nogutter" value="1" checked="checked" /><label for="syntaxhl_nogutter" >{#syntaxhl_dlg.nogutter}</label> <input type="checkbox" name="syntaxhl_collapse" id="syntaxhl_collapse" value="1" /><label for="syntaxhl_collapse">{#syntaxhl_dlg.collapse}</label><br /><label for="syntaxhl_language">{#syntaxhl_dlg.choose_lang}:</label><select name="syntaxhl_language" id="syntaxhl_language"><option value="applescript">AppleScript</option><option value="as3">ActionScript3</option><option value="bash">Bash(Shell)</option><option value="coldfusion">Cold Fusion</option><option value="csharp" selected="selected">C#</option><option value="cpp">C++</option><option value="css">CSS</option><option value="delphi">Delphi</option><option value="diff">Diff</option><option value="erlang">Erlang</option><option value="groovy">Groovy</option><option value="java">Java</option><option value="javafx">JavaFX</option><option value="jscript">Jscript</option><option value="perl">Perl</option><option value="php">PHP</option><option value="plain">Plain(Text)</option><option value="powershell">PowerShell</option><option value="python">Python</option><option value="ruby">Ruby</option><option value="sass">SASS</option><option value="scala">Scala</option><option value="sql">SQL</option><option value="vb">VB</option><option value="xml">XML/XHTML</option></select> </fieldset>????? 相對(duì)的,dialog.js文件也需要修改
init : function() {// get arguments passed from plugin to window.var editor_content = tinyMCEPopup.getWindowArg('editor_content');var editor_options = tinyMCEPopup.getWindowArg('editor_options');// check to see if any content was passed to windowif(editor_content != undefined) {// select form and place snippet code into editor windowvar f = document.forms[0];tinyMCEPopup.editor.dom.setHTML(f.syntaxhl_code, editor_content);// check for each option and update form elements accordinglyif(editor_options['brush']) {for(var i = 0; i < f.syntaxhl_language.options.length; i++) {if(f.syntaxhl_language.options[i].value == editor_options['brush']) {f.syntaxhl_language.selectedIndex = i;break;}}}if(editor_options['gutter'] && editor_options['gutter'] == 'false') {f.syntaxhl_nogutter.checked = 'true';}if(editor_options['collapse'] && editor_options['collapse'] == 'true') {f.syntaxhl_collapse.checked = 'true';}} },insert : function() {var f = document.forms[0], textarea_output, options = '', replace_element;//If no code just return.if(f.syntaxhl_code.value == '') {tinyMCEPopup.close();return false;}// get replacement argument to determine return typereplace_element = tinyMCEPopup.getWindowArg('replace_content');if(!f.syntaxhl_nogutter.checked) {options += 'gutter: false; ';}if(f.syntaxhl_collapse.checked) {options += 'collapse: true; ';}options += "toolbar: false;"textarea_output = '<pre class="brush: ';textarea_output += f.syntaxhl_language.value + '; ' + options + '">';textarea_output += tinyMCEPopup.editor.dom.encode(f.syntaxhl_code.value);textarea_output += '</pre> '; /* note space at the end, had a bug it was inserting twice? */// check for replace_element option value and return output accordinglyif(replace_element == false) {tinyMCEPopup.editor.execCommand('mceInsertContent', false, textarea_output);} else {tinyMCEPopup.editor.execCommand('mceReplaceContent', false, textarea_output);}tinyMCEPopup.close(); }????? 最后,將語(yǔ)言包文件zh.js重命名為cn.js,zh_dlg.js重命名為cn_dlg.js.如果還有亂碼,則將其內(nèi)容強(qiáng)行Html編碼
????? cn.js
tinyMCE.addI18n('cn.syntaxhl',{desc : '\u63d2\u5165\u4ee3\u7801' });????? cn_dlg.js
tinyMCE.addI18n('cn.syntaxhl_dlg',{title : '\u63d2\u5165\u4ee3\u7801',highlight_options : '\u9ad8\u4eae\u9009\u9879',paste : '\u7c98\u8d34\u4ee3\u7801',choose_lang : '\u6298\u53e0\u4ee3\u7801',nogutter : '\u884c\u53f7',//light : '精簡(jiǎn)模式',collapse : '\u6298\u53e0\u4ee3\u7801'//fontsize : '字體大小',//first_line : '起始行的值',//highlight : '高亮行' });????? 以上兩者配置好后,在編輯器中通過(guò)彈出框輸入代碼.編輯器內(nèi)不會(huì)著色.保存后瀏覽時(shí)著色.
????? 另一個(gè)基本可用的插件
?
????? 三.使用篇
????? 1.加入超鏈接時(shí)不能使用TinyMce自帶的方式,而要使用MediaWiKi自帶的方式
????? 2.當(dāng)你要直接顯示某些被MediaWiKi特殊定義的字符,比如大中擴(kuò)號(hào)時(shí),切換到Html編輯界面,將需要轉(zhuǎn)義的字符嵌入<nowiki>標(biāo)簽即可.
????? 3.使用TinyMce自帶的表格功能時(shí),MediaWiKi因不識(shí)別會(huì)顯示時(shí)會(huì)出現(xiàn)一對(duì)TBody標(biāo)簽.解決方法是在mediawiki/includes/sanitizer.php中找到removeHTMLtags函數(shù),在$htmlnest變量后新增'tbody'元素.
????? 參考
????? embed flash into mediawiki
????? How to enable HTML tags in MediaWiki?
????? 4.編輯導(dǎo)航欄時(shí),使用的地址是mediawiki/index.php/MediaWiki:Sidebar,而不是mediawiki/MediaWiki:Sidebar,否則會(huì)出現(xiàn) 403 access forbidden
?
????? 參考:
????? MediaWiki官方文檔
????? 11款開源Wiki管理系統(tǒng)
????? WIKI系統(tǒng)開源軟件
????? MediaWiki使用手冊(cè)
轉(zhuǎn)載于:https://www.cnblogs.com/ljzforever/archive/2013/04/27/3047956.html
總結(jié)
以上是生活随笔為你收集整理的MediaWiKi简明安装与配置笔记的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: flash怎么描图案轮廓?flash图案
- 下一篇: [转]Qtopia2.2.0移植