Jump to content
本页使用了标题或全文手工转换
开往-友链接力

使用笔记/开始篇

该页面的编辑正在进行中。 讨论

请帮助我们扩充或改进这篇文章。

你好。

想必点进来的你对维基百科、萌娘百科、Minecraft Wiki等这样的维基站点很感兴趣,自己也想做一个吧?

这个页面将从最开始介绍,接着往下看吧。

从零开始,但不用完全从零开始

创建一个wiki站点(本文在以下场合除特殊情况一律使用小写的wiki)并不需要完全从头开始。如果你没有任何网页服务器相关的经验,你可以考虑在已有的wiki farm(维基农场)上创建一个站点。这些wiki站点属于这些农场,后端和部分关键权限都属于他们自己,但站点的页面内容完全由你(和他们与你之间的条款)决定。

Fandom

说到使用人数相当多的wiki farm,那就不得不提Fandom了。Fandom原名Wikia,是一个很老牌的wiki农场。你可能已经听说过Minecraft Wiki了自从它所属的Gamepedia被Fandom收购之后,他就成了体量相当大的Fandom wiki之一。

Fandom的问题也很明显只有一款皮肤,很多基础功能都得自己申请甚至完全不提供,限制很大。但是Fandom面向的就是新手,尝试一下也未尝不可。而且Fandom的SEO(搜索引擎优化)做的相当不错,是别的农场无法比拟的。

还有一个地方是Telepedia,风格可能有些类似。

Miraheze

另一个更像理想中的wiki farm的就是Miraheze。这是一个完全开源的wiki farm,而且非营利,自由程度很高,可以体验到相当原汁原味的MediaWiki。如果你有一定的动手能力,先去那里看看也不错。

问题也很明显,他们的SEO做的就很差。

自托管

最好的选项,也是最麻烦的,就是自托管。自托管(Self-hosted),就是说自己开一个wiki站点。

你开过WordPress博客吗?就是从WordPress.org上面自己下载的那种?有的话就太棒了,至少你应该拥有过一台免费空间/虚拟主机/服务器,对吧?

据我所知,大部分人的第一个自托管网站大多都是一个博客。除了静态的以外,大部分会选择WordPress。开一个MediaWiki站点也是差不多的操作下下来,传上去,然后就好了,你想。

但是,WordPress有完整的网页版安装向导,MediaWiki……则没有那么完整的。

我是说,MediaWiki的安装向导也很完备,但是和其他软件有些不同,没那么方便和智能。

下面,我们开始介绍如何开始搭建自托管MediaWiki。

安装服务器

此段落尚未完成。你可以帮助我们扩充关于该主题的更多信息。
原因:缺失一个具体的安装教程

一款基于PHP的软件并不一定完全需要在一个真正的服务器上才能运转只需要一个叫做“网页服务器”的软件和PHP环境即可。

如果你的服务器操作系统是Linux发行版,那就太好了,网络上有各种各样的LAMP/LNMP的安装教程。

LAMP就是Linux+Apache+MariaDB(MySQL)+PHP。LNMP则是把Apache换成Nginx。Apache和Nginx是两款最常用的网页服务器软件,有了它们你才可以用浏览器访问你所搭建的站点。MariaDB/MySQL(在使用上基本没什么区别)是数据库软件,对于MediaWiki这种需要数据库储存数据的软件来说是必要的。

对于Windows,我们也有XAMPP等。

如果你的“服务器”只有一个网页面板,那么请咨询你的托管商关于你面板的使用。大多数情况下这类自带的面板已经自带了网页服务器和数据库软件的安装,甚至有某种应用商店一样的东西(比如可能是Softaculous)。

如果是只有终端一样的东西,那么请打开搜索引擎,输入你服务器的操作系统,然后跟上你要安装的软件,比如Nginx、MariaDB和PHP。不同的操作系统会有不同的安装方法,比如Linux各个发行版有各个发行版的包管理(甚至没有),每个包管理的版本更新策略也有所不同。以Arch Linux为例,他们的官方源里面已经默认是PHP 8了,其他的发行版可能不同,但应该都还可以找到PHP 7.4的包。

以下以在一个已经成功安装的Arch Linux上搭建LNMP为例。一般来说,如果你是购买的服务器,那么自带的系统肯定不是Arch,因此也请根据你所使用的操作系统的实际来查看以下内容。

部分发行版的软件源可能提供MediaWiki。此处不讲。如有需要使用,参见对应的文档。

安装软件包

初始化

在安装软件包之前,我们先来滚动更新一下:

$ sudo pacman -Syu

