Поиск по сайту:

Как установить MediaWiki с Nginx на Ubuntu 16.04


Это руководство существует для этих версий ОС

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

На этой странице

  1. Шаг 1. Установите Nginx в Ubuntu 16.04
  2. Шаг 2. Установка и настройка PHP-FPM
  3. Шаг 3. Установка и настройка базы данных MySQL
  4. Шаг 4. Загрузите и настройте MediaWiki
  5. Шаг 5. Создание SSL Letsencrypt в Ubuntu 16.04
  6. Шаг 6. Настройка виртуального хоста MediaWiki Nginx
  7. Шаг 7. Установка MediaWiki через Интернет
  8. Шаг 8. Загрузите и настройте скин по умолчанию
  9. Справочник

В этом руководстве я пошагово покажу вам, как установить MediaWiki с веб-сервером Nginx на Ubuntu 16.04. Я расскажу вам, как установить и настроить стек LEMP для установки MediaWiki, включая создание и настройку нового бесплатного SSL Letsencrypt для безопасности MediaWiki.

MediaWiki — одно из самых популярных вики-программ, изначально разработанное для использования в Википедии. Это бесплатное программное обеспечение с открытым исходным кодом, написанное на языке программирования PHP, и оно стало самым доминирующим программным обеспечением в категории вики. Первоначально разработанный Магнусом Манске в 2002 году, инструмент теперь имеет версию 1.30. MediaWiki используется многими крупными компаниями/организациями, включая Nginx, Intel, Novell и NASA.

Что мы будем делать:

  1. Установите Nginx в Ubuntu 16.04.
  2. Установка и настройка PHP-FPM
  3. Установка и настройка базы данных MySQL
  4. Загрузить и настроить MediaWiki
  5. Создание нового SSL Letsencrypt в Ubuntu 16.04
  6. Настройка виртуального хоста Nginx для установки MediaWiki
  7. Установка MediaWiki через Интернет
  8. Настройка темы оформления по умолчанию MediaWiki

Предпосылки

  • Сервер Ubuntu 16.04
  • Привилегии root

Шаг 1. Установите Nginx в Ubuntu 16.04.

Первый шаг, который мы должны сделать для установки MediaWiki, — это установить веб-сервер. Итак, в этом разделе мы установим веб-сервер Nginx, запустим службу Nginx, а затем включим ее автоматический запуск при загрузке системы.

Перед установкой веб-сервера подключитесь к своему серверу, обновите все репозитории, а затем выполните обновление.

sudo apt update
sudo apt upgrade -y

Теперь установите Nginx с помощью следующей команды apt.

sudo apt install nginx -y

После этого запустите nginx и включите его запуск при загрузке системы.

systemctl start nginx
systemctl enable nginx

Теперь проверьте порт HTTP с помощью netstat и убедитесь, что порт 80 используется Nginx.

netstat -plntu

Веб-сервер Nginx был установлен на Ubuntu 16.04.

Шаг 2 — Установите и настройте PHP-FPM

Теперь мы установим PHP-FPM на Ubuntu 16.04. И мы будем использовать PHP 7.0 для установки MediaWiki.

Установите PHP и PHP-FPM (вместе со всеми необходимыми расширениями), используя приведенную ниже команду apt.

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 и отредактируйте файл php-fpm php.ini с помощью vim.

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

И вы получите sock-файл PHP-FPM, как показано ниже.

Шаг 3 — Установите и настройте базу данных MySQL

MediaWiki хранит все данные и контент в базе данных и совместим с различными серверами баз данных. В этом руководстве мы будем использовать базу данных MySQL для установки MediaWiki.

На этом этапе мы установим сервер базы данных MySQL, а затем создадим новую базу данных и пользователя для MediaWiki.

Установите базу данных MySQL в Ubuntu 16.04, используя следующую команду apt.

sudo apt install mysql-server mysql-client -y

Вам будет предложено ввести пароль root для MySQL — введите свой собственный пароль и нажмите Enter.

Повторите свой корневой пароль MySQL.

Установка MySQL завершена. Теперь запустите MySQL и разрешите его запуск во время загрузки с помощью приведенных ниже команд systemctl.

systemctl start mysql
systemctl enable mysql

