本教程适用于以下操作系统版本

  • Ubuntu 24.04(Noble Numbat)
  • Ubuntu 22.04(Jammy Jellyfish)
  • Ubuntu 18.04(Bionic Beaver)

本页内容

  • 先决条件
  • 安装依赖项
  • 配置 UFW
  • 配置 PHP
  • 配置 MariaDB 服务器
  • 下载 MediaWiki
  • 配置 Apache 虚拟主机
  • 使用 HTTPS 保护 MediaWiki
  • 安装 MediaWiki
  • 结语

MediaWiki 是一款使用 PHP 和 MySQL 编写的开源 wiki 软件。它是一个可扩展、可伸缩的 wiki 软件平台,支撑着 Wikipedia 和 Wikimedia 等站点。MediaWiki 可用作协作与文档平台,帮助你整理文档并向所有人公开。它支持多语言,并可在主题/skins、插件、编辑器等多个方面进行自定义。

本指南将介绍如何在 Ubuntu 24.04 服务器上安装 MediaWiki。你将使用 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)安装 MediaWiki,然后通过 Certbot 和 Letsencrypt 使用 HTTPS 加以保护。

先决条件

在开始之前,请确保你已具备以下条件:

  • 一台 Ubuntu 24.04 服务器。
  • 一个具有管理员权限的非 root 用户。
  • 一个已指向服务器 IP 地址的域名。

安装依赖项

要安装 MediaWiki,必须先确保系统上已安装相关依赖。目前 MediaWiki 1.41 稳定版需要 PHP 8.1 至 8.3。在本节中,你将安装 Apache、MariaDB 服务器、PHP 8.3 和 ImageMagick 作为 MediaWiki 的依赖项。

首先,运行以下命令更新你的 Ubuntu 软件源。

sudo apt update

现在,使用以下命令安装 MediaWiki 的依赖项。输入 Y 确认操作。通过该命令,你将安装 LAMP 技术栈(Apache、MySQL/MariaDB 和 PHP)以及 ImageMagick 软件包。

sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php php php-common php-intl php-xml php-curl php-gd php-mbstring php-mysql php-apcu

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

安装完成后,使用以下命令检查 apache2 服务的状态。你将看到 Apache Web 服务器正在运行并已设置开机自启。

sudo systemctl is-enabled apache2 sudo systemctl status apache2

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

使用以下命令检查 mariadb 服务。你可以看到 MariaDB 服务器正在运行并已启用。

sudo systemctl is-enabled mariadb sudo systemctl status mariadb

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

最后,使用以下命令检查 PHP 版本。你将看到系统上已安装 PHP 8.3。

sudo php -v

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

配置 UFW

使用以下命令在 UFW 中添加并启用 Apache Full 配置文件:

sudo ufw allow "Apache Full"

现在使用下面的 ufw status 命令验证 UFW 中已启用的规则。Apache Full 配置文件会同时开放 HTTP 和 HTTPS 协议的端口。

sudo ufw status

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

配置 PHP

安装完依赖后,你将通过编辑默认配置文件 /etc/php/8.3/apache2/php.ini 来设置 PHP。

运行以下 nano 命令打开 PHP 配置文件 /etc/php/8.3/apache2/php.ini 。

sudo nano /etc/php/8.3/apache2/php.ini

取消注释并按如下方式修改默认的 PHP 配置。请务必根据需要调整 memory_limit 和 date.timezone 选项。

date.timezone = Europe/Amsterdam
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360

完成后保存并退出文件。

现在运行以下命令重启 Apache Web 服务器,使你的 PHP 配置生效。

sudo systemctl restart apache2

配置 MariaDB 服务器

PHP 配置完成后,你将加固 MariaDB 服务器,并为 MediaWiki 创建一个新的数据库和用户。你将使用 mariadb-secure-installation 工具加固 MariaDB,然后通过 mariadb 客户端创建新的数据库和用户。

使用以下 mariadb-secure-installation 命令加固你的 MariaDB 服务器安装。

sudo mariadb-secure-installation

接下来会提示你进行以下 MariaDB 服务器配置:

  • 默认的 MariaDB 安装没有设置密码,在提示输入密码时直接按 ENTER。
  • 输入 Y 以设置 MariaDB root 密码。然后输入 MariaDB 的新密码并重复确认。
  • 输入 Y 以移除 MariaDB 安装中的匿名用户。
  • 在提示禁用 MariaDB root 用户远程登录时,再次输入 Y。
  • 输入 Y 以移除 MariaDB 中默认的 test 数据库。
  • 最后,输入 Y 以重新加载表权限并应用新的更改。

加固 MariaDB 之后,使用以下命令登录 MariaDB 服务器——在提示时输入你的 root 密码。

sudo mariadb -u root -p

接下来,运行以下 SQL 语句为 MediaWiki 创建新的数据库和用户。本例中,你将创建新数据库 mediawikidb,以及用户 mediawiki(密码为 mediawikipassdb)。你可以根据自己的情况调整数据库信息。

CREATE DATABASE mediawikidb; CREATE USER mediawiki@localhost IDENTIFIED BY 'mediawikipassdb'; GRANT ALL ON mediawikidb.* TO mediawiki@localhost WITH GRANT OPTION; FLUSH PRIVILEGES;

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

现在运行以下语句检查用户 mediawiki 的权限。你可以看到用户 mediawiki 能够访问数据库 mediawikidb。

SHOW GRANTS FOR mediawiki@localhost;

最后,输入 quit 退出 MariaDB 服务器。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

下载 MediaWiki

在本节中,你将下载 MediaWiki 1.41 源代码,并为其创建安装目录。

进入 /var/www 目录,并使用以下 curl 命令下载 MediaWiki 源代码。请访问 MediaWiki 下载页面以获取最新版本。

cd /var/www/ curl -O https://releases.wikimedia.org/mediawiki/1.41/mediawiki-1.41.1.tar.gz

下载完成后,解压 MediaWiki 源代码并将目录重命名为 mediawiki。这样,MediaWiki 的文档根目录就位于 /var/www/mediawiki 目录中。

tar -xvzf mediawiki- .tar.gz mv mediawiki- / mediawiki/

现在,将 /var/www/mediawiki 目录的所有权更改为 www-data 用户,并将默认权限设置为 0755。

sudo chown -R www-data:www-data /var/www/mediawiki sudo chmod 755 /var/www/mediawiki

配置 Apache 虚拟主机

下载完 MediaWiki 源代码后,下一步是为运行 MediaWiki 创建一个新的 Apache 虚拟主机文件。请确保你已将某个域名指向 MediaWiki 服务器。

首先,运行以下命令在 Apache Web 服务器上启用 rewrite 模块。

sudo a2enmod rewrite

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

现在使用以下 nano 编辑器命令创建新的虚拟主机文件 /etc/apache2/sites-available/mediawiki.conf。

sudo nano /etc/apache2/sites-available/mediawiki.conf

输入以下配置,并确保将 ServerName 选项替换为你自己的域名。

<VirtualHost *:80>
 ServerName wiki.howtoforge.local
 ServerAdmin 
[email protected]
 DocumentRoot /var/www/mediawiki
 ErrorLog /var/log/apache2/wiki.howtoforge.local_error.log
 CustomLog /var/log/apache2/wiki.howtoforge.local_access.log combined
 <Directory /var/www/mediawiki/>
 Options FollowSymlinks
 AllowOverride All
 Require all granted
 </Directory>
</VirtualHost>

完成后保存并关闭文件。

接下来,运行以下命令以启用虚拟主机文件 mediawiki.conf 并校验 Apache 配置语法。如果语法正确,你将看到 Syntax is OK 的输出。

sudo a2ensite mediawiki.conf sudo apachectl configtest

最后,运行以下命令重启 Apache 以使更改生效。至此,你的 MediaWiki 安装准备工作就完成了。

sudo systemctl restart apache2

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

使用 HTTPS 保护 MediaWiki

在本指南中,你将使用 HTTPS 保护 MediaWiki。如果你使用的是公网域名,可以使用 Letsencrypt 提供的免费 SSL 证书并自动配置 HTTPS。本地域名用户也可以手动生成 SSL 证书并配置 HTTPS。

使用以下命令安装 certbot 和 python3-certbot-apache 软件包。输入 Y 确认安装。

sudo apt install certbot python3-certbot-apache

安装完成后,运行以下 certbot 命令为你的 MediaWiki 安装生成 SSL/TLS 证书。请务必将邮箱地址和域名替换为你自己的信息。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d wiki.howtoforge.local

你将在 /etc/letsencrypt/live/domain.com 目录中看到 SSL/TLS 证书。你的 MediaWiki 安装应当已自动通过 HTTPS 得到保护。

安装 MediaWiki

打开你的 Web 浏览器,访问你的 MediaWiki 域名,例如 http://wiki.howtoforge.local。点击“Setup the wiki”链接开始安装。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

选择 MediaWiki 的语言,然后点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

点击 Continue(继续)以接受 MediaWiki 的条款。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

输入你的 MariaDB 数据库信息,然后点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

数据库设置保持默认,然后点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

现在输入你的 wiki 标题,并为 MediaWiki 安装创建一个新的管理员用户和密码。然后再次点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

在 MediaWiki 的附加选项页面,进入 Skins(皮肤)部分并选择默认皮肤/主题。本例中我们将使用 MinervaNeue。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

向下滚动,保持其他选项不变(或按需修改),然后点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

点击 Continue(继续)以确认安装。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

安装完成后,再次点击 Continue(继续)。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

现在 LocalSettings.php 文件将自动下载到你的本地机器。上传该文件,或者创建内容相同的 LocalSettings.php 文件。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

在 LocalSettings.php 文件中,将默认选项 $wgDefaultSkin 修改为 minerva。

$wgDefaultSkin = “minerva”;

现在访问你的 MediaWiki 首页,你就能看到 MinervaNeue 主题的首页。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

现在你可以点击右上角的登录按钮,然后输入你的管理员用户名和密码。

在 Ubuntu 24.04 上安装 MediaWiki 维基平台

结语

恭喜!你已成功在 Ubuntu 24.04 服务器上完成 MediaWiki 的安装。现在 MediaWiki 运行在 LAMP 技术栈(Linux、Apache、MySQL/MariaDB 和 PHP)之上,并通过 certbot 和 Letsencrypt 使用 HTTPS 加以保护。