如果你有安装额外的Pacman wrapper,也可以用它们来更新,比如yay或者paru

$ yay
$ paru
Nginx

Nginx于2005年编写,是一个免费、开源、高性能的HTTP服务器软件。虽然MediaWiki的开发团队似乎用的是Apache,但是Nginx的支持也做得很不错。

在Arch Linux的官方源里面,有两个软件包:nginx(稳定版本)和nginx-mainline(主线版本)。没有特殊情况时,使用nginx-mainline即可。但官方源内的Nginx模块都是依赖于nginx的,依赖于nginx-mainline的模块则需要使用AUR。

那么开始安装吧。

$ sudo pacman -S nginx-mainline

安装完毕后,需要启用和运行Nginx服务。

$ sudo systemctl enable --now nginx

确保Nginx服务的运行状态,可以输入:

$ sudo systemctl status nginx

然后,在浏览器内输入服务器的地址。若是在本地,则直接访问localhost

就本示例,Nginx默认在localhost页面服务的页面是/usr/share/nginx/html/index.html。如果使用了面板或自己使用了额外的配置,目录可能会存在差异。

MariaDB

MariaDB是一个可靠的、高性能的、功能全面的数据库,是一款免费且可取代Oracle MySQL的数据库服务。

那么开始安装吧。

$ sudo pacman -S mariadb

安装完以后,初始化MariaDB数据目录,并创建系统表。

$ sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql

安装完毕后,需要启用和运行MariaDB服务。

$ sudo systemctl enable --now mariadb

用下面这个命令启动数据库级别的安全配置助手,来配置一些必要的安全选项:

$ sudo mysql_secure_installation

这个安全配置助手将引导设置数据库下的root密码(这一步会提示root账户已经有保护了,可以输入n,但是由于潜在的问题,这一步我们依然选择输入y,然后重新设置),移除匿名账户,禁用远程root登录,移除测试数据库和重载权限表。除了root账户这里要输入一个新密码以外,这些选项全y即可。

要访问数据库,输入:

$ mysql -u root -p

然后输入你设置的root账户密码。

PHP

PHP是一种广泛使用的通用脚本语言,特别适合于Web开发,可嵌入到HTML中。WordPress和MediaWiki都使用PHP。

下面开始安装PHP-FPM。

$ sudo pacman -S php-fpm

安装完毕后,需要启用和运行PHP-FPM服务。

$ sudo systemctl enable --now php-fpm

由于我们使用的是Nginx,所以此处为了让PHP-FPM处理来自Nginx的请求,我们需要修改Nginx的配置。

使用编辑器编辑以下文件(以vim为例):

$ sudo vim /etc/nginx/nginx.conf

在vim里查找php有关的行,输入/php。找到类似于以下的行,并取消它们的注释:

location ~ \.php$ {
  fastcgi_pass   unix:/var/run/php-fpm/php-fpm.sock;
  fastcgi_index  index.php;
  root   /usr/share/nginx/html;
  include        fastcgi.conf;
}

然后修改默认文档,添加一个index.php

location / {
  root   /usr/share/nginx/html;
  index  index.html index.htm index.php;
}

重载以下服务以生效:

$ sudo systemctl restart nginx
$ sudo systemctl restart php-fpm

为了确保PHP-FPM的正确运作,我们在服务器目录下新建以下文件:

$ sudo vim /usr/share/nginx/html/info.php

内容为:

<?php
phpinfo();
?>

在浏览器内访问这个页面。注意,这个页面会暴露服务器的很多信息,请在查看完毕后删除这个文件。

至此,最基本的LNMP就安装完了。你也可以选择安装phpmyadmin这款数据库前端,毕竟在命令行里面操作表不是很好受。以下假定你会基础的SQL语法虽然我不会,或假定你有一款足够好用的数据库管理软件。

打开MediaWiki官网

按照网上的教程安装好之后,接下来则是打开MediaWiki官网了。

作为一个MediaWiki站长,应该关注MediaWiki官网上的信息。其首页的右下角有新闻,可以看到近期发布的新闻(通常是版本更新)。如果需要,你也可以按照网站上的指示关注他们的邮件列表。

MediaWiki官网有什么呢?没错,不止下载,几乎所有MediaWiki相关的大大小小的信息都在上面,比如本地设置(LocalSettings.php,你接下来就知道了)的项目、扩展程序(简称扩展)、皮肤、实用工具等在上面都有介绍。

首先,我们找到官网上的下载链接,点进去。

页面上会出现一个语言选择框,还会出现一个下载图标。此处我们按照一般顺序,点击图标对应的链接,下载这个zip压缩包。

