如何在 Ubuntu 16.04 上使用 Nginx 安装 MediaWiki如何在 Ubuntu 16.04 上使用 Nginx 安装 MediaWiki如何在 Ubuntu 16.04 上使用 Nginx 安装 MediaWiki如何在 Ubuntu 16.04 上使用 Nginx 安装 MediaWiki
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Ubuntu 16.04 上使用 Nginx 安装 MediaWiki

本教程适用于这些操作系统版本

  • Ubuntu 20.04(Focal Fossa)
  • Ubuntu 16.04(Xenial Xerus)

在此页

  1. 第 1 步 - 在 Ubuntu 16.04 上安装 Nginx
  2. 第 2 步 - 安装和配置 PHP-FPM
  3. 第 3 步 - 安装和配置 MySQL 数据库
  4. 第 4 步 - 下载并配置 MediaWiki
  5. 第 5 步 - 在 Ubuntu 16.04 上生成 SSL Letsencrypt
  6. 第 6 步 - 配置 MediaWiki Nginx 虚拟主机
  7. 第 7 步 - MediaWiki 基于 Web 的安装
  8. 第 8 步 - 下载并配置默认皮肤
  9. 参考资料

在本教程中,我将逐步向您展示如何在 Ubuntu 16.04 上使用 Nginx Web 服务器安装 MediaWiki。我将指导您如何为 MediaWiki 安装安装和配置 LEMP 堆栈,包括为 MediaWiki 安全生成和配置新的免费 SSL Letsencrypt。

MediaWiki 是最流行的 wiki 软件之一,最初是为在维基百科上使用而开发的。它是一款使用 PHP 编程语言编写的免费开源软件,已成为 wiki 类别中最具统治力的软件。该工具最初由 Magnus Manske 于 2002 年开发,现在的版本为 1.30。 MediaWiki 已被许多大公司/组织使用,包括 Nginx、Intel、Novell 和 NASA。

我们将要做什么:

  1. 在 Ubuntu 16.04 上安装 Nginx
  2. 安装和配置 PHP-FPM
  3. 安装和配置 MySQL 数据库
  4. 下载并配置 MediaWiki
  5. 在 Ubuntu 16.04 上生成新的 SSL Letsencrypt
  6. 为 MediaWiki 安装配置 Nginx 虚拟主机
  7. MediaWiki 基于 Web 的安装
  8. 配置默认皮肤 MediaWiki

先决条件

  • Ubuntu 16.04 服务器
  • 根权限

步骤 1 - 在 Ubuntu 16.04 上安装 Nginx

我们必须为 MediaWiki 安装做的第一步是安装网络服务器。因此,在本节中,我们将安装 Nginx Web 服务器,启动 Nginx 服务,然后使其在系统启动时自动启动。

在安装 Web 服务器之前,连接到您的服务器,更新所有存储库,然后升级。

sudo apt update
sudo apt upgrade -y

现在使用以下 apt 命令安装 Nginx。

sudo apt install nginx -y

之后,启动 nginx 并使其在系统启动时启动。

systemctl start nginx
systemctl enable nginx

现在使用 netstat 检查 HTTP 端口并确保您看到 Nginx 使用的端口 80。

netstat -plntu

Nginx Web 服务器已安装在 Ubuntu 16.04 上。

第 2 步 - 安装和配置 PHP-FPM

现在我们将在 Ubuntu 16.04 上安装 PHP-FPM。我们将使用 PHP 7.0 来安装 MediaWiki。

使用下面的 apt 命令安装 PHP 和 PHP-FPM(以及所有必需的扩展)。

sudo apt install imagemagick php7.0-fpm php7.0-intl php7.0-xml php7.0-curl php7.0-gd php7.0-mbstring php7.0-mysql php-apcu

安装完成后,我们需要更改一些PHP-FPM的默认配置。我们需要增加上传最大文件大小以及内存限制配置。

转到 PHP 配置目录并使用 vim 编辑 php-fpm php.ini 文件。

cd /etc/php/7.0
vim fpm/php.ini

将upload_max_filesize配置增加到20M,将memory_limit增加到128M。

upload_max_filesize = 20M
memory_limit = 128M

保存并退出。

现在重新启动 PHP-FPM 服务并使用以下 systemctl 命令使其在启动时自动启动。

systemctl restart php7.0-fpm
systemctl enable php7.0-fpm

PHP-FPM 现在运行在 Ubuntu 16.04 上,并且运行在 sock 文件下。使用下面的 netstat 命令检查它。

netstat -pl | grep php

