这段时间我一直想搭建一个在线的笔记本。

可以看看成品,里面写了一点wikimedia快速入门的内容

为了找这样一个笔记本我了解了notion、onenote、MediaWiki、dokuwiki、wordrpess、typecho、Docsify(太多了,没时间一个个试验,就先用MediaWiki搭建了一个,后面有空再将可能的都试一遍)

一、步骤

1.下载MediaWiki安装包

MediaWiki官网下载地址

2.创建一个新的子域名

由于我想将这个知识库安装到一个子域名上,当作独立的内容,所以,我先去新增了一个子域名

如果想要了解如何增加子域名可以参考《如何设置子域名》的前半部分(在域名注册商哪里新增的那部分,后面就不用看了)。

3.创建一个网站,并删除两个自带的文件

注意php的版本要求

删除index.html和404.html文件

4.上传下载好的安装包

并解压到wiki.vantageso.com根目录下,将mediawiki-1.34.2文件夹中的文件全部剪切到根目录下

5.安装php的扩展

fileinfo是必备的,没有它无法继续安装mediawiki

6.输入子域名访问安装

安装上方可能会有如下报错

puteny() has disabled for security reasons in …

为了解决这个问题需要前往宝塔的php函数那里禁用函数(也就是删除一个函数)

删除putenv

错误便消失了。

一路继续即可,配置数据库的时候回到宝塔看看之前安装的数据库名和密码,填写即可.

6.上传LocalSettings.php文件

将其上传至wiki.vantageso.com的根目录下,即可完成。

二、基本配置

LocalSettings.php下方加上这些,可做基本优化。

#去掉底部poweredby
unset($wgFooterIcons['poweredby']);

#启用可视化编辑器
wfLoadExtension('WikiEditor');
$wgDefaultUserOptions['usebetatoolbar'] =1;

#仅允许自己编辑
$wgGroupPermissions['*']['createaccount'] = false;

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

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

#没有登录的用户移除页面上的讨论页链接
$wgShowIPinHeader = false;

三、基本操作

1.数据库的优化

官方数据库优化教程

删除修订版

因为我们的数据库大小有限,太多的数据会给数据库造成负担,并且也不需要那么多的修订版,所以我们需要对数据库进行清理。

ssh远程连接以后进入站点根目录下,使用如下指令可对所有修订版本进行删除

php maintenance/deleteOldRevisions.php --delete

删除特定页面使用如下指令(删除页面1 2 15 38的修订版本)

php maintenance/deleteOldRevisions.php --delete 1 2 15 38

更多细节可以参考官方给的删除方式

删除归档

用法和上面类似

php deleteArchivedRevisions.php [--conf|--dbpass|--dbuser|--delete|--globals|--help|--memory-limit|--profiler|--quiet|--server|--wiki]
Option/Parameter	Description
--delete	Does the deletion (otherwise only displays the number of revisions to delete).
--help (-h)	Display the scripts help message.
--quiet (-q)	Suppresses all non-error specific output.
--conf	Specifies the location of LocalSettings.php if not stored in the default location.
--wiki	Specifies the wiki ID. Useful in situations where multiple wikis are deployed.
--globals	Outputs the globals at the end of processing for debugging purposes.
--memory-limit	Sets a specific memory limit for the script, "max" for no limit or "default" for no change.
--server	The protocol and server name to use in URLs, e.g. https://en.wikipedia.org. This is sometimes necessary because server name detection may fail in command line scripts.
--profiler	Set to "text" or "trace" to show profiling output.

官方删除归档方式

删除未使用的文本记录

php purgeOldText.php --purge

删除最近更改记录

我自己并不喜欢那么多的修订版本的显示,找了好久都没有找到删除按钮,最终选择直接操作数据库(非官方方法)

用phpmyadmin进入数据库找到recentchanges,查看全部,点击删除即可,最终我们看到最近更改页面干净了不少