如何使用Apache或Nginx在Ubuntu 16.04 / 17.04上安装MediaWiki

本教程将向您展示 如何在Ubuntu 16.04 / 17.04上安装MediaWiki。 MediaWiki是支持Wikipedia的后端软件。 它是免费的开源软件,是当今使用最广泛的Wiki软件。 MediaWiki的知名用户包括Wikipedia.org,wikia.com。

您可以使用MediaWiki创建自己的私有或公共Wiki。 MediaWiki具有为Wikipedia和其他Wiki网站创建的许多有用的扩展。

先决条件

MediaWiki是用PHP编写的程序。 要遵循本教程,首先您需要在Ubuntu 16.04 / 17.04服务器上安装LAMP或LEMP堆栈。 如果您尚未这样做,请查看以下教程之一:

  • 如何在Ubuntu 16.04上安装Apache,MariaDB,PHP7(LAMP)
  • 如何在Ubuntu 16.04上安装Nginx,MariaDB,PHP7-FPM(LEMP)

安装LAMP或LEMP后,请阅读以下说明以安装MediaWiki。

步骤1:下载MediaWiki

您可以通过两种方式下载MediaWiki:下载tarball或通过Git克隆存储库。 建议使用Git,因为它易于安装,并且以后可以更轻松地更新MediaWiki。

安装Git并将最新版本的MediaWiki克隆到您的系统中。

sudo apt install git

git clone https://gerrit.wikimedia.org/r/p/mediawiki/core.git

目录名为 core 将被创建,您可以将其重命名为 mediawiki

mv core mediawiki

然后我们将该目录移动到 /var/www/

sudo mv mediawiki /var/www/

接下来,我们需要通过Composer安装外部依赖项。

sudo apt install composer

cd /var/www/mediawiki/

composer install --no-dev

安装所有依赖项后,运行以下命令来设置Web服务器用户(www-data)作为此目录的所有者。

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

步骤2:建立资料库

使用以下命令登录MariaDB服务器。 您将需要输入MariaDB根密码。

mysql -u root -p

为MediaWiki创建数据库。 本教程为数据库命名 wikidb,但您可以使用任何喜欢的名称。

CREATE DATABASE wikidb;

然后在MariaDB提示符下运行以下命令以创建数据库用户并向该用户授予特权。 更换 wikidbwikiuserpassword 分别使用您的首选数据库名称,数据库用户名和用户密码。

GRANT ALL PRIVILEGES ON wikidb.* TO 'wikiuser'@'localhost' IDENTIFIED BY 'password';

接下来,刷新MariaDB特权并退出。

flush privileges;

exit;

步骤3:设定Apache虚拟主机

在这一步中,我们将为MediaWiki创建一个Apache虚拟主机。 如果您使用Nginx,请跳到下面的Nginx部分。

为MediaWiki创建虚拟主机文件。

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

复制以下文本并将其粘贴到文件中。 更换 wiki.your-domain.com 与您的实际域名。 不要忘记为该域名创建A记录。

<VirtualHost *:80>
    ServerAdmin [email protected]
    DocumentRoot /var/www//mediawiki/
    ServerName wiki.your-domain.com

    <Directory /var/www/html/mediawiki/>
        Options FollowSymLinks
        AllowOverride All
        Order allow,deny
        allow from all
    </Directory>

    ErrorLog /var/log/apache2/your-domain.com-error_log
    CustomLog /var/log/apache2/your-domain.com-access_log common
</VirtualHost>

保存并关闭文件。 然后启用此虚拟主机。

sudo a2ensite mediawiki.conf

重新加载Apache以使上述更改生效。

sudo systemctl reload apache2

设置Nginx服务器块

在下面为MediaWiki创建服务器阻止文件 /etc/nginx/conf.d/ 目录。

sudo nano /etc/nginx/conf.d/mediawiki.conf

复制以下文本并将其粘贴到文件中。 更换 wiki.your-domain.com 与您的实际域名。 不要忘记为该域名创建A记录。

server {
        listen 80;
        server_name wiki.your-domain.com;

        root /var/www/mediawiki;
        index index.php;

        location / {
                try_files $uri $uri/ /index.php;
        }

        location ~ /.well-known {
            allow all;
        }

        location ~ /.ht {
          deny all;
         }

        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;
        }
}

保存并关闭文件。 然后测试Nginx配置。

sudo nginx -t

如果测试成功,请重新加载Nginx Web服务器。

sudo systemctl reload nginx

步骤4:运行基于Web的安装脚本

wiki.you-domain.com 在您的Web浏览器中启动基于Web的安装脚本。 请点击 设置维基 链接以启动安装向导。

接下来,选择用于MediaWiki安装和Wiki本身的语言。

在Ubuntu 16.04上安装MediaWiki

然后,安装向导将检查服务器的环境,例如PHP扩展。

mediawiki ubuntu

您可以使用以下命令安装所需的软件包。

sudo apt install php-mbstring php-json php-mysql php-curl php-intl php-gd texlive

如果您将Apache与PHP模块一起使用,则需要重新启动Apache才能使更改生效。

sudo systemctl restart apache2

刷新MediaWiki设置网页,然后转到下一步。 您将必须配置数据库设置。 选择MySQL作为“数据库类型”。 输入 localhost 数据库主机,并输入您先前创建的数据库的名称,以及数据库用户名和密码。

Ubuntu MediaWiki

在下一步中,您可以选择数据库存储引擎和字符集。 建议选择默认设置。

MediaWiki数据库

然后输入您的Wiki名称并创建一个管理员帐户。

Ubuntu 16.04 MediaWiki

在“选项”页面中,您可以选择将Wiki设置为Open Wiki,需要创建帐户,仅授权编辑者和私有Wiki。 然后,您可以选择一个许可证。

维基百科Ubuntu 16.04

请点击 Continue 开始安装Mediawiki。

私人维基

在安装过程中将生成一个LocalSettings.php文件。 您需要下载此文件并将其放入 /var/www/mediawiki/ Ubuntu 16.04 / 17.04服务器的目录。 完成后,您将可以从以下位置访问新安装的MediaWiki http://wiki.your-domain.com

下载并启用矢量皮肤

要安装名为Vector的默认外观,请在/ var / www / mediawiki / skins /目录中运行以下命令。

cd /var/www/mediawiki/skins/

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

要启用此皮肤,请编辑 LocalSettings.php 文件。

sudo nano /var/www/mediawiki/LocalSettings.php

复制以下行并将其粘贴到文件末尾。

wfLoadSkin( 'Vector' );

保存并关闭文件。 然后刷新您的Wiki主页。

mediawiki矢量皮肤

要创建一个术语页面,只需转到

wiki.your-domain.com/index.php/your-term

要么

wiki.your-domain.com/index.php?title=your-term

本教程介绍了如何在Ubuntu 16.04 / 17.04上安装MediaWiki。 希望对您有所帮助。

Sidebar