Manual:Running MediaWiki on Windows Subsystem for Linux/ru

Это руководство по установке и запуску на Windows 10 с подсистемой Windows для Linux (WSL). Для руководства по установке 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, запущенный на веб сервере, имеет доступ к вашему диску  и так же может изменять файлы или запускать программы Windows.

Настойчиво рекомендуется применять эту установку лишь в целях разработки, не на развернутом сервере и с ограниченным доступом к сети для избежания нежелательных подключений. Запускайте только расширения MediaWiki, которым доверяете.

Версии WSL
На данный момент доступны две версии WSL: оригинальная, которая эмулирует ядро ABI Linux как драйвер Windows, и новая WSL 2, использующая специализированную виртуальную машину Hyper-V для запуска нативного ядра Linux. Хотя MediaWiki работает и на WSL1, майское обновление 2020 добавило WSL2 в качестве альтернативы. Между WSL1 и WSL2 можно свободно переключаться в любое время.

WSL2 совместима с большим количеством программ, но может несколько усложнить сценарии интеграции, так как у виртуальный машины свой IP адрес, отличный от. (Серверва перенаправляют порты на, чего достаточно для работы веб сервера.)

Необходимо учесть, что WSL2 требуется поддержка виртуализации аппаратным обеспечением и использует Hyper-V "под капотом", но доступна как на Windows 10 Pro так и на Windows 10 Home. WSL1 виртуализация не требуется. Это упрощает разработчикам процесс установки, так как не требуется улучшать систему до Pro версии, но может вызывать некоторые проблемы совместимости с другими виртуальными машинами, например VirtualBox (версия 6.0 - самая ранняя версия, совместимая с продуктами, основанными на Hyper-V).

Установка

 * Откройте Панель управления, Программы, Программы и компоненты, затем нажмите ссылку в левой части окна Включение или отключение компонентов Windows, либо запустите.
 * Поставьте галочку у пункта "Подсистема Windows для Linux"
 * Установится обновление и будет выполнен перезапуск
 * Откройке 'Microsoft Store' и найдите в поиске последнюю версию дистрибутива Ubuntu Linux
 * Установите его!
 * Дистрибутив Debian так же доступен, но шаги установки могут несколько отличаться.
 * Нажмите иконку Ubuntu в меню Пуск или введите  в PowerShell (обратите внимение как командная строка изменится со стиля Windows на Linux).
 * Следуйте указаниям в терминале для создания пользователя и пароля Linux.
 * Дождитесь окончания установки.

Настройка WSL
Чтобы использовать WSL2, выйдите и в новом окне PowerShell введите:



Может потребоваться пара минут для конвертации файловых систем.

Чтобы узнать, какая версия WSL используется введите:



Установка зависимостей
Для начала, убедитесь, что система полностью обновлена: введите  в терминале Ubuntu. Установка обновлений может занять пару минут после первого запуска.

Установите зависимости:.

Запуск сервисов
Возможно, потребуется запустить сервисы вручную:


 * на WSL1 эта команда может вызвать окно брандмауэра Windows о прослушивании портов. Разрешите запрос, но ограничьте "частными" сетями для безопасности.
 * на WSL1 эта команда может вызвать окно брандмауэра Windows о прослушивании портов. Разрешите запрос, но ограничьте "частными" сетями для безопасности.
 * на WSL1 эта команда может вызвать окно брандмауэра Windows о прослушивании портов. Разрешите запрос, но ограничьте "частными" сетями для безопасности.

Для настройки пароля root пользователя в mysql потребуется выполнить несколько команд:


 * Запустите mysql от имени root:
 * В терминале mysql введите:
 * - Если возникнет ошибка, повробуйте ввести.
 * - Это название базы данных, которое будет вводиться при установке вики.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
 * - Это название базы данных, которое будет вводиться при установке вики.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.
 * Теперь вы можете использовать пользователя root и указанный пароль для подключения из установщика.

Установка MediaWiki
Скопируйте данный git командами Linux server.

Apache на Ubuntu по умолчанию настроен на папку  в качестве корневой, можно создать подпапку здесь, либо перенастроить Apache на другой путь. Рекомендуется использовать путь  для соответствия конвенции, что   - путь к файлу основного скрипта.


 * - Не пропустите точку в конце.
 * - Не пропустите точку в конце.
 * - Не пропустите точку в конце.
 * - Не пропустите точку в конце.
 * - Не пропустите точку в конце.

Если у git проблема с загрузкой по https, используйте логин разработчика ssh. Настройте ключ SSH в gerrit как в системе Linux и загрузите через:



Расширения
Например (для skins/):



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

Run the web installer in a browser at ; use your name and database here for installation.

When the installer prompts you to download  at the end, save it into   or equivalent and you will be able to access your wiki!

Job queue
You may want or need to manually run the job queue runner. Ideally this should be done via the web server, but in a pinch you can fire up the Ubuntu terminal and run:



Other configuration
For the most part the WSL environment will look like any other Ubuntu or Debian system, except that services won't automatically start and must be manually run on every boot. See Running MediaWiki on Debian or Ubuntu for general instructions on running on these operation systems.

Editing files
From the Windows side you can access Linux files in, so Windows text editors that are ok with Unix line endings can be used to work with your code and config.

Visual Studio Code also has a WSL remoting extension which can integrate more directly with the WSL environment, which might be good for using PHP linting in the editor.

However note the warnings at Do not change Linux files using Windows apps and tools

Or, you can use your favorite terminal-based editors.

Open issues

 * is the process timeout issue in TimedMediaHandler a common prob or unique to ARM64? (test me)