本人 MediaWiki 搭建后样子 Player1228's GalGame Wiki(因某些问题暂时停运)
第一次尝试安装MediaWiki,这个Wiki系统相比其他市面上竞品功能比较全面,世界著名Wiki用的就是这个系统,虽然相比其他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