您将获得如下所示的 PHP-FPM 套接字文件。

第 3 步 - 安装和配置 MySQL 数据库

MediaWiki 将所有数据和内容存储在数据库中,并与多种数据库服务器兼容。对于本指南,我们将使用 MySQL 数据库安装 MediaWiki。

在这一步中,我们将安装 MySQL 数据库服务器,然后为 MediaWiki 创建一个新的数据库和用户。

使用以下 apt 命令在 Ubuntu 16.04 上安装 MySQL 数据库。

sudo apt install mysql-server mysql-client -y

系统将要求您输入 MySQL root 密码 - 输入您自己的密码并按 Enter 键。

重复您的 MySQL root 密码。

MySQL 安装完成。现在启动 MySQL 并使用下面的 systemctl 命令使其在启动时启动。

systemctl start mysql
systemctl enable mysql

接下来,我们将为 MediaWiki 创建一个新的数据库和用户。我们将使用用户 mediawiki 和密码 mypassword 创建一个名为 mediawikidb 的新数据库。

使用下面的 mysql 命令连接到 mysql 服务器。

mysql -u root -p

现在使用以下 MySQL 查询创建数据库和用户。

create database mediawikidb;
grant all privileges on mediawikidb.* to 'localhost' identified by 'mypassword';
flush privileges;
exit;

MySQL服务器安装在Ubuntu 16.04上,MediaWiki安装的数据库已经创建。

第 4 步 - 下载并配置 MediaWiki

对于本指南,我们将使用最新的 MediaWiki 版本 1.30。在我们下载 MediaWiki 之前,我们需要在服务器上安装一些包。

运行下面的 apt 命令来安装新包。

sudo apt install composer git zip unzip -y

现在创建新的 mediawiki 目录并将 mediawiki 源代码克隆到该目录。

mkdir -p /var/www/mediawiki
git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git /var/www/mediawiki

接下来,转到 /var/www/mediawiki 目录并使用 composer 命令安装 MediaWiki 安装所需的一些 PHP 依赖项。

cd /var/www/mediawiki
composer install --no-dev

所有PHP依赖安装完成后,将mediawiki目录的属主更改为www-data用户和组。

chown -R www-data:www-data /var/www/mediawiki

最新版本的 MediaWiki 1.30 在 /var/www/mediawiki 目录下下载。

第 5 步 - 在 Ubuntu 16.04 上生成 SSL Letsencrypt

出于安全原因,我们将在 HTTPS 连接下运行 MediaWiki。所有 HTTP 连接都将自动重定向到 HTTPS。为此,我们需要 SSL 证书。我们将使用 Letsencrypt 提供的免费 SSL。

为了从 Letsencrypt 生成新的 SSL 证书,我们需要在服务器上安装 letsencrypt 命令行。使用以下命令执行此操作:

sudo apt install letsencrypt -y

安装完成后,停止 Nginx Web 服务器。

systemctl stop nginx

接下来,使用下面的 letsencrypt 命令生成新的 SSL 证书。

letsencrypt certonly

您将被要求提供您的电子邮件地址 - 它用于证书更新通知。

因此,输入您的电子邮件地址并选择“确定”。

对于 Letsencrypt TOS(服务条款),选择同意并按 Enter。

现在输入您的 wiki 域名,我的域名是 wiki.hakase-labs.co。

全部完成后,您将得到如下所示的结果。

用于安装 MediaWiki 的 SSL 证书已在 /etc/letsencrypt/live 目录中生成。

第 6 步 - 配置 MediaWiki Nginx 虚拟主机

用于安装 MediaWiki 的 LEMP 堆栈(Linux、Nginx、MySQL 和 PHP-FPM)已设置好,MediaWiki 源代码已下载到 /var/www/mediawiki 目录中。

在这一步中,我们将创建一个新的 Nginx 虚拟主机文件 mediawiki,然后激活虚拟主机。

进入 Nginx 配置目录并使用 vim 创建一个新的虚拟主机文件 mediawiki。

cd /etc/nginx/
vim sites-available/mediawiki

在此处粘贴用于 MediaWiki 配置的以下 Nginx 虚拟主机。

# HTTP Request will be Redirected to the HTTPS
server {
    listen 80;
    listen [::]:80;
    server_name wiki.hakase-labs.co;
    return 301 https://$host$request_uri;
}

