本人MediaWiki搭建后样子 Player1228's GalGame Wiki
第一次尝试安装MediaWiki,因本人技术问题,途中遇到了不少困难,虽然相比其他wiki程序其文档更丰富和全面,但其文档中文翻译个人觉得不如直接读英语,以下介绍个人使用的配置。
一、安装时请按照官网要求进行配置
截止本文发布,官方最新版本为MediaWiki 1.43.0,其的安装要求为:
- PHP 8.1.0+[拓展要求:calendar, fileinfo, json, openssl, xmlreader, dom(since MW 1.34), intl(since MW 1.36), mbstring(since MW 1.27),xml(since MW 1.27), xmlreader(since MW 1.36)]
- MariaDB 10.3.0+(官方推荐)/MySQL 5.7.0+/ SQLite 3.8.0/PostgreSQL 10.0+
- 任何WEB服务器软件(IIS/Apache/Nginx(个人推荐,尽管在Windows下可能表现一般))
本人使用Windows环境+宝塔面板进行安装,按照最低要求PHP8.1+MariaDB 10.3进行安装(安装高版本数据库会报错,原因未知),如使用宝塔安装,PHP拓展应该不需要调整,但需要在PHP设置项中“禁用函数”一栏把putenv删除,否则进入后台安装时报错。
走完配置流程后,会下载一个名为LocalSettings.php的文件,此文件需要放入网站根目录完成安装,否则无法进入网站,另外此文件在后续配置中有重要作用。
二、伪静态配置
和WordPress一样,为了美观(主要)和SEO我们需要进行伪静态配置,以下为Nginx伪静态配置。
location ~ ^\/.+$ {
if ($request_uri ~ ^/images) { break; }
if ($request_uri ~ ^/resources) { break; }
if ($request_uri ~ ^/index\.php) { break; }
rewrite ^/(.+)$ /index.php?title=$1 last;
}
配置完成后我们需要打开网站根目录下我们刚刚放进去的LocalSettings.php,搜索
$wgScriptPath = "";
使其变为
$wgScriptPath = "";
##伪静态配置
$wgArticlePath = "$wgScriptPath/$1";
保存文件,伪静态生效。
三、安装插件/皮肤的方式
在网站根目录下,有extensions和skins两个文件夹,分别存放插件和皮肤,每个插件和皮肤均以文件夹形式存在,官网下载的插件和皮肤均为压缩包,直接上传到目录解压即可。解压完毕后需要激活,类似以下形式
##此项为你当前使用的皮肤
##双引号内填写皮肤名称
$wgDefaultSkin = "Timeless";
##以下为加载皮肤的方法,未加载的皮肤无法使用
##单引号内填写皮肤名称
wfLoadSkin( 'Timeless' );
##以下为加载插件的方法,在文件尾部另加一行即可
wfLoadExtension( 'WikiEditor' );
保存完成安装。
官网链接:分类:按分类排列的扩展 - MediaWiki 分类:所有皮肤 - MediaWiki
四、SEO配置(可选)
虽然Wiki理论上不需要进行SEO配置,但是为了完美还是进行一下操作,原生MediaWiki几乎没有任何SEO配置项,所以我们需要自行安装插件进行功能不全,我们需要两款插件:WikiSEO,AutoSitemap,除安装插件外,我们可以进行以下配置:
//文件名称,如无需求可直接复制
$wgAutoSitemap["filename"] = "SiteMap.xml";
//文件生成间隔,可选hourly daily weekly monthly yearly adjust(动态)
$wgAutoSitemap["freq"] = "daily";
//防止FileTalk进入到Sitemap
$wgAutoSitemap["exclude_namespaces"] = [
NS_TALK,
NS_USER,
NS_USER_TALK,
NS_PROJECT_TALK,
NS_FILE,
NS_FILE_TALK,
NS_MEDIAWIKI,
NS_MEDIAWIKI_TALK,
NS_TEMPLATE,
NS_TEMPLATE_TALK,
NS_HELP,
NS_HELP_TALK,
NS_CATEGORY_TALK
];
SEO选项配置需要在每篇Wiki的末尾添加,可使用个人使用的模板
{{#seo:
|title_mode=append
|title=填写站点名称
|description=本页介绍,显示在搜索引擎。
|site_name=填写站点名称
|published_time=1145-14-19
}}
由于前面使用了伪静态,如果直接打开xxx.com会报错,如全程按教程操作,请使用以下伪静态配置,如有需要请自行修改。
location ~ ^\/.+$ {
if ($request_uri = /extensions/AutoSitemap/sitemap.xsl) { break; }
if ($request_uri ~* ^/SiteMap.xml) { break; }
if ($request_uri ~ ^/images) { break; }
if ($request_uri ~ ^/resources) { break; }
if ($request_uri ~ ^/index\.php) { break; }
rewrite ^/(.+)$ /index.php?title=$1 last;
}
五、其他个人配置
##网站小图标(标题旁边的,默认不会进行配置)
$wgFavicon = "填写图片外部地址或存在网页目录以 $wgResourceBasePath/ 调用";
$wgAppleTouchIcon = "同上";
##允许调用外部图片插入Wiki,使用时直接在对应位置填写网址,无法调整大小
$wgAllowExternalImages = true;
##允许显示标题与页面子目录不同
##在页面开头添加 {{DISPLAYTITLE:显示内容}} 调用
$wgAllowDisplayTitle = true;
$wgRestrictDisplayTitle = false;
##允许在线图片存储
##$wgAllowCopyUploads = true;
##启用页面缓存
$wgUseFileCache = true;
$wgFileCacheDirectory = "{$wgUploadDirectory}/cache";
$wgUseGzip = true;
##添加网站备案号
$wgHooks['SkinAddFooterLinks'][] = function( $skin, $key, &$footerlinks ) {
if ( $key === 'places' ) {
$footerlinks['ICP_Number'] = Html::rawElement( 'a', [ 'href' => 'https://beian.miit.gov.cn/' ], '备案号XXXXXXXX' );
}
};
Comments NOTHING