Руководство:Установка MediaWiki на подсистеме Windows для Linux
Это руководство по установке и запуску MediaWiki на Windows 10 с подсистемой Windows для Linux (WSL). Для руководства по установке MediaWiki на Windows смотрите Руководство:Установка MediaWiki на Windows .
Общая информация
Windows 10 включает в себя слой совместимости с Linux, Подсистему Windows для Linux, созданную для веб-разработчиков, которым требуеттся окружение Linux/Unix на компьютере под управлением Windows. Ее можно использовать для запуска MediaWiki как на устройстве с Linux, с меньшими расходами и большей интеграцией по сравнению с установкой на виртуальной машине.
Это может стать неплохим решением для ноутбуков на Windows 10 с небольшими ресурсами RAM и CPU. Однако, WSL требуется 64-битная редакция Windows 10 (x64 или ARM64) и она не может быть запущена на 32-битных версиях системы.
Вопросы безопасности
MediaWiki - это веб приложение, а следовательно данные установки создадут веб сервер, запущенный с вашего компьютера и доступный другим компьютерам в сети.
В частности, учтите, что PHP и другой код Linux, запущенный на веб сервере, имеет доступ к вашему диску C:\
и так же может изменять файлы или запускать программы Windows.
Настойчиво рекомендуется применять эту установку лишь в целях разработки, не на развернутом сервере и с ограниченным доступом к сети для избежания нежелательных подключений. Запускайте только расширения MediaWiki, которым доверяете.
Версии WSL
На данный момент доступны две версии WSL: оригинальная, которая эмулирует ядро ABI Linux как драйвер Windows, и новая WSL 2, использующая специализированную виртуальную машину Hyper-V для запуска нативного ядра Linux. Хотя MediaWiki работает и на WSL1, майское обновление 2020 добавило WSL2 в качестве альтернативы. Между WSL1 и WSL2 можно свободно переключаться в любое время.
WSL2 совместима с большим количеством программ, но может несколько усложнить сценарии интеграции, так как у виртуальный машины свой IP адрес, отличный от localhost
.
(Серверва перенаправляют порты на localhost
, чего достаточно для работы веб сервера.)
Необходимо учесть, что WSL2 требуется поддержка виртуализации аппаратным обеспечением и использует Hyper-V "под капотом", но доступна как на Windows 10 Pro так и на Windows 10 Home. WSL1 виртуализация не требуется. Это упрощает разработчикам процесс установки, так как не требуется улучшать систему до Pro версии, но может вызывать некоторые проблемы совместимости с другими виртуальными машинами, например VirtualBox (версия 6.0 - самая ранняя версия, совместимая с продуктами, основанными на Hyper-V).
Установка
- Откройте Панель управления, Программы, Программы и компоненты, затем нажмите ссылку в левой части окна Включение или отключение компонентов Windows, либо запустите
C:\Windows\System32\OptionalFeatures.exe
.- Поставьте галочку у пункта "Подсистема Windows для Linux"
- Установится обновление и будет выполнен перезапуск
- Откройке 'Microsoft Store' и найдите в поиске последнюю версию дистрибутива Ubuntu Linux
- Установите его!
- Дистрибутив Debian так же доступен, но шаги установки могут несколько отличаться.
- Нажмите иконку Ubuntu в меню Пуск или введите
wsl
в PowerShell (обратите внимение как командная строка изменится со стиля Windows на Linux).- Следуйте указаниям в терминале для создания пользователя и пароля Linux.
- Дождитесь окончания установки.
Настройка WSL
Чтобы использовать WSL2, выйдите и в новом окне PowerShell введите:
wsl --set-version Ubuntu 2
Может потребоваться пара минут для конвертации файловых систем.
Чтобы узнать, какая версия WSL используется введите:
wsl -l -v
Установка зависимостей
Для начала, убедитесь, что система полностью обновлена: введите sudo apt update && sudo apt upgrade -y
в терминале Ubuntu.
Установка обновлений может занять пару минут после первого запуска.
Установите зависимости: sudo apt install apache2 composer git git-review imagemagick mysql-client mysql-server php php-apcu php-cli php-gd php-intl php-mbstring php-mysql php-xml zip
.
Запуск сервисов
Возможно, потребуется запустить сервисы вручную:
sudo service mysql start
sudo service apache2 start
- на WSL1 эта команда может вызвать окно брандмауэра Windows о прослушивании портов. Разрешите запрос, но ограничьте "частными" сетями для безопасности.
Для настройки пароля root пользователя в mysql потребуется выполнить несколько команд:
- Запустите mysql от имени root:
sudo mysql
- В терминале mysql введите:
use mysql;
alter user 'root'@'localhost' identified by 'your-password-here';
- Если возникнет ошибка, повробуйте ввестиupdate user set authentication_string=password('your-password-here'), plugin='mysql_native_password' where user='root';
.create user 'your_name'@'localhost' identified by 'your-password-here';
create database `database_name`;
- Это название базы данных, которое будет вводиться при установке вики.grant all on `database_name`.* to 'your_name'@'localhost';
- Note those are backticks not single quotes around database_nameflush privileges;
exit
- Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
Установка MediaWiki
Скопируйте данный git командами Linux server.
Apache на Ubuntu по умолчанию настроен на папку /var/www/html
в качестве корневой, можно создать подпапку здесь, либо перенастроить Apache на другой путь.
Рекомендуется использовать путь /var/www/html/w
для соответствия конвенции, что /w/index.php
- путь к файлу основного скрипта.
cd /var/www/html
sudo mkdir w
sudo chown your-user-name w
cd w
git clone https://gerrit.wikimedia.org/r/mediawiki/core.git .
- Не пропустите точку в конце.cd skins
git clone https://gerrit.wikimedia.org/r/mediawiki/skins/Vector.git
Расширения
Например (для skins/):
cd ../extensions
git clone https://github.com/wikimedia/mediawiki-extensions-CollapsibleVector
git clone https://github.com/wikimedia/mediawiki-extensions-Gadgets
git clone https://github.com/wikimedia/mediawiki-extensions-ParserFunctions
git clone https://github.com/wikimedia/mediawiki-extensions-Scribunto
git clone https://github.com/wikimedia/mediawiki-extensions-WikiEditor
Don't forget to add the lines to load the extensions at the bottom of your LocalSettings.php file.
Не забудьте запустить composer update --no-dev
в папке MediaWiki и для всех папок расширений, для которых это требуется.
Запустить веб установщик в браузере по адресу http://localhost/w/
; используйте ранее созданного пользователя mysql для подключения к базе данных.
Когда установщик предложит вам скачать LocalSettings.php
в конце установки, сохраните его в папку \\wsl$\Ubuntu\var\www\html\w
или указанной в Apache и вы получите доступ к вики!
Очередь задач
Возможно, вам потребуется вручную запуститьмастер очереди задач. В идеале это должен сделать веб сервер, но в случае необходимости можно сделать это в терминале Ubuntu:
cd /var/www/html/
php maintenance/runJobs.php
Дополнительные настройки
По большей части окружение WSL работает так же как другие системы Ubuntu или Debian, за исключением того, что сервисы не будут запускаться автоматические и должны быть запущены вручную после каждого запуска. Смотри Руководство по установке MediaWiki на Debian и Ubuntu для общих инструкций по управлению на этих операционных системах.
Редактирование файлов
Со стороны Windows можно получить доступ к файлам Linux в папке \\wsl$\Ubuntu
, так текстовые редакторы Windows, работающие с Unix, можно использовать для работы с кодом и файлами конфиграции.
В Visual Studio Code так же имеется расширение для WSL, которое может интегрироваться напрямую с окружением WSL, что может использоваться для подсветки синтаксиса PHP.
Однако, обратите внимание на предупреждения не менять системные файлы Linus в Windows на даннной странице
Или можете использовать любой терминальный редактор.