Manual:Running MediaWiki on Windows Subsystem for Linux/fr

Cette documentation permet d'exécuter sous Windows 10 avec WSL (Windows Subsystem for Linux). Voir pour la documentation sur l'exécution de MediaWiki directement sous Windows.

Contexte
Windows 10 inclut un niveau de compatibilité avec Linux, le sous-système Windows pour Linux, conçu pour aider les développeurs web qui ont besoin d'un environnement de développement Linux/Unix sur un ordinateur Windows. Ceci peut être utilisé pour exécuter MediaWiki comme si on était sur une machine Linux, avec moins de surcharge et une meilleure integration, comparé à la configuration et l'exécution d'une machine virtuelle.

Ceci peut en faire une bonne solution pour les ordinateurs Windows 10 ayant une RAM et des ressources CPU limitées. Néanmoins WSL nécessite une édition 64-bits de Windows 10 (x64 ou ARM64), et ne peut pas s'exécuter avec les installations x86 32-bit de  Windows 10.

Notes de sécurité
MediaWiki est une application web, et en suivant ces instructions nous allons configurer un serveur web qui s'exécute sur votre ordinateur et qui peut être proposé aux autres ordinateurs du réseau. En particulier, notez que PHP et autre code Linux qui s'exécutent dans le serveur web peuvent avoir accès à votre disque  Windows  et sont capables de lire et de modifier les fichiers ou d'exécuter les programmes Windows.

Il est fortement recommandé d'utiliser ceci dans un but de développement seulement, et non pas pour les déploiements du serveur, et de limiter l'accès réseau au serveur web pour éviter d'ouvrir accidentellement le réseau à n'importe quoi. N'exécutez MediaWiki qu'avec les extensions en lesquelles vous avez confiance.

Versions WSL
Deux versions majeures de WSL sont disponibles : la version originale qui émule le Linux kernel ABI en tant que pilote Windows, et la version WSL2 plus récente qui utilise une machine virtuelle Hyper-V spécialisée pour exécuter un noyau Linux natif. L'original WSL1 est disponible avec Windows 10 version 1709 à 1909, et il est possible qu'il présente des problèmes avec l'installation d'un serveur mysql. La mise à jour de mai 2020 met à jour vers WSL 2.

WSL2 est compatible avec davantage de logiciels, mais peut compliquer un peu certains scénarios d'intégration car la machine virtuelle possède sa propre adresse IP, différente de. (Les serveurs sont redirigés vers, donc ceci fonctionne généralement pour configurer un serveur web.)

Notez que WSL2 nécessite que le matériel prenne en charge la virtualisation et utilise Hyper-V sous le capot, mais est disponible sous Windows 10 Home et Windows 10 Pro. Cela permettra aux développeurs de faire l'installation plus facilement sur les machines existantes sans dépenser de l'argent pour une mise à niveau Pro, mais peut avoir des problèmes de compatibilité avec d'autres logiciels de machines virtuelles comme VirtualBox. WSL1 ne nécessite pas de virtualisation.

Configuration

 * Go to Control Panel, Programs and Features, then the link on the left side Turn Windows features on or off, or run C:\Windows\System32\OptionalFeatures.exe.
 * Check "Windows Subsystem for Linux" and, for WSL2, "Virtual Machine Platform"
 * let it install and reboot
 * Go to 'Microsoft Store' and search for the latest "Ubuntu" Linux distribution
 * install it!
 * Debian is also available, but might be slightly different in some respects.
 * Click on the "Ubuntu" icon in Start menu or enter  from a PowerShell session, (notice how the prompt changes from Windows to Linux style).
 * follow the on-screen prompts about setting up a Linux username and password
 * let it extract

Configuration de WSL
Pour utiliser le mode WSL2, quittez et exécutez dans une session PowerShell :



La conversion des systèmes de fichiers peut prendre quelques minutes.

Pour vérifier la version de WSL en cours d'utilisation, exécutez :



Configuration des dépendances
Assurez-vous d'abord que l'image du système est bien à jour : exécutez  dans le terminal Ubuntu. Cela peut prendre quelques minutes après la première installation.

Installer les dépendances :

Services démarrés
You may have to manually start up services:


 * on WSL1 this may prompt Windows Firewall about the listening port. Allow it, but consider limiting to "private" networks for safety.
 * on WSL1 this may prompt Windows Firewall about the listening port. Allow it, but consider limiting to "private" networks for safety.
 * on WSL1 this may prompt Windows Firewall about the listening port. Allow it, but consider limiting to "private" networks for safety.

You may have to jump through some hoops to set the root password on mysql:


 * Run mysql as root:
 * In the mysql terminal run:
 * - If that fails try  instead.
 * - This must match with the wiki database in the install process
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer
 * - This must match with the wiki database in the install process
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer
 * Now you can use username 'root', password 'your-password-here' when logging in from the installer

Configuration de MediaWiki
Clone things from git as you would on a Linux server.

Apache on Ubuntu is set by default to point at  for the docroot, you can create a dir under there to check out or reconfigure Apache with a custom path. I recommend  for consistency with convention that   is the main script path.


 * - Don't miss the dot at the end.
 * - Don't miss the dot at the end.
 * - Don't miss the dot at the end.
 * - Don't miss the dot at the end.
 * - Don't miss the dot at the end.

If git has trouble checking out over https, use a ssh developer login. Set up your SSH key in gerrit as with a Linux system, and check out as:

Extensions
For example (from skins/):



Don't forget to run  in the MW directory, and for any extension dirs that require it.

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!

File des tâches
Vous pouvez, ou avez besoin d'exécuter manuellement l'exécuteur de la file des tâches. Au mieux, ceci doit être fait par le serveur web, mais à la rigueur, vous pouvez lancer le terminal Ubuntu et exécuter :



Autre configuration
Pour la plupart, l'environnement WSL va ressembler à tout autre système Ubuntu ou Debian, sauf que les services ne sont pas démarrés automatiquement et qu'ils devront être démarrés manuellement à chaque redémarrage. Voir Manual:Running MediaWiki on Debian or Ubuntu pour les instructions générales concernant l'exécution avec ces systèmes opératoires.

Modifier les fichiers
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.

Le code de Visual Studio possède également une extension de WSL distante qui peut s'intégrer plus directement dans l'environnement WSL, qui serait bien pour utiliser le linting PHP dans l'éditeur.

Néanmoins notez la mise en garde concernant la modification des fichiers Linux avec les applications Windows et les outils

Ou bien vous pouvez utiliser vos éditeurs favoris, basés sur le terminal.

Problèmes ouverts

 * est-ce que le problème de temporisation du processus dans TimedMediaHandler est un problème commun, ou est-il spécifique à ARM64 ? (testez-moi)