如何在 Ubuntu 22.04 上安装 MediaWiki
本教程适用于这些操作系统版本
- Ubuntu 22.04(果酱水母)
- Ubuntu 18.04(仿生海狸)
在此页
- 先决条件
- 安装 LAMP 堆栈
- 为 MediaWiki 配置 PHP
- 配置 MariaDB 数据库服务器
- 下载 MediaWiki 源代码
- 为 MediaWiki 设置 Apache2 虚拟主机
- 开始安装 MediaWiki
- 结论
MediaWiki 是一种免费的开源维基软件,为互联网上最大的维基网站(如维基百科和维基媒体)提供支持。其极其强大、可缩放和可扩展的 wiki 软件,提供功能丰富的 wiki 实现。 MediaWiki 是 2002 年开发的 Web 应用程序,主要使用 PHP 编写,使用 MySQL 和 PostgreSQL 等 RDBMS 存储数据。
MediaWiki 还可以用作协作和文档平台。它可以帮助您和您的团队组织文档并向所有人公开。它还支持多语言,可用于创建多语言站点。及其高度可定制的 wiki 软件,因此您可以为您的 wiki 选择不同的主题和编辑器。
在本教程中,我们将向您展示如何使用 LAMP 堆栈(Linux、Apache2、MariaDB 和 PHP)在 Ubuntu 22.04 服务器上安装 MediaWiki。本教程包括 MediaWiki 的基本配置,因此最终您将拥有一个功能齐全的 wiki 站点。
先决条件
对于此示例,我们需要以下先决条件:
- 一台 Ubuntu 22.04 服务器。
- 具有根/管理员权限的非根用户。
- 指向服务器IP地址的域名。
安装 LAMP 堆栈
在第一步中,您将在 ubuntu 22.04 服务器上安装基本的 LAMP 堆栈。在此示例中,您将使用 Apache2 网络服务器运行 MediaWiki。
在开始之前,您需要在 Ubuntu 22.04 服务器上安装 PHP 7.4。最新版本的 MediaWiki 需要 PHP 7.4,尚未为最新的 PHP 8.1 做好准备。因此,您需要在 Ubuntu 系统上设置第三方存储库以安装 PHP 7.4。
运行以下命令将 PHP 7.4 PPA 存储库添加到您的系统。此命令还将自动更新和刷新系统上所有可用的存储库。
sudo add-apt-repository ppa:ondrej/php -y
全部完成后,运行下面的 apt 命令将 LAMP Stack 包安装到 ubuntu 22.04 服务器上。
sudo apt install apache2 mariadb-server imagemagick libapache2-mod-php7.4 php7.4 php7.4-common php7.4-intl php7.4-xml php7.4-curl php7.4-gd php7.4-mbstring php7.4-mysql php7.4-apcu
输入 Y 确认安装,然后按 ENTER 继续。 LAMP Stack 将开始。
LAMP Stack 安装完成后,使用以下命令检查并验证 Apache2 和 MariaDB 服务。您可以看到 Apache2 服务已启用并正在运行。
sudo systemctl is-enabled apache2
sudo systemctl status apache2
对于 MariaDB 服务,您可以使用以下命令进行验证。
sudo systemctl is-enabled mariadb
sudo systemctl status mariadb
在下面的屏幕截图中,您可以看到 MariaDB 服务已启用,该服务将在系统启动时自动运行。 MariaDB服务的当前状态是运行。

