MediaWiki配置笔记
本页为 林爽的技术笔记本 之一部分。
MediaWiki 是用以搭建 Wikipedia 的服务器软件,由维基媒体基金会发布、维护,是基于GPL的自由软件。本网站“林爽的技术笔记本”也采用此程序搭建。
目录 |
系统需求
- Web 服务器,可以选用 Apache 或者 IIS,需要支持PHP(因此Apache优先考虑)。
- PHP 组件,最新版本的 MediaWiki 要求 PHP5,但是我的服务商只提供PHP4。
- MySQL (4.0或更高版本)或 PostgreSQL (8.1或更高版本)数据库。为了方便数据管理,可以选装一个 phpMyAdmin 或 phpPgAdmin (视采用的数据库而定)。
下载安装
到 MediaWiki 官方网站[1]下载 MediaWiki 程序文件,解压缩,放置于合适的目录中,如 /w 。
注意:自 MediaWiki 1.7 开始,PHP5 的支持成为必须的,这意味着如果你用的是 PHP4,则最多只能用 MediaWiki 1.6.8;自 MediaWiki 1.6 开始,MySQL 4 的支持成为必须的,这意味着如果你用的是 MySQL 3.x,则最多只能用 MediaWiki 1.5.8,此版本于官方网站现已不再提供技术支持。
为了配置数据库,最好首先在 MySQL 中创建一个数据库。在浏览器中打开 /w 这个目录时,会自动调用 MediaWiki 安装程序。这里面需要填写一些项目,大部分很容易理解,尽量使用推荐选项或默认选项(如“表格前缀”)即可。有几组用户名、密码的概念阐述如下:
- MediaWiki 管理员名称及密码,是新建安装好的 MediaWiki 程序的默认管理员用户。这个用户对系统拥有除物理权限以外,逻辑上的绝对控制权,且可通过网络远程管理。
- MySQL 用户名、密码,是指访问制定 MySQL 的用户和密码,该用户需对制定的数据库有读写权限。MediaWiki 正常工作时,读写数据库都会使用此用户登录。
- MySQL 管理员用户名(默认为root)、密码,是指管理 MySQL 服务器的密码。它是在前面制定的数据库不存在的情况下使用,以创建数据库及用户的。也就是说,如果前面一项制定是正确的,这项写不写、对不对都无所谓,而且只会用到一次。通常的主机服务提供商可能不会告知 MySQL 管理员用户密码。
安装程序会自动在指定的 MySQL 数据库中建立表。安装好之后,还需要把 /w/config/LocalSettings.php 移到 /w 目录下面。这样 MediaWiki 就安装成功了。
进阶设定
在 LocalSettings.php 文件中,可以设定:更改左上角的图片路径,是否允许上传文件,等等。更改图片可以修改 $wgLogo 变量的值,允许上传图片可以将变量 $wgEnableUploads 的值改为 true。
在默认情况下,文章显示的路径是 /w/index.php?title=(标题名) 。怎样才能让它具有类似Wikipedia 风格的标题名呢?需要配置 /.htaccess 文件,在其中加入两行(Apache 需要 mod_rewrite 模块支持)。
RewriteEngine on RewriteRule ^wiki/?(.*)$ /w/index.php?title=$1 [L,QSA]
这样,就可以以 /wiki/(标题名) 方式访问文章了。但文章中链接的渲染方式还是默认的,只需修改 LocalSettings.php 文件,将原来的 $wgscript 一行注释掉,改为:
$wgScript = "/wiki"; # $wgScript = "$wgScriptPath/index.php";
将原有的 $wgArticlePath 也要改为
$wgArticlePath = "$wgScript/$1"; # $wgArticlePath = "$wgScript?title=$1";
即可改变默认的渲染方式。文章显示“平滑过渡”为“/wiki/(标题名)”的方式。
锦上添花
更改界面中的一些错字(在 /wiki/Special:Allmessages 中)。
配置合适的时区
系统默认以 UTC (协调世界时)记录所有事件,包括用户签名。可以在 LocalSettings.php 中增加下面一段配置:
## Timezone Settings - by Frank
$wgLocaltimezone = "Asia/Shanghai";
$oldtz = getenv("TZ");
putenv("TZ=$wgLocaltimezone");
$wgLocalTZoffset = date("Z") / 3600;
putenv("TZ=$oldtz");
这样就能够在签名中以 CST(中国标准时间,UTC+8)来显示时间了。
添加 Sitemap
添加 sitemap,可以方便地将页面修改定期提交到 Google。
增加 Cite.php 扩展
可以支持 <ref> 标签。
有关链接
- ↑ 下载MediaWiki注:这个网站在国内可能无法访问。