# HTTPS Configuration
server {

    listen 443 ssl;
    listen [::]:443;
   
    server_name wiki.hakase-labs.co;
    root /var/www/mediawiki;

    index index.php;
    autoindex off;

    # SSL Certificate Configuration
    ssl_certificate /etc/letsencrypt/live/wiki.hakase-labs.co/fullchain.pem;
    ssl_certificate_key /etc/letsencrypt/live/wiki.hakase-labs.co/privkey.pem;

    client_max_body_size 5m;
    client_body_timeout 60;

    location / {
        try_files $uri $uri/ @rewrite;
    }

    location @rewrite {
        rewrite ^/(.*)$ /index.php?title=$1&$args;
    }

    location ^~ /maintenance/ {
        return 403;
    }

    # PHP Configuration
    location ~ \.php$ {
        fastcgi_pass unix:/run/php/php7.0-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
        include snippets/fastcgi-php.conf;
    }

    location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
        try_files $uri /index.php;
        expires max;
        log_not_found off;
    }

    location = /_.gif {
        expires max;
        empty_gif;
    }

    location ^~ ^/(cache|includes|maintenance|languages|serialized|tests|images/deleted)/ {
        deny all;
    }

    location ^~ ^/(bin|docs|extensions|includes|maintenance|mw-config|resources|serialized|tests)/ {
        internal;
    }

    # Security for 'image' directory
    location ~* ^/images/.*.(html|htm|shtml|php)$ {
        types { }
        default_type text/plain;
    }

    # Security for 'image' directory
    location ^~ /images/ {
        try_files $uri /index.php;
    }

}

根据您的要求/案例进行更改,然后保存并退出。

接下来,使用以下命令激活一个新的 mediawiki 虚拟主机。

ln -s /etc/nginx/sites-available/mediawiki /etc/nginx/sites-enabled/

测试 nginx 配置并确保没有错误。然后重启服务。

nginx -t
systemctl restart nginx

在您的服务器上打开了一个新的 HTTPS 端口 443 - 按以下方式使用 netstat 命令检查它。

netstat -plntu

下图是结果。

第 7 步 - MediaWiki 基于 Web 的安装

现在打开您的网络浏览器并在地址栏中输入您的域名。

您将被重定向到 HTTPS 连接。

单击页面上的设置 wiki 链接以配置 MediaWiki。

- 语言配置

选择您自己的语言,我们将选择英语并单击继续。

- 环境检查

而现在,MediaWiki 将执行环境检查。确保得到如下所示的结果。

点击继续安装。

- 数据库配置

现在进行数据库配置。在数据库名称字段中,键入带有前缀 wiki_ 的 mediawikidb。接下来,键入数据库用户 mediawiki 和密码 mypassword。

然后单击继续。

- 数据库设置

至于数据库设置,请保持默认并单击继续。

- 创建管理员用户

现在我们需要创建管理员帐户。键入您自己的用户、密码和电子邮件,如下所示。

然后单击继续。

- MediaWiki 附加配置

您应该会进入有关 MediaWiki 附加配置的页面。

保留默认值,然后单击继续。

- MediaWiki 安装

现在再次单击继续以安装 MediaWiki。

您将进入类似于下图所示的页面。

再次单击继续。

现在您将看到页面显示安装已完成。系统将提示您下载新文件 LocalSettings.php - 下载该文件。

并将LocalSetting.php文件上传到服务器mediawiki目录/var/www/mediawiki。另外,不要忘记将文件的所有者更改为 www-data 用户和组。

scp LocalSettings.php :/var/www/mediawiki/
chown -R www-data:www-data /var/www/mediawiki

现在,回到您的网络浏览器 MediaWiki 安装页面,然后单击链接进入您的 wiki。你会被告知 MediaWiki 已经在 Ubuntu 16.04 服务器上安装了 Nginx 网络服务器。

第 8 步 - 下载并配置默认皮肤

至此,mediawiki 的安装已经完成。在这一步中,我们将配置默认皮肤/主题。

转到 /var/www/mediawiki/skins 目录并克隆默认皮肤 Vector。

cd /var/www/mediawiki/skins/
sudo git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector

现在使用 vim 编辑器编辑 LocalSettings.php 文件。

vim /var/www/mediawiki/LocalSettings.php

并将以下 php 代码粘贴到文件末尾。

wfLoadSkin( 'Vector' );

就是这样。保存并退出。

返回您的网络浏览器并刷新 MediaWiki 页面。确保您获得了带有 Vector 皮肤的 MediaWiki,如下所示。

在 Ubuntu 16.04 上使用 Nginx Web 服务器安装和配置 MediaWiki 已成功完成。

参考

  • https://www.mediawiki.org/wiki/

©2015-2025 艾丽卡 support@alaica.com