Как установить MediaWiki с Nginx на Ubuntu 16.04
Это руководство существует для этих версий ОС
- Ubuntu 20.04 (Focal Fossa)
- Ubuntu 16.04 (Xenial Xerus)
На этой странице
- Шаг 1. Установите Nginx в Ubuntu 16.04
- Шаг 2. Установка и настройка PHP-FPM
- Шаг 3. Установка и настройка базы данных MySQL
- Шаг 4. Загрузите и настройте MediaWiki
- Шаг 5. Создание SSL Letsencrypt в Ubuntu 16.04
- Шаг 6. Настройка виртуального хоста MediaWiki Nginx
- Шаг 7. Установка MediaWiki через Интернет
- Шаг 8. Загрузите и настройте скин по умолчанию
- Справочник
В этом руководстве я пошагово покажу вам, как установить MediaWiki с веб-сервером Nginx на Ubuntu 16.04. Я расскажу вам, как установить и настроить стек LEMP для установки MediaWiki, включая создание и настройку нового бесплатного SSL Letsencrypt для безопасности MediaWiki.
MediaWiki — одно из самых популярных вики-программ, изначально разработанное для использования в Википедии. Это бесплатное программное обеспечение с открытым исходным кодом, написанное на языке программирования PHP, и оно стало самым доминирующим программным обеспечением в категории вики. Первоначально разработанный Магнусом Манске в 2002 году, инструмент теперь имеет версию 1.30. MediaWiki используется многими крупными компаниями/организациями, включая Nginx, Intel, Novell и NASA.
Что мы будем делать:
- Установите Nginx в Ubuntu 16.04.
- Установка и настройка PHP-FPM
- Установка и настройка базы данных MySQL
- Загрузить и настроить MediaWiki
- Создание нового SSL Letsencrypt в Ubuntu 16.04
- Настройка виртуального хоста Nginx для установки MediaWiki
- Установка MediaWiki через Интернет
- Настройка темы оформления по умолчанию 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/