使用腾讯云轻量应用服务器搭建自己的百科:超详细的 MediaWiki 的安装、配置及优化指南(一)
看到现有的中文教程比较老和杂乱,打算给新的 MediaWiki 用户弄个完整的入门教程,希望之后不会咕。
若你想为自己或公司的产品创建一份详细的说明书,或想将自己的知识分享给世界(并邀请他们一起建设内容),无疑,MediaWiki 将是一个不错的选择。本教程将会带你从 0 开始完成 MediaWiki 的安装、配置和优化。
为什么选择 MediaWiki
MediaWiki 软件被包括维基百科在内的数以万计的网站和数以千计的公司和组织使用。它功能强大、多语言、免费开放、可扩展、可定制、可靠且开源。MediaWiki 可帮助您收集和组织知识并将其提供给人们,并且允许协作,每个人都能够贡献自己的知识帮助改进站点。
需求
硬件
- 一台配置至少在 1C1G 及以上、已连接互联网的服务器
这里推荐腾讯云轻量应用服务器,新用户低至 99 元,独享 CPU 和 6M 起步的带宽为我们的百科提供了充裕的性能,在能够保障大量并发请求的同时有着超高的性价比。
如果你介意 AFF,这里也有无 AFF 的链接(不过看在你阅读本文的缘分上,走下 AFF 吧 QAQ):正价、轻量专场优惠、轻量无忧计划
同时,腾讯云的常驻秒杀活动不限新老客户,为大量云产品提供了超低的价格,例如在这里你可以找到 ¥0.01/G 的超优惠 CDN,若你的百科拥有大量静态资源,这可能是个不错的选择。
软件
- PHP 7.3.19 或 7.4.9+
注意:MediaWiki 与 PHP 7.3.0 - 7.3.18 和 7.4.0 - 7.4.8不兼容。
PHP 必要扩展:
Perl 兼容正则表达式(PCRE) (MediaWiki 1.23 要求 PCRE 7.2+)
会话(Session)
SQL
OpenSSL
json (MediaWiki 1.22+)
mbstring (从1.27版本起要求,早期版本只做推荐)
fileinfo (从1.30版本起要求)
intl (required since 1.36)
- MySQL 5.5.8+
或
MariaDB
PostgreSQL 9.2+
SQLite 3.8+
- MediaWiki 软件包
安装
方案1:手动安装
如果你对LNMP环境的配置感到厌烦,不妨试试宝塔面板,本教程之后将会在此环境下进行。选择宝塔面板应用镜像,待服务创建完成后按提示操作即可。
按个人喜好安装基础服务,别忘记手动安装 PHP 扩展
apcu
、
fileinfo
和
intl
,并在左侧
禁用函数
面板中启用
putenv
函数。
添加站点,若是使用域名请在对应解析服务添加解析记录。
在 MediaWiki主页 找到合适的软件包(可能需要代理,这里提供一份 1.36.1 版本 镜像),复制链接并远程下载到站点目录。
方案2:D o c k e r!
既然你愿意使用 Docker,那么你肯定是会的,多余的就不讲了。
这是 MediaWiki 在 DockerHub 的官方镜像
docker pull mediawiki
docker run --name mywiki -p 8080:80 -d mediawiki
然后在本机 8080 端口访问 MediaWiki 并开始配置。
配置
好了!现在访问
http://[你的域名或ip]/mw-config/index.php
,进入配置页面,根据提示完成站点的配置。
选择语言。
若有报错,请按提示检查安装步骤;若无报错,则继续。
配置数据库,数据库主机一般选
localhost
,数据库表前缀可以随意设置,这在单主机多 wiki 场景时有用;其它参数都由你之前创建站点时设置完成。
按提示设置站点名以及管理员账号,并且你想被多问一些问题。
配置编辑权限和扩展,扩展决定了你的 wiki 的可用功能,按需选择即可。
内置扩展的简单介绍:
这里仅简单介绍为数不多的内置扩展,若有需要,可在官方扩展页找到更多信息。
- 特殊页面:
能够添加一个特殊页面,为特定文章提供不同的引文格式。
CiteThisPage
能够某个词条中调用其他词条的内容。
Interwiki
能够使管理员批量删除页面。
Nuke
能够授权用户重命名用户帐户。
Renameuser
能够允许管理员在 wiki 内容页面的文本和标题上进行全局字符串查找和替换。
ReplaceText
- 编辑器:
能够为编辑器中 JavaScript, CSS, JSON, Lua 的编辑提供了一些方便的功能,包括自动缩进和括号配对等功能。
CodeEditor
能够提供一个富文本编辑器。
VisualEditor
能够提供一个可扩展的 wikitext 编辑界面和许多功能模块。
WikiEditor
- 解析器钩
能够以树的形式提供 wiki 类别结构的动态视图。
CategoryTree
能够为页面添加脚注。
Cite
能够为单张图片的不同区域自定义多个链接(例如地图照片)。
ImageMap
能够允许用户将 HTML 表单添加到 wiki 页面。
InputBox
能够在 wikitext 中提供逻辑和字符串的增强处理。
ParserFunctions
能够提供适合诗歌的渲染格式。
Poem
能够在 MediaWiki 内嵌入脚本语言,不过目前只支持 Lua。
Scribunto
能够允许存储、检索和可视化有关模板的信息。
TemplateData
- 媒体文件处理器
能够显示上传的PDF文件。
PdfHandler
- 垃圾阻止
能够为页面保存和其他用户操作添加验证码。
ConfirmEdit
能够提供一个基于正则表达式的垃圾邮件过滤器。
SpamBlacklist
能够禁止用户建立与正规表达式黑名单匹配的页面。
ConfirmEdit
- API
能够收集在有关页面上使用的图像的信息,它的目的是返回与文章相关的单个最合适的图像的缩略图。
PageImages
- 其他
能够让用户使用一些基于 JavaScript 和 CSS 的小工具。
Gadgets
能够让你可以随时更新 MediaWiki 讯息,而不需要升级 MediaWiki 软件。
LocalisationUpdate
能够为用户提供一个更好的图像浏览器,在用户单击图片时以全屏方式打开。
MultimediaViewer
能够为登录提供二步验证。
OATHAuth
能够自动将 URL 重写为 HTTPS。
SecureLinkFixer
能够为纯文本提供摘要。
TextExtracts
接下来等待配置完成,下载自动生成的配置文件
LocalSettings.php
,并上传至站点根目录。
好了,安装过程结束!试着编辑你的 wiki 吧!
下一章将会讲解关于的 MediaWiki 配置相关内容,在此之前,请试着熟悉 MediaWiki ~
本文以 署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 协议共享,转载请署名并保留来源。