Далее мы создадим новую базу данных и пользователя для MediaWiki. Мы создадим новую базу данных с именем mediawikidb с пользователем mediawiki и паролем mypassword.

Подключитесь к серверу 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 и установите некоторые зависимости PHP, необходимые для установки MediaWiki, с помощью команды composer.

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 — Создайте SSL Letsencrypt в Ubuntu 16.04

Из соображений безопасности мы будем запускать MediaWiki под HTTPS-соединением. Все HTTP-соединения будут автоматически перенаправлены на HTTPS. И для этого нам нужны SSL-сертификаты. Мы будем использовать бесплатный SSL от Letsencrypt.

Чтобы сгенерировать новые SSL-сертификаты от Letsencrypt, нам нужно установить командную строку letsencrypt на сервер. Для этого используйте следующую команду:

sudo apt install letsencrypt -y

После завершения установки остановите веб-сервер Nginx.

systemctl stop nginx

Затем создайте новые SSL-сертификаты, используя приведенную ниже команду letsencrypt.

letsencrypt certonly

Вам будет предложено ввести адрес электронной почты — он используется для уведомления о продлении сертификата.

Итак, введите свой адрес электронной почты и выберите ОК.

Для Letsencrypt TOS (Условия обслуживания) выберите «Принимаю» и нажмите «Ввод».

А теперь введите доменное имя вашей вики, мое — wiki.hakase-labs.co.

И когда все будет готово, вы получите результат, как показано ниже.

SSL-сертификаты для установки MediaWiki были сгенерированы в каталоге /etc/letsencrypt/live.

Шаг 6 — Настройте виртуальный хост MediaWiki Nginx

Стек LEMP (Linux, Nginx, MySQL и PHP-FPM) для установки MediaWiki настроен, и исходный код MediaWiki загружен в каталог /var/www/mediawiki.

На этом шаге мы создадим новый файл медиавики виртуального хоста Nginx, а затем активируем виртуальный хост.

Перейдите в каталог конфигурации Nginx и создайте новый файл виртуального хоста mediawiki с помощью vim.

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

Вставьте туда следующий виртуальный хост Nginx для конфигурации MediaWiki.

# 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 через Интернет

Теперь откройте веб-браузер и введите свое доменное имя в адресную строку.

И вы будете перенаправлены на HTTPS-соединение.

Нажмите ссылку «Настроить вики» на странице, чтобы настроить MediaWiki.

- Языковая конфигурация

Выберите свой собственный язык, мы выберем английский и нажмите «Продолжить».

- Проверка окружающей среды

И теперь MediaWiki выполнит проверку среды. Убедитесь, что вы получили результат, как показано ниже.

Нажмите Продолжить для установки.

- Конфигурация базы данных

Теперь о конфигурации базы данных. В поле Имя базы данных введите mediawikidb с префиксом wiki_. Далее введите пользователя базы данных mediawiki и пароль mypassword.

И нажмите Продолжить.

- Настройки базы данных

Что касается настроек базы данных, просто оставьте их по умолчанию и нажмите «Продолжить».

- Создать пользователя-администратора

Теперь нам нужно создать учетную запись администратора. Введите собственного пользователя, пароль и адрес электронной почты, как показано ниже.

И нажмите Продолжить.

- Дополнительные настройки 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 в веб-браузере и щелкните ссылку, чтобы войти в свою вики. Вам сообщат, что MediaWiki была установлена с веб-сервером Nginx на сервере Ubuntu 16.04.

Шаг 8 - Загрузите и настройте скин по умолчанию

На этом этапе установка медиавики завершена. И на этом этапе мы настроим скин/тему по умолчанию.

Перейдите в каталог /var/www/mediawiki/skins и клонируйте вектор скина по умолчанию.

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

Теперь отредактируйте файл LocalSettings.php с помощью редактора vim.

vim /var/www/mediawiki/LocalSettings.php

И вставьте следующий php-код ближе к концу файла.

wfLoadSkin( 'Vector' );

Вот и все. Сохранить и выйти.

Вернитесь в свой веб-браузер и обновите страницу MediaWiki. Убедитесь, что у вас есть MediaWiki с оболочкой Vector, как показано ниже.

Установка и настройка MediaWiki с веб-сервером Nginx на Ubuntu 16.04 успешно завершена.

Ссылка

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