安装MediaWiki

解压与第一次测试

在上一步你应该已经测试完你的网页服务器了。此处假设你网页服务器在浏览器内的地址是localhost(在本地测试则确实是),在服务器硬盘上对应的目录地址是/www/wwwroot/mediawiki(且此目录尚未创建)(这个目录与上面的不一样,请自行参照修改)。这个目录的名称很重要,我们下面再说为什么。

把压缩包解压到wwwroot里面。你应该会看到一个叫做“mediawiki-1.xx.xx”的目录。重命名到mediawiki。前往你服务器的地址。

此时,不出意外,你应该能看到一个MediaWiki的提示。如果这个提示包含一个指向mw-config的链接,恭喜你,离站点安装成功只剩下最后一步了。如果报错,则按照上面的指示,修复错误。比如,若缺少intl,则按照对应的PHP安装方法去启用这个PHP扩展程序。比如,若是在系统自带包管理中安装的PHP,则也在包管理里面找到对应的intl包。若是使用面板,则在对应的PHP设置中打开或安装intl。

如果遇到了一些没有办法解决的问题,记得官网,下载页面上也提供了他们所撰写的MediaWiki安装指南。参考这些资料也很有价值。

初配置MediaWiki

点击上述的链接后,你大概就能看到一个很像维基百科(假设你在维基百科用的是Vector皮肤)的配置界面了。

选择站点语言
选择站点语言。

对于中文用户来说,这一步其实很重要MediaWiki的一项杀手级特性,繁简转换,只有在站点语言设置为“中文 (zh)”时才会启用。关于繁简转换到底如何运作,我们将在以后的篇目里提到。

配置数据库

在你之前配置数据库软件的时候,应该已经有一个root账户了。如果是面板或者使用了一些数据库管理软件,创建数据库可能会随新数据库附带一个账户,使用这个账户即可。否则,你需要参考网上关于数据库的教程,新建一个给MediaWiki用的库,并设置好账户权限。把所使用的数据库名称与数据库用户名、数据库密码填入。若有必要设置数据库前缀,请按照需求设置。无特殊需求勾选使用与安装程序相同的账户。

设置站点基本信息
设置站点基本信息。

你需要设置站点的名称和你站点的第一个账户。如果你的站点语言是zh,请注意,目前没有什么很好的方法对系统信息中使用的站点名称进行繁简转换,也就是只能用简体或繁体。

站点的第一个账户可以就是你自己的当然,也存在第一个账户作为非自然人账户使用的(也就是命名为站点名称,自己再创建一个自己名字的账户)。这里都没什么关系,但是第一个账户设置成你自己的会方便一点。

站点的Project空间可以选择站点名称,没有问题,但是站点语言设置为zh时,你需要在后续处理一下命名空间显示名的繁简转换,所以直接设置为Project也不错。

选择“多问我一些问题吧”以执行下面的步骤。否则会跳过下一步直接开始安装。

用户权限、皮肤与扩展程序

用户权限取决于你wiki的性质也就是说,如果你希望别人能匿名编辑能匿名注册,或者不希望,那么按照自己的意愿去设置。文件上传开启与否也是一样。

皮肤和扩展程序我会放在另外两篇里面去说,就安装教程这里,如果显示了有扩展程序和皮肤,就都选上即可。如果没有皮肤(有的安装方式会出现这种情况),你需要去官网搜索Vector皮肤(或者其他的)并放入站点对应的目录里,否则站点就会出现一个很丑的fallback提示。

上传LocalSettings.php

在安装完毕后,和其他的软件不一样,你需要把程序生成的LocalSettings.php文件自己上传到站点目录里。这么做看似繁琐了一些,但也可以避免对服务器后台没有实际操作权限的人通过mw-config对站点设置进行更多的更改。

在上传对位置后,查看你的MediaWiki站点。

顺利的话,你就会看见类似于这样的首页了:

已安装MediaWiki。

请查阅用户指导以获取使用本wiki软件的信息!

入门

下一步

到此,MediaWiki的安装就结束了。这个站点已经可以运作了。

但是这个空空如也的站点,并不足够你去好好发挥,也上不了台面。如果你是某个wiki的编者,你所思念的扩展程序、模板、模块、CSS、JS们也不在这里。

此外,使用手机查看的时候,整个页面好像不太对劲Vector对手机也太不友好了。

在接下来的篇目中,这些问题将会被一一解答。

接下来的篇目

Cookies help us deliver our services. By using our services, you agree to our use of cookies.