为 MediaWiki 配置 PHP
安装 LAMP Stack 包后,您现在将根据 MediaWiki 安装的要求配置 PHP。这包括 PHP 安装的 \max_upload_filesize\、\memory_limit\ 和 \max_execution_time\ 等配置。
使用 nano 编辑器编辑文件 \/etc/php/7.4/apache2/php.ini\。
sudo nano /etc/php/7.4/apache2/php.ini
更改以下配置的默认值,如下所示。
upload_max_filesize = 80M
memory_limit = 512M
max_execution_time = 360
完成后保存并关闭文件。
最后,运行下面的命令重新启动 apache2 服务并应用新的更改。
sudo systemctl restart apache2
配置 MariaDB 数据库服务器
设置 PHP 安装后,现在是设置 MariaDB 服务器的时候了。这包括 MariaDB root 密码和部署的配置,您还需要为 MediaWiki 安装创建一个新的 MariaDB 数据库和用户。
运行以下命令开始配置 MariaDB 部署。
sudo mysql_secure_installation
现在您将被问及以下有关 MariaDB 配置的问题:
- 默认的 MariaDB 安装没有 root 密码,按 ENTER 键继续。
- 输入 n 以保留默认身份验证方法而不使用 unix_socket 身份验证(这是针对 MariaDB root 用户的)。
- 输入 Y 设置 MariaDB root 密码,然后输入新密码并重复。
- 输入 Y 删除默认的匿名用户。
- 输入 Y 禁用 MariaDB root 用户的远程登录。
- 输入 Y 从您的 MariaDB 安装中删除默认数据库“test”。
- 最后,再次输入 Y 以重新加载所有表权限并应用新更改。
现在您已经完成了 MariaDB 部署的基本配置。
接下来,使用以下命令以 root 用户身份登录到 MariaDB shell。
sudo mysql -u root -p
现在运行以下 MySQL/MariaDB 查询以使用用户“mediawiki”和密码“mediawikipassdb”创建一个新数据库“mediawikidb”。该数据库和用户将用于存储 MediaWiki 数据。
CREATE DATABASE mediawikidb;
CREATE USER WITH GRANT OPTION;
FLUSH PRIVILEGES;

之后,运行下面的查询以检查用户\[email \ 有权访问数据库\mediawikidb\ 的数据库访问列表。
SHOW GRANTS FOR ;
quit

下载 MediaWiki 源代码
您现在已经为 MediaWiki 安装完成了 LAMP Stack 的基本配置。是时候将 MediaWiki 源代码下载到您的 Ubuntu 机器上了。
现在转到 \/var/www/\ 目录并使用 wget 命令下载 MediaWiki 源代码,如下所示。目前,MediaWiki 的最新版本是 v1.38.1。你会得到文件“mediawiki-1.38.1.tar.gz”。
cd /var/www/
wget https://releases.wikimedia.org/mediawiki/1.38/mediawiki-1.38.1.tar.gz
运行以下命令以提取 MediaWiki 源代码“mediawiki-1.38.1.tar.gz\”并将提取的目录重命名为“mediawiki\”。因此 MediaWiki 安装目录将为 \/var/www/mediawiki\。
tar -xvzf mediawiki-*.tar.gz
mv mediawiki-*/ mediawiki/
最后,运行以下命令将 MediaWiki 安装目录\/var/www/mediawiki\ 的所有权更改为正确的用户\www-data\以及对 \755\ 的许可。
sudo chown -R www-data:www-data /var/www/mediawiki
sudo chmod 755 /var/www/mediawiki
为 MediaWiki 设置 Apache2 虚拟主机
现在您将为 MediaWiki 设置 Apache2 虚拟主机。在此示例中,MediaWiki 将使用域名“wiki.hwdomain.io”运行,并在 Apache2 虚拟主机上启用安全 SSL/HTTPS 连接。
在开始创建虚拟主机配置之前,运行以下命令以启用 Apache2 模块重写和 ssl。
sudo a2enmod rewrite ssl
使用 nano 编辑器创建一个新的虚拟主机配置\/etc/apache2/sites-available/mediawiki.conf\。
sudo nano /etc/apache2/sites-available/mediawiki.conf
将以下配置添加到文件中。另外,不要忘记更改域名和 SSL 证书的路径。
<VirtualHost *:80>
ServerName wiki.hwdomain.io
ServerAdmin
DocumentRoot /var/www/mediawiki
# According MWiki Manual:Security
php_flag register_globals off
ErrorLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.error.log
CustomLog ${APACHE_LOG_DIR}/wiki.hwdomain.io.access.log combined
SSLEngine on
SSLCertificateFile /etc/letsencrypt/live/wiki.hwdomain.io/fullchain.pem
SSLCertificateKeyFile /etc/letsencrypt/live/wiki.hwdomain.io/privkey.pem
<FilesMatch "\.(cgi|shtml|phtml|php)$">
SSLOptions +StdEnvVars
</FilesMatch>
<Directory /usr/lib/cgi-bin>
SSLOptions +StdEnvVars
</Directory>
<Directory /var/www/mediawiki>
Options None FollowSymLinks
#Allow .htaccess
AllowOverride All
Require all granted
<IfModule security2_module>
SecRuleEngine Off
# or disable only problematic rules
</IfModule>
</Directory>
# According to MWiki Manual:Security
<Directory /var/www/mediawiki/images>
# Ignore .htaccess files
AllowOverride None
# Serve HTML as plaintext, don't execute SHTML
AddType text/plain .html .htm .shtml .php .phtml .php5
# Don't run arbitrary PHP code.
php_admin_flag engine off
# If you've other scripting languages, disable them too.
</Directory>
#According to MWiki Manual:Security
<Directory /var/www/mediawiki/images/deleted>
Deny from all
AllowOverride AuthConfig Limit
Require local
</Directory>
</VirtualHost>
</IfModule>
完成后保存并关闭文件。
接下来,激活虚拟主机配置“mediawiki.conf”,然后验证您的 Apache2 配置。如果您收到诸如 \Syntax OK\ 之类的输出消息,那么您的 Apache2 配置是正确的。
sudo a2ensite mediawiki.conf
sudo apachectl configtest
最后,运行以下命令重新启动 Apache2 服务并应用新更改。现在您已经完成了 MediaWiki 的 LAMP Stack 配置,现在您可以开始 MediaWiki 配置了。
sudo systemctl restart apache2
开始安装 MediaWiki
打开您的网络浏览器并在地址栏中输入 MediaWiki 安装域名(即 https://wiki.hwdomain.io/)。单击链接“设置 wiki”开始配置您的 MediaWiki 安装。

为您的 Wiki 选择默认语言并单击“继续”。

现在 MediaWiki 安装程序将检查安装的所有要求。确保您在屏幕上收到消息“环境已检查。您可以安装 MediaWiki”,然后单击“继续”。

为您的 MediaWiki 输入 MariaDB 数据库和用户的详细信息,然后再次单击“继续”。

对于数据库设置,保留默认值并单击“继续”。

现在输入您的 wiki 的标题,并输入您的 MediaWiki 的管理员用户和密码的详细信息,然后单击“继续”。

对于 MediaWiki 的附加选项/配置,您可以将其保留为默认值并单击“继续”。

再次单击“继续”以确认并开始 MediaWiki 安装。

MediaWiki 安装完成后,再次点击“继续”。

现在您需要将文件 \LocalSettings.php\ 文件下载到您的本地计算机并将其上传到 MediaWiki 服务器。
另一种选择是,您可以使用 nano 编辑器创建一个新文件 \/var/www/mediawiki/LocalSettings.php\。
nano /var/www/mediawiki/LocalSettings.php
从本地计算机上的 LocalSettings.php 文件添加脚本。
现在将文件的所有权更改为正确的用户\www-data\。
sudo chown www-data:www-data /var/www/mediawiki/LocalSettings.php
现在单击链接“输入您的 wiki”以查看安装结果。

现在您将获得 MediaWiki 安装的默认索引页面。

现在单击右上角的“登录”链接,然后输入您的 MediaWiki 管理员用户和密码,然后单击“登录”。你应该登录到 MediaWiki。

结论
恭喜!您现在已经使用 LAMP 堆栈在 Ubuntu 22.04 服务器上成功安装了 MediaWiki。通过这种类型的安装,您可以在 MediaWiki 安装之上启用 HTTPS/SSL 安全运行 MediaWiki。