MediaWiki使用指南

时间:2023-12-04 09:33:20

MediaWiki使用指南

MediaWiki是著名的开源wiki引擎,全球最大的wiki项目*(百科词条协作系统)是使用MediaWiki的成功范例,MediaWiki的最大作用在于对知识的归档,可用于构建企业/个人知识库。

MediaWiki官网地址为http://www.mediawiki.org/wiki/MediaWiki

一.安装

安装MediaWiki前需要搭建运行环境,我的环境是apache+php+mysql;有了运行环境,然后下载MediaWiki,压缩包 是.tar.gz格式,在Windows上可以使用7-Zip解压;解压到文件夹如mediawiki下,拷贝到web服务器根目录,然后通过浏览器访问 MediaWiki所在目录(例如:http://localhost/mediawiki/index.php),跟随安装提示直到完成。配置完成后会 生成LocalSettings.php文件,根据提示下载并保存至mediawiki根目录(index.php的同级目录)即可。

安装成功后,点击进入首界面,如下图所示。

MediaWiki使用指南

二.使用入门

1.修改默认logo

mediawiki站点默认logo图片路径名:$WIKI_HOME/skins/common/images/wiki.png,可以通过以下两种方式修改默认logo:

(1)用图片编辑工作打开wiki.png图片,进行修改后覆盖即可;或者自己新建一个135 x 135像素,图片格式为.png的同名图片覆盖即可,建议使用透明背景,否则将严重影响视觉效果。

(2)将logo文件放在目录$WIKI_HOME/skins/common/images下,再在根目录下打开 LocalSettings.php文件,找到$wgLogo= "$wgStylePath/common/images/wiki.png",修改为$wglogo="$wgStylePath/common /images/logo文件名"

注:可以使用默认logo图片同目录下的mediawiki.png替代。

2.去除底部powered by图标

在配置文件LocalSettings.php中加入如下行即可,

unset($wgFooterIcons['poweredby']);

3.修改皮肤

MediaWiki系统的默认皮肤是Vector,使用管理员账户登录后,可以通过"设置" -> "显示" –> "皮肤"预览所有皮肤效果,不过此处修改保存的话,只有在管理员账户登陆时才有效。

如要修改系统默认皮肤,要在根目录下打开配置文件LocalSettings.php,找到$wgDefaultSkin = 'vector';一行,如希望使用Modern皮肤,则改为$wgDefaultSkin='modern';

如想增加新皮肤,可下载皮肤插件保存到skins目录下,然后通过上述方法使用新皮肤。

4.新建页面

如果搜索一个不存在的页面,会得到一个链接去创建新页面;也可以用wiki的URL创建新页,如想新建一个名为HelloWorld的页面,则可在地址栏输入:http://localhost/mediawiki/index.php/HelloWorld,在出现的页面中点击"创建",输入内容后点击"保存页面"即可,如下图所示。

MediaWiki使用指南

5.页面格式化

可以通过使用wiki标记来格式化文本,下文描述了部分wiki标记,更多详情可查阅http://www.mediawiki.org/wiki/Help:Formatting

字符格式化

如,文本内容用两对单引号括起来(''italic'')可实现斜体效果,用三对单引号括起来('''bold''')可实现粗体效果,用 strike标签括起来(<strike>strike</strike>)实现删除线效果;使用标签nowiki括起来则会忽 略上述标记。

章节格式化

(1)标题

MediaWiki页面中的标题使用等号标记,用几对等号括起来则表示是几级标题。

== Level 2 ==

=== Level 3 ===

==== Level 4 ====

===== Level 5 =====

====== Level 6 ======

注: #1. 不建议用一对等号,它表示页面自身。#2. 页面中有4级及更多标题时,会自动生成目录。

(2)水平线

如果想在页面内容之间插入分割线,可在要分割的地方使用"----",如下所示:

水平线之前

----

水平线之后

(3)无序列表

文本前加"*"号可以实现无序列表效果,"*"号的个数表示列表对应的级别,如

*1

**11

**12

*2

**21

**22

(4)有序列表

文本前加"#"号可以实现有序列表效果,"#"号的个数表示列表对应的级别,如

#1

##11

##12

#2

##21

##22

分段

MediaWiki不识别换行。要另起一段,需要使用一空行;在段落中可通过HTML标签<br/>强制换行。

HTML标签

在MediaWiki中允许使用部分HTML标签。如使用<u>标签实现下划线效果,<s>标签实现删除线效果等。

6.链接

下文仅简要描述内部链接和外部链接的用法,更多信息可查阅http://www.mediawiki.org/wiki/Help:Links

内部链接

内部链接,即链接到wiki中其他页面的链接。将目标页面名使用两对方括号括起来表示一个内部链接(如[[HelloWorld]])。保存后,如链接指向的页面已存在,链接会显示为蓝色,否则显示为红色。

如果想将链接显示为文字信息,需使用格式[[页面名|文字]],如[[HelloWorld|到HelloWorld页面]]。

外部链接

外部链接,即链接到其他网站的链接。输入网站地址并以空格结束,就可以生成一个外部链接。保存后,链接后会有一个箭头,表示指向外部。

如果想将链接显示为文字信息,需使用格式[外部网址文字],如[http://www.baidu.com 百度]。

7.分类

在页面中加入[[Category:分类名]],会在页面底部生成分类链接,点击链接后可看到该分类下的所有页面。

8.上传文件设定

配置文件LocalSettings中,$wgEnableUploads就是控制上传的参数,true允许,false不允许。

MediaWiki中允许上传的文件类型是有限制的,默认支持'png','gif', 'jpg', 'jpeg'这几种文件类型,对应的配置可参阅DefaultSettings.php中$wgFileExtensions的值;而不允许的文件类型在 参数$wgFileBlacklist中设定。

登录后,可以通过导航栏或特殊页面中的上传文件链接上传文件。可使用[[File:文件名]]在页面中引用文件,如果引入的是图片文件,还可以指定 图片宽度([[File:Example.jpg|200px]]),加入图片说明([[File:Example.jpg|图片1]])

9.编辑器

MediaWiki自带的编辑器比较简单,用于页面编辑不太方便。从1.18版开始,MediaWiki中集成了一款增强型编辑器WikiEditor,在LocalSettings.php中加入如下行可启用WikiEditor,

$wgDefaultUserOptions['usebetatoolbar'] =1;

从1.21版本开始,MediaWiki默认集成了GeSHi(Generic Syntax Highlighter)插件,这是一款支持语法高亮显示的插件,借助<syntaxhighlight>标签可在页面中显示格式化的源码, 还可以在此标签中使用参数"line"以显示代码行号,如下面的例子所示:

<syntaxhighlight lang="php"line>

<?php

echo "Hello, World!";

?>

</syntaxhighlight>

10.修改导航栏

通过wiki地址index.php/MediaWiki:Sidebar

如,http://localhost/mediawiki/index.php/MediaWiki:Sidebar,或者在搜索栏中输入"mediawiki:sidebar",进入页面后点击编辑即可。

导航栏格式如下:

*导航栏名称一

**链接一地址|链接一名称

**链接二地址|链接二名称

*导航栏名称二

**链接一地址|链接一名称

**链接二地址|链接二名称

11.查看MediaWiki版本

可通过选择"特殊页面" -> "数据与工具" -> "版本",或者搜索"Special:Version"打开版本页面,在这个页面可以看到MediaWiki版本、PHP版本、Apache版本和所安装的扩展的版本等信息。

12.用户组

MediaWiki中有3个用户组:机器人/管理员/行政员,每个用户组的具体权限可通过"特殊页面" -> "用户组权限"查看,通过首页中"创建用户"注册的用户默认不属于任何用户组;从属于行政员用户组的用户,可通过"特殊页面" -> "用户权限管理"给其他用户分配用户组。

13.页面缓存

在配置文件DefaultSettings.php中,找到参数$wgCacheEpoch,将参数值置为当前时间,可以取消全部已经缓存的页面(包括客户端和服务器端)。

日常开发中总会有许多东西需要记录,很多软件都可以做到这一点,例如有道云笔记,或者写博客。但个人偏爱于Mediawiki,因为wiki可定 制性强,总给人一种高端大气的感觉。起初对wiki这种东西一无所知,受老总的影响,开始在公司推广wiki,可惜到现在没有推广成功,不过自己倒是喜欢 上这东西了。废话少扯,进入正题吧。

首先大致说说wiki是什么吧。在我看来,wiki就是一种学术性的博客,但是更加严谨,相当于字典,也不完全像字典一样拘束与单词,总 之,我也说不清楚,形象的说,就是一个文档系统吧。当前有很多wiki软件,例如Wikipedia使用的Mediawiki,以及MoinMoin,还 有其他的很多版本;而Mediawiki应该是最广为人知的吧。

mediaWiki2

Wiki安装

Mediawiki基于php,可以选择MySQL、Sqlite等诸多数据库,在windows上首选wamp server来配置神一般的Php+MySQL环境。本文使用的是Mediawiki1.21.2,Wamp2.4 ,windows8 pro x64的环境。可以建一个专门放网站的目录,例如d:/work/www,将wiki解压到该目录下即可。在wamp安装目录下的alias目录下,新建一个配置文件,例如wiki.conf,内容如下:

1

2

3

4

5

NameVirtualHost *:80

<VirtualHost *:80>

DocumentRoot "D:/Work/www/mediawiki-1.21.2/"

ServerName solee.org

</virtualHost>

因为是本机的缘故,我在host中将solee.org解析到127.0.0.1,穷人买不起虚拟主机。这样访问localhost,将会 进入Mediawiki的初始化安装界面。该安装程序实际上是引导你生成LocalSettings.php,当然也可以手工设置。建议先自己选择,这样 会生成一个LocalSettings.php文件,并执行相应的数据库初始化,将此php下载后放到wiki的根目录下面,直接再访问 localhost即可进入wiki。好了,wiki安装就这样简单。

基本配置

wiki配置很丰富,下面介绍几种可能感兴趣的配置:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#个人wiki,禁止创建帐号功能,除非登陆才能访问

$wgGroupPermissions['*']['createaccount'] = false;

$wgGroupPermissions['*']['edit'] = false;

$wgGroupPermissions['*']['read'] = false;

#启用详细异常显示.

$wgShowExceptionDetails = true;

#去除底部powered by图标

unset($wgFooterIcons['poweredby']);

#对于没有登录的用户,没有登录的用户移除页面顶部的讨论页链接

$wgShowIPinHeader = false;

#默认在新标签页中打开链接

$wgExternalLinkTarget = '_blank';

其他诸如图标、主题、短链接等配置可以自行探索。

常用插件

常用的插件,主要是富文本编辑器了,当个人倾向于使用纯文本编辑器,也就是Mediawiki自己提供的编辑器。默认的工具条很丑,可以在页面右上角的设置->编辑中开启增强功能。

富文本编辑器可选用WYSIWYG,搜索合适的版本下载之后,解压到extensions目录,并在LocalSettings.php中添加一行,加载此拓展:

富文本编辑器

1

require_once( "$IP/extensions/WYSIWYG/WYSIWYG.php" );

    这样安装好之后,可以在设置中选择喜欢的编辑器,或者选择在文本和富文本编辑器中*切换。

代码高亮

    1.21.2的代码高亮插件已经默认集成了,如果没有集成,可以搜索Mediawiki Geshi安装此插件。

pdf导出

Mediawiki的 pdf导出应该说算是比较头疼的问题了,其实支持pdf导出的插件不少,但是对中文的支持非常不好,目前可以用PdfExport插件比较完美的实现。官方的PdfExport插件已经过时(目前不知道是否更新了),需要进行部分修改:

Mediawiki1.21.2导出,可以使用PdfExport插件+Mpdf进行。当前HtmlDoc等其他后端均不能支持中文。 Mpdf需要配置支持CJK字符

配置LocalSettings.php

1

2

3

4

#pdf导出插件

require_once("$IP/extensions/PdfExport/PdfExport.php");

#使用Mpdf作为PdfExport的后端,但必须配置支持ckj字体

$wgPdfExportMPdf =  $IP . '/extensions/Mpdf/mpdf.php'; // Path to the main mPDF.php file

配置字体config_font.php(需要将字体添加到字体文件夹中)

"sun-exta" => array(

'R' => "Sun-ExtA.ttf",

'sip-ext' => 'sun-extb',

),

"sun-extb" => array(

'R' => "Sun-ExtB.ttf",

),

修改config_cp.php

CASE "zh":

$unifonts = "sun-exta,sun-extb";

break;

修改MPdfConverter.php

$mpdf = new mPDF('zh');

$mpdf->SetAutoFont(AUTOFONT_ALL);

$mpdf->WriteHTML($html);

修改config.php

$this->useAdobeCJK = true;

另外,需要注释掉下面的函数调用:

//wfLoadExtensionMessages('PdfPrint');

其他插件:

1

2

3

4

5

6

#Flash插件

require_once("$IP/extensions/oflash/orificeflash.php");

#视频插件

require_once("$IP/extensions/MediawikiPlayer/MediawikiPlayer.php");

#批量导入插件

require_once("$IP/extensions/MultiUpload/MultiUpload.php");

当然具体的插件需要自己去下载。通常谷歌Mdiawiki  <插件名称>即可找到官方的下载地址。

备注:

1

2

#禁用掉此扩展,否则可能不能正常进入wiki

#require_once( "$IP/extensions/LocalisationUpdate/LocalisationUpdate.php" );

备份及优化

备份主要涉及到数据库的备份及Wiki的备份。对于这种非分布式、非云计算(哈哈——)的东西来说,备份就显得尤为重要了。

1

D:\Prog\wamp\bin\mysql\mysql5.6.12\bin\mysqldump -u root -ppassword solee_wiki_db >F:\wiki.sql

wiki备份直接把wiki的文件夹打个包即可。如果是采取sqlite数据库的话,数据库备份更加简单了。

在windows上一个比较烦人的问题就是,wamp的mysql内存占用甚是大,在我4G内存的机器上吃了500M,这不能忍啊,因此需要优化一下mysql:

[mysqld]

port=3306

max_connections = 100

#加入以下内容

performance_schema_max_table_instances=600

table_definition_cache=400

table_open_cache=256

注:内容来源于网络:http://blog.csdn.net/wangnan537/article/details/37743497