MediaWiki-Vagrant
MediaWiki - Vagrant est un environnement de développement de MediaWiki portable. Il se compose d'un ensemble de scripts de configuration pour Vagrant et VirtualBox qui automatisent la création d'une machine virtuelle pour exécuter MediaWiki. Parce que la configuration est orientée développement facile plutôt que vers la sécurité, MediaWiki-Vagrant n'est pas recommandé pour les wikis accessibles publiquement.
La machine virtuelle que MediaWiki-Vagrant crée fait qu'il est facile d'apprendre, de modifier et d'améliorer le code de MediaWiki : des informations de débogage utiles sont affichées par défaut, et les différents outils de développement sont mis en place spécifiquement pour inspecter et interagir avec le code MediaWiki, y compris un débogueur puissant et un interpréteur interactif. Le meilleur de tous, car la configuration est automatisée et contenue dans un environnement virtuel, les erreurs sont alors faciles à corriger.
Configuration requise
- CPU
- Processeur x86 64-bit
- OS
- Linux, macOS, ou Windows
- Mémoire
- Au moins 4 GiB de RAM totale sur votre système, de préférence 8 GiB ou plus, pour exécuter à la fois le système d’exploitation hébergé ainsi que la VM. Ne pas essayer d’exécuter cela sur un système n'ayant que 2 GiB de RAM car il risque de se bloquer.
- Disque
- Pour les installations complexes, il faut disposer de 10-12 GiB de libre sur le disque primaire (partition
/home
pour Linux, disqueC:
pour Windows). Notez en particulier que les images disque de la VM seront rangées par défaut dans votre répertoire home personnel. - Réseau
- Une connexion active au réseau avec suffisamment de bande passante pour télécharger les mises à jour de Linux Debian et le code source de MediaWiki
- Temps d'installation
- Entre 20 minutes et 2 heures, selon les situations et en fonction des problèmes que vous rencontrez.
Démarrage rapide
(Si vous installez MediaWiki-Vagrant à partir de la distribution USB, suivez les étapes du fichier README plutôt que les cinq premières étapes.)
- Téléchargez Git
- (Linux seulement) Installez NFS s'il ne l'est pas déjà.
- Sous Ubuntu, utilisez
sudo apt-get install nfs-kernel-server
. - Fedora vient habituellement avec NFS installé; si ce n'est pas le cas, exécutez
sudo dnf install nfs-utils
.
- Sous Ubuntu, utilisez
- Téléchargez VirtualBox[1]
- Obtenir Vagrant. Note that Vagrant v2.3.7 is the last version licensed under a free license.[2]
- Clonez le code dans votre répertoire actuel. (ne pas cloner dans un répertoire de WSL - Windows Subsystem for Linux)[3]
$ git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/vagrant
- Se positionner dans le répertoire vagrant pour exécuter les commandes
vagrant
avec :$ cd vagrant
- Lancer le script de configuration de vagrant avant de démarrer la machine :
- Linux / macOS :
$ ./setup.sh
- Windows :
$ .\setup.bat
- Quand il sera demandé, entrez votre nom d'utilisateur Gerrit (recommandé), ou pressez simplement ↵ Enter.
- Si vous voulez utiliser une branche de diffusion plutôt que la dernière version, vous pouvez le préciser maintenant avec
vagrant hiera mediawiki::branch REL1_27
- Activez la machine virtuelle :
$ vagrant up
- La première fois, votre mot de passe pourrait vous être demandé car la configuration du partage de répertoire via NFS nécessite d'avoir les droits administrateur du système. Vous pouvez éviter cela en définissant les autorisations
sudo
appropriées comme décrit ici. - Surveillez les messages sur la console et assurez-vous qu'il n'y a pas d'erreurs. Si vous rencontrez des erreurs, la section des erreurs au démarrage peut vous aider.
- Exécutez la commande
vagrant open
pour ouvrir votre instance MediaWiki. Vous pouvez vous connecter avec le nom d'utilisateurAdmin
et le mot de passevagrant
. - Activez les fonctionnalités additionnelles de MediaWiki et les extensions.
- Pour voir la liste des fonctionnalités que vous pouvez activer (les rôles vagrant) entrez :
$ vagrant roles list
- Si vous voulez activer par exemple la fonctionnalité VisualEditor , entrez :
$ vagrant roles enable visualeditor
- Pour appliquer les rôles que vous aviez sur votre wiki, entrez :
$ vagrant provision
vagrant up
échoue si le fournisseur par défaut de VirtualBox est utilisé et que le nombre de CPUs virtuelles sur l'ordinateur excède 32. Utilisez vagrant config vagrant_cores <nombre de coeurs>
pour assigner moins de 32 coeurs à la machine virtuelle.vagrant up
soit terminé.Windows Subsystem for Linux (WSL)
Si vous utilisez le shell WSL compatible Linux sous Windows 10: exécutez les commandes avec vagrant.exe
au lieu de vagrant
. Lancez vagrant.exe config --required
au lieu de ./setup.bat
, qui ne fonctionne pas dans le shell bash Linux
Le compte qui exécute Vagrant aura probablement besoin des droits pour « Créer des liens symboliques » (la manière la plus facile de les avoir est d'exécuter en tant qu'administrateur).
Problèmes de démarrage
Si vos questions ne trouvent pas de réponses ici, IRC est une bonne option, en particulier le canal #wikimedia-tech connecter.
- Quelques fois vous pouvez corrigerréparer des installations cassées (par exemple si on vous répond "No wiki found..." en exécutant
vagrant destroy; vagrant up
ce qui va reconstruire la machine virtuelle sans répéter les parties du processus d'installation qui prennent le plus de temps.
Tout hôte
- Vous pouvez essayer d'installer les versions de VirtualBox et de Vagrant que votre distribution Linux vous fournit. Si vous utilisez une version récente de Debian ou Ubuntu, essayez
sudo apt-get install virtualbox vagrant
pour installer les packages pour la VirtualBox et Vagrant. - Si vous obtenez des erreurs de
vagrant up
, installez à la place les versions les plus récentes de VirtualBox et de Vagrant. - Si vous obtenez un message d'erreur tel que "Couldn't open file $CLONED_REPOSITORY/trusty-cloud", essayez la commande suivante :
vagrant up --provider=virtualbox
- Si vous avez des erreurs de puppet vous pourriez avoir besoin d'initialiser les sous-modules de puppet, dans le répertoire vagrant exécutez
git submodule update --init
Error:
Puppet::Parser::AST::Resource
failed with error ArgumentError: Could not find declared class
- Utilisez http://127.0.0.1:8080/info.php pour vérifier que le serveur Apache/PHP est démarré et opérationnel.
Vous pourriez vouloir comparer la sortie de la première exécution de vagrant up
dans votre terminal avec cet échantillon. La configuration initiale peut prendre un certain temps; si elle semble se bloquer quelque part, mais sans présenter d'erreurs, il suffit de lui laisser un peu temps.
- Si vous obtenez des avertissements que vos "Guest Additions" dans la VirtualBox ne sont pas à la bonne version, vous pouvez essayer d'installer le greffon vagrant-vbguest qui les met à jour automatiquement.
- Vagrant perd rarement la liaison avec votre VM. Cet article parle des façons de les contourner (par exemple l'attachement d'un ancien disque dur virtuel vers le nouveau profil)
- Assurez-vous que le dépôt
vagrant/mediawiki
est à jour :
$ cd vagrant/mediawiki
$ git pull
- Assurez-vous que vous ayez bien activé la virtualisation dans le BIOS. Parfois, cela se trouve dans les paramètres de sécurité.
- Assurez-vous que vos paramètres de codage de langue soient bien en UTF-8. Si vous obtenez "invalid byte sequence in US-ASCII", essayez de (re) paramétrer vos variables d'environnement LANG et LC_ALL avec des valeurs convenables. Par exemple :
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
vagrant up
ne se terminera pas correctement. Si vous utilisez NFS (sur un hôte dont le système opérationnel n'est pas Windows), vous devriez corriger cela en supprimant /etc/exports
: saisissez sudo rm -i /etc/exports
Vagrant va recréer le fichier /etc/exports
la prochaine fois que vous exécuterez vagrant up
.
Spécifique à Windows
- Si vous êtes sous Windows et que vous obtenez le message "La machine invité est entrée dans un état non valide" - "Extinction", essayez de télécharger une version de VirtualBox 4.3.15 (there is a known problem with 4.3.14 on Windows). Si cela ne vous aide pas, vérifiez que vous ayez bien activé le paramètre "Hardware Virtualization Technology" (VT-x ou AMD-V) dans le BIOS. La virtualisation du matériel est nécessaire, il ne s'agit pas d'une simple option pour améliorer les performances. (Pour certains ordinateurs portables, il est nécessaire d'enlever le câble d'alimentation et la batterie pendant 30 secondes [1]).
- VirtualBox est incompatible avec Hyper-V de Microsoft. Si vous avez Hyper-V d'activé – ce qui peut être le cas par défaut si vous avez installé Visual Studio – vous obtiendrez les erreurs ci-dessus en essayant de démarrer une machine virtuelle dans VirtualBox. Il y a trois possibilités :
- A l'invite du système, exécutez bcdedit /set hypervisorlaunchtype off pour arrêter Hyper-V et redémarrez. Pour redémarrer Hyper-V, remettez la valeur auto au lieu de off
- Désactivez Hyper-V grâce à l' "Ajout/Suppression de fonctionnalités Windows" dans le Panneau de contrôle puis, redémarrez. Cela va vous permettre de faire fonctionner VirtualBox, mais vous empêche d'utiliser toute VM Hyper-V que vous pourriez avoir, comme par exemple les émulateurs de téléphone Windows.
- Ou, utilisez le fournisseur Hyper-V pour Vagrant au lieu de VirtualBox. Cela peut être instable.
Spécifique au Mac
- Erreurs NFS Pour éviter les erreurs NFS lors de l'installation, assurez vous que le pare-feu accepte bien les connexions : Apple > Préférences Système > Sécurité et confidentialité > Pare-feu > Options de pare-feu. Vous aurez besoin de DéCOCHER la case "Bloquer toutes les connexions entrantes" et probablement aussi de DéCOCHER "Activer le mode furtif" pour pouvoir accepter les éléments suivants : netbiosd, nfsd, rpc.lockd, rpc.rquotad, rpcbind et VBoxHeadless. Notez que vous devrez peut-être redémarrer votre ordinateur et changer le statut à "Autoriser les connexions entrantes" pendant quelques
vagrant up
s. Après l'installation, vous allez pouvoir à nouveau COCHER "Bloquer toutes les connexions entrantes" et "Activer le mode furtif" maintenant que les règles de pare-feu ont été mises à jour.- Sinon, vous pouvez désactiver les partages NFS via le
vagrant config nfs_shares off
.
- Sinon, vous pouvez désactiver les partages NFS via le
Debian et Ubuntu
- MediaWiki-Vagrant utilise NFS pour partager certains dossiers avec la machine hôte (votre ordinateur). Vous devez configurer votre ordinateur comme un "serveur NFS", voir par exemple Ubuntu instructions. Sous Debian,
sudo apt-get install nfs-kernel-server
fonctionnera ; vous aurez peut-être aussi besoin demodprobe nfsv3
. Notez que ce serveur NFS de Debian ne démarre pas sans une entrée dans/etc/exports
. Sisudo rpcinfo -p
ne montre pas que les services "nfs" sont en cours d'exécution, c'est que c'est probablement le cas. L'ajout de votre répertoire personnel (home) en dernière ligne de/etc/exports
puis/etc/init.d/nfs-kernel-server restart
sera généralement suffisant pour outrepasser ce problème de la poule et de l'oeuf. - Les partages NFS utilisés par MediaWiki-Vagrant ne peuvent pas être exécutés à partir d'un répertoire crypté, ce qui peut être le cas si vous êtes sous Ubuntu, et que vous utilisez un répertoire personnel chiffré. Pour exécuter MediaWiki - Vagrant vous pouvez soit :
- Déplacez le répertoire MediaWiki-Vagrant vers un volume non crypté (par exemple
/opt
) avant l'exécution devagrant up
. - Sinon, vous pouvez également désactiver les partages NFS via
vagrant config nfs_shares off
- Déplacez le répertoire MediaWiki-Vagrant vers un volume non crypté (par exemple
- L'installation de NFS semble parfois se bloquer (la commande initiale
vagrant up
se bloque sur "Mounting NFS shared folders"). Essayez de redémarrer le démon NFS sur l'hôte, ça peut aider. (Voir #5802). - Si vous obtenez des erreurs de redirection de port qui disent que les ports sont en cours d'utilisation, vous devrez peut-être ouvrir une Virtual Box, supprimer entièrement la machine virtuelle, et ré-essayer.
vagrant up
peut vous dire que « L'exécutable 'bsdtar' Vagrant essaie de s'exécuter et n'a pas été trouvé dans la variable PATH. » Vous pouvez corriger ceci sous Ubuntu avecsudo apt install libarchive-tools
.- Sous Ubuntu avec Secure Boot activé, vous aurez du mal à installer VirtualBox. Votre machine peut vous donner du fil à retordre lorsque vous exécutez
/sbin/vboxconfig
. Si c'est le cas, vous pouvez rectifier la situation en signant le module de noyau associé. Voyez les instructions pas à pas dans ce billet de demande à ubuntu.
Fedora
- Si vous obtenez
Network 10.11.12.13 is not available.
après avoir exécutévagrant up
, désactivez SELinux viasudo setenforce 0
ou corrigez votre configuration SELinux. - Si vous obtenez
The provider for this Vagrant-managed machine is reporting that it is not yet ready for SSH.
après avoir exécutévagrant roles enable mediawiki --provision
, assurez-vous d'avoir initialisé le fournisseur explicitement, par exemple viavagrant destroy
suivi devagrant up --provider=virtualbox
- Si vous obtenez
mount.nfs: mount to NFS server '10.11.12.13:download-directory/vagrant' failed: RPC Error: Unable to receive
, exécutezvagrant config nfs_shares
Utilisation de base
L'outil de ligne de commande vagrant
sur la machine hôte fournit plusieurs sous commandes pour contrôler votre machine virtuelle.
Vous en avez déjà utilisé une : vagrant up
, qui tourne sur la machine virtuelle.
Comme la plupart des sous commandes vagrant
, vous devez l'exécuter à partir du répertoire MediaWiki-Vagrant ou l'un de ses enfants.
Lorsque vous l'exécutez pour la première fois, Vagrant va chercher une image système et configurer le logiciel nécessaire pour l'exécution de MediaWiki.
Cela peut prendre 1 à 2 heures d'utilisation du CPU avec une connexion à large bande, mais ça ne se produira qu'une fois.
Si vous exécutez à nouveau vagrant up
par la suite, ça va tout simplement démarrer la machine.
vagrant ssh
démarre un shell interactif de connexion sur la machine virtuelle.
Il va vous connecter en tant qu'utilisateur vagrant
; l'accès root est disponible via sudo
sans utiliser de mot de passe.
Parce que la machine virtuelle est entièrement intégrée (sandboxed) au sein de votre ordinateur, elle est configurée pour la commodité, pas pour la sécurité.
En règle générale, chaque fois que vous rencontrerez une demande de mot de passe, celui-ci sera vagrant
.
Lorsque vous vous connectez, vous devriez voir une bannière MediaWiki colorée et quelques rappels de commandes utiles.
La commande phpsh
va démarrer un interpréteur PHP interactif avec le code de base de MediaWiki déjà chargé.
Vous pouvez saisir du code, appuyer sur la touche 'entrée', et le code sera évalué immédiatement.
Si vous commencez une ligne avec '=', la valeur calculée sera affichée.
Tapez ?
pour une aide rapide ou help start
pour obtenir des instructions supplémentaires.
Le dossier /vagrant
correspond au dossier MediaWiki-Vagrant de votre machine hôte, et son contenu est partagé.
Le code de MediaWiki est installé dans /vagrant/mediawiki
.
Cela vous permet d'utiliser l'environnement normal de votre éditeur sur votre machine hôte pour modifier le code de MediaWiki qui s'exécute sur votre machine virtuelle.
Faire la mise à jour
Utilisez vagrant git-update
pour garder à jour vos dépôts Git, les bibliothèques externes, et le schéma de base de données.
Cette commande est équivalente à l'utilisation de
git pull
dans lecore
et dans tous les répertoires d'extensions et d'habillagescomposer update
pour veiller à ce que les dernières bibliothèques "Composer-managed" soient disponibles.- Et pour finir, le script
update.php
.
Vous devez aussi de temps en temps (ou quand c'est nécessaire pour une nouvelle fonctionalité) mettre à jour MediaWiki-Vagrant lui-même, ce que ne fait pas vagrant git-update
. Exécutez:
git pull
… dans votre répertoire racine de MediaWiki-Vagrant. Ceci prendra effet quand vous exécuterez :
vagrant provision
Vous pouvez exécuter cette commande immédiatement après avoir fait le git pull
, ou peu de temps après.
find -not \( -name node_modules -prune \) -name package.json
et les installer manuellement selon les besoins après une mise à jour en exécutant npm install
dans chacun des répertoires désirés.Déconnectez-vous de votre machine virtuelle en tapant logout
ou en appuyant sur Ctrl+D.
Maintenant que vous êtes de nouveau sous une invite de commande standard, vous pouvez exécuter vagrant halt
pour arrêter la machine virtuelle et vagrant up
pour la redémarrer.
vagrant destroy
supprimera les fichiers de la machine virtuelle; cette commande est utile si vous voulez remettre l'instance dans son état d'origine.
(vous aurez besoin d'exécuter vagrant up
à nouveau pour instancier une nouvelle machine virtuelle).
Utilisation des rôles
MediaWiki-Vagrant met en place une instance MediaWiki de base par défaut, mais cela demande aussi de savoir comment configurer une gamme de logiciels complémentaires, y compris certaines extensions populaires de MediaWiki et leurs dépendances. Ces piles de logiciels optionnels sont communément appelées «rôles» et MediaWiki-Vagrant offre une interface en ligne de commande simple et puissante pour les gérer.
$ vagrant roles list
# Affiche une liste des rôles disponibles.
$ vagrant roles enable rôle
# Activer les "rôles" pour cette machine.
$ vagrant roles disable rôle
# Désactiver les "rôles" pour cette machine.
$ vagrant provision
# Une fois terminée l'activation/désactivation des rôles, lancez ceci pour que les modifications prennent effet.
Regardez un petit screencast montrant comment utiliser les rôles. Vous obtiendrez plus d'informations avec Rôles sur certains rôles.
Si vous ajoutez de nombreux rôles, vous devrez peut-être augmenter la mémoire disponible sur la VM Vagrant.
En particulier, la mise en place du rôle "browsertests" qui implique la compilation du
ffi
ruby Gem qui est une tâche gourmande en mémoire; si elle plante essayez de libérer de la mémoire dans la machine virtuelle ou d'augmenter son allocation mémoire (bogue 53864).
Voir la section #Authoring roles|Création des rôles ci-dessous si vous êtes intéressé pour ajouter des rôles à MediaWiki-Vagrant.
Problèmes avec des rôles spécifiques
Centralauth
Il y a des rôles qui nécessitent une attention particulière, le rôle centralauth n'exécute pas les migrations de base de données automatiquement via Puppet et exige leur exécution à la main. Si vous obtenez des erreurs en provisionnant ce rôle, essayez d'exécuter ce script à partir de l'extension et de voir les erreurs qui s'affichent en sortie :
mwscript extensions/CentralAuth/maintenance/migrateAccount.php --username 'Admin' --auto
Une fois que vous aurez obtenu une erreur plus concrète, vous aurez probablement besoin de savoir qu'elle est la migration à faire tourner parmi celles-ici :
extensions/CentralAuth/db_patches
Wikidata
Un simple vagrant roles enable wikidata && vagrant provision
ne fonctionnera pas.
Voici un ensemble complet de commandes pour définir le rôle Wikidata et le rendre opérationnel.
$ vagrant up
$ vagrant git-update
$ vagrant ssh
$ sudo apt-get update && sudo apt-get upgrade
$ composer selfupdate --update-keys
$ composer config --global process-timeout 9600
$ exit
$ vagrant roles enable wikidata
$ vagrant provision
Notez que la première disposition peut rechigner, laissant penser à un échec. Cependant, si vous utilisez une deuxième disposition, vous verrez que tout se passe bien.
Vous pouvez ensuite afficher dans votre navigateur http://wikidata.wiki.local.wmftest.net:8080/. Pour créer un nouvel élément wikidata chargez http://wikidata.wiki.local.wmftest.net:8080/wiki/Special:NewItem et pour créer une nouvelle propriété allez sur http://wikidata.wiki.local.wmftest.net:8080/wiki/Special:NewProperty
Comment importer un dump Wikidata
La commande Vagrant import-dump
qui importe un fichier XML dans MediaWiki, ne gère pas les wikis autres que celui par défaut (voir phab:T183274#3893785).
Vous devez exécuter le script importDump.php
à l'intérieur du dialogue Vagrant.
Voici la procédure pour importer des dumps XML.
$ mkdir wikidata_dumps
$ cd wikidata_dumps
- téléchargez les blocs
pages-articles
. Par exemple :
$ wget https://dumps.wikimedia.org/wikidatawiki/latest/wikidatawiki-latest-pages-articles10.xml-p5264684p6341661.bz2
- autoriser l'importation d'entités Wikibase (voir phab:T72898#1588002). Ajoutez la ligne suivante à votre
LocalSettings.php
:
$wgWBRepoSettings[ 'allowEntityImport' ] = true;
- le script BASH suivant peut vous aider à suivre le processus. Vous pouvez le recopier dans un fichier
import_wikidata.sh
. Notez que la ligne surlignée appelle le script actuel d'importation :
#!/usr/bin/env bash
chunks=$(find wikidata_dumps -type f)
for chunk in $chunks
do
now=$(date)
echo "$now: started import of $chunk" >> wd_import.log
echo "-------------------------------------------" >> wd_import.log
bzcat $chunk | mwscript importDump.php --wiki=wikidatawiki --uploads --debug --report 10000 2>>wd_import.log
now=$(date)
echo "-------------------------------------------" >> wd_import.log
echo "$now: completed import of $chunk" >> wd_import.log
echo "===========================================" >> wd_import.log
done
- connectez vous à l'intérieur du dialogue Vagrant et lancez le script. Les messages de débogage devraient y apparaître :
$ vagrant ssh
$ cd /vagrant
$ sudo chmod +x import_wikidata.sh
$ ./import_wikidata.sh
- vous pouvez suivre le journal de progression depuis l'extérieur du dialogue Vagrant :
$ tail -f wd_import.log
Pour aller plus loin
Accélérer MediaWiki sous Windows
Une fois installé, MediaWiki s'avère très lent (le chargement des pages prend plus de 5 secondes).
Ceci est dû au fait que la machine virtuelle utilise un système de fichiers partagé qui récupère les fichiers très lentement.
Vous pouvez réduire de manière significative le temps de chargement des pages en activant NFS sous Windows (installer le greffon Vagrant WinNFSd avec vagrant plugin install vagrant-winnfsd
), puis en activant les partages NFS avec vagrant config nfs_shares true
, et en redémarrant votre machine avec vagrant reload
.
Vous devez vérifier aussi que le greffon est installé à chaque fois que vous démarrez la machine.[4]
Vous pourrez ensuite l'accélérer en activant nfs_cache
, néanmoins ayez conscience que votre wiki pourra générer des erreurs bizarres car certains fichiers n'auront pas eu le temps d'avoir été mis à jour totalement lorsque le cache sera utilisé.
Vous pouvez aussi accélérer Mediawiki en utilisant smb_shares
.
Vérifier que nfs_shares
ne soit pas activé au même moment.
Activez-le avec vagrant config smb_shares yes
et exécutez vagrant reload
dans le shell (console système) en tant qu'administrateur.
Si vous n'exécutez pas en tant qu'administrateur, vous aurez un avertissement signalant l'erreur que vagrant est démarré, et si vous allez sur l'adresse wiki, vous aurez Wiki not found
.
Lors de l'invite, entrez le nom d'utilisateur de votre compte (le nom de votre répertoire utilisateur Home) et votre mot de passe (celui de votre compte Microsoft si votre compte n'est pas un compte local avec un mot de passe normal).
Copie du noyau MediaWiki en local
Il se peut que vous ayez parfois envie de recommencer à zéro en supprimant l'ensemble du répertoire vagrant
ou en nettoyant le répertoire vagrant/mediawiki
.
Afin d'accélérer le processus de provisionnement de vagrant, vous pourrez peut-être envisager de garder un clone local d'un noyau MediaWiki à jour que vous pouvez copier dans vagrant/mediawiki
.
par exemple, en supposant que vous clonez un dépôt MediaWiki dans ~/projects/mediawiki/
:
# clonez et stockez une copie propre du noyau MediaWiki dans ~/projects/mediawiki/core
cd ~/projects/mediawiki/
git clone ssh://<your-gerrit-username>@gerrit.wikimedia.org:29418/mediawiki/core
# clonez une copie propre de vagrant dans ~/projects/mediawiki/vagrant
cd ~/projects/mediawiki
git clone ssh://<your-gerrit-username>@gerrit.wikimedia.org:29418/mediawiki/vagrant
# créez le sous-répertoire mediawiki s'il n'existe pas
cd ~/projects/mediawiki/vagrant
mkdir ~/projects/mediawiki/vagrant/mediawiki
# copiez le noyau MediaWiki "propre" dans le répertoire "propre" vagrant/mediawiki
cp -r ~/projects/mediawiki/core/ ~/projects/mediawiki/vagrant/mediawiki
Mise à jour des dépôts clonés
Mettre à jour les dépôts clonées aussi souvent que possible / nécessaire.
cd ~/projects/mediawiki/core
git pull
cd ~/projects/mediawiki/vagrant
git pull
git submodule update --init --recursive
Ou de mettre à jour tous les dépôts clonés :
vagrant git-update
Recharger Vagrant
Si vous changez la configuration (par exemple la vagrant_ram
, votre site web VM/MediaWiki se bloque, ou un problème apparaît, vagrant reload
peut résoudre la situation.
Cela va redémarrer votre invité.
Certains rôles nécessitent aussi un rechargement, qui devrait se produire automatiquement.
Quand activer les rôles
Activez les rôles seulement après avoir exécuté avec succès votre premier vagrant up
.
Notez que vagrant destroy
ne réinitialisera pas les rôles autorisés.
Vérifiez bien d'avoir désactivé tous les rôles après avoir lancé vagrant destroy
, puis exécutez vagrant up
.
Ensuite, vous pouvez réactiver les rôles que vous voulez et exécuter vagrant provision
.
Vagrant derrière un proxy
Si vous êtes derrière un proxy, Vagrant pourrait faire apparaître quelques errors.
Vous pouvez installer vagrant-proxyconf
.
C'est un plugin qui permet à votre machine virtuelle d'utiliser les proxy spécifiés.
C'est un guide d'installation rapide.
Pour une documentation plus détaillée, vous pouvez également regarder here.
Installez le plugin :
vagrant plugin install vagrant-proxyconf
Pour configurer les paramètres de proxy pour tous les logiciels sur toutes les VM vagrant, ajoutez les lignes suivantes à votre $VAGRANT_HOME/Vagrantfile
(par défaut ~/.vagrant.d/Vagrantfile
).
Vagrant.configure("2") do |config|
if Vagrant.has_plugin?("vagrant-proxyconf")
config.proxy.http = "http://192.168.0.2:3128/"
config.proxy.https = "http://192.168.0.2:3128/"
config.proxy.no_proxy = "localhost,127.0.0.1,.example.com"
end
# ... d'autres choses
end
Remplacez les adresses avec l'IP et le numéro de port de votre serveur proxy.
Utilisez l'option config.proxy.no_proxy
pour sortir la liste de tous les sites et domaines pour lesquels vous pourriez vouloir contourner le proxy. Par exemple,
config.proxy.no_proxy = "localhost,127.0.0.1,.example.com,.someinternaldomain.com"
Maintenant, lorsque vous exécutez un vagrant up
, il ne devrait plus y avoir d'avertissements.
Pour désactiver le plugin, mettez config.proxy.enabled
à false
ou à une chaîne vide ("")
.
Vous pouvez également le désactiver pour des applications spécifiques. Par exemple,
config.proxy.enabled # → toutes les applications sont activées (par défaut)
config.proxy.enabled = true # → toutes les applications sont activées
config.proxy.enabled = { svn: false, docker: false }
# → des applications spécifiques sont activées.
config.proxy.enabled = "" # → toutes les applications sont désactivées
config.proxy.enabled = false # → toutes les applications sont désactivées
Préparation de MediaWiki-Vagrant
Vous envisagerez peut-être d'utiliser un script d'interface système (shell) comme mw-vagrant-prep pour préparer un répertoire pour une installation de MediaWiki-Vagrant.
Débogage
Vagrant
Vous pouvez déboguer MediaWiki-Vagrant lui-même (par exemple les erreurs survenant durant le vagrant up
) avec VAGRANT_LOG
:
VAGRANT_LOG=debug vagrant up
Provisionnement
Vous pouvez déboguer le processus de provisionnement en exécutant
PUPPET_DEBUG=1 vagrant provision
PHP
Vous pouvez déboguer PHP avec Xdebug. Déboguer en PHP est différent des autres type de débogage côté client. Votre IDE écoute les connexions entrantes, et lorsque vous accédez au serveur avec un navigateur, un entête spécial indique à PHP de se connecter à votre IDE. A défaut de meilleure documentation, voir pour plus d'informations MediaWiki-Vagrant/Advanced usage#MediaWiki debugging Using Xdebug and an IDE in your host (ancien et très verbeux).
Chrome
- Pour les utilisateurs de Chrome, vous devriez récupérer XDebug Helper, et éventuellement Clear Cache, HTTP headers, et Mod Headers. Configurez la purge du cache pour recharger automatiquement après l'effacement, et définissez des raccourcis clavier (e.g. Ctrl+R pour suppression & rechargement, Ctrl+⇧ Shift+D pour activer/désactiver XDebugger)
Firefox
- Les utilisateurs de Firefox devraient copier easy Xdebug.
- Installez et configurez un IDE compatible xdebug sur votre machine (Eclipse, PhpStorm, Emacs, etc.)
- Dans l'IDE, commencez par écouter la connexion de débogage entrante.
- Dans l'IDE, mettez un point d'arrêt à l'endroit qui vous intéresse.
- Activez XDebug dans le navigateur et accédez à votre installation vagrant (http://127.0.0.1:8080/...)
CLI
Pour les scripts de maintenance et autre code exécuté à partir de CLI, vous pouvez utiliser les commandes du shell xdebug_on
et xdebug_off
pour activer ou désactiver le débogage.
Fichiers de journalisation (log)
Les fichiers de journalisation (logs) de MediaWiki se trouvent dans /vagrant/logs
.
Les fichiers de journalisation (log) pour Apache sont dans /var/log/apache2/
, mais il semble qu'il ne soient pas écris.
Le fichier de journalisation (log) des requêtes MySQL peut être obtenu en saisissant SET GLOBAL general_log = 'ON';
dans un client, puis en regardant dans /var/lib/mysql/*.log
.
Exécution et débogage des tests unitaires
Pour « excécuter » les tests PHPUnit pour TOUTES les extensions :
$ vagrant ssh
$ sudo -u www-data env PHPUNIT_WIKI=wiki PHPUNIT_LOGS=0 composer --working-dir=/vagrant/mediawiki phpunit
Pour exécuter les tests unitaires avec une seule extension :
$ sudo -u www-data env PHPUNIT_WIKI=wiki PHPUNIT_LOGS=0 composer --working-dir=/vagrant/mediawiki composer phpunit /vagrant/mediawiki/extensions/ExtensionName/tests/phpunit/
Certains tests peuvent nécessiter d'être exécutés par l'utilisateur propre pour créer des fichiers de verrouillage, par conséquent cette commande est exécutée par l' utilisateur www-data
qui gère les requêtes Web.
Pour la construction des rapports de couverture, voir le manuel.
Le débogage des tests de phpunit est un petit peu plus compliqué. Cette méthode est un peu "hacky", mais peut être utilisé le temps que l'interpréteur à distance de débogage s'améliore (par exemple dans PHPStorm 8 EAP ). Cette solution de contournement vous permet d'exécuter des tests unitaires MediaWiki depuis le navigateur.
- Télécharger le fichier phpunit.phar à la racine de votre répertoire vagrant.
- Créez un fichier php
unittest.php
dans la racine du répertoiremediawiki
. Ne faites pas de validation (commit) pour ce fichier dans le dépôt. Collez le code suivant dedans :
unittest.php
|
---|
<html><body><pre>
<?php
error_reporting(E_ALL);
ini_set('display_errors', 1);
require_once 'includes/WebStart.php';
$_SERVER[ 'argv' ] = array(
'--configuration', '/vagrant/mediawiki/tests/phpunit/suite.xml',
'/vagrant/mediawiki/extensions/JsonConfig/tests/phpunit/JCObjContentTest.php',
);
require_once '/vagrant/mediawiki/tests/TestsAutoLoader.php';
require_once '/vagrant/phpunit.phar';
PHPUnit_TextUI_Command::main(false);
|
- Dans le fichier ci-dessus, changez le paramètre "argv" par le nom de votre fichier de test.
- Apache fait correspondre la racine du répertoire de MediaWiki à
/w
. Donc, naviguez jusqu'à http://127.0.0.1:8080/w/unittest.php pour exécuter ce fichier. - Suivez les instructions #Debugging pour attacher votre débogueur.
Exécuter les tests du navigateur
Pour les tests unitaires JavaScript (QUnit), voir Tests unitaires JavaScript .
Pour les tests de bout en bout du navigateur (Selenium), voir Exécuter les tests du navigateur VisualEditor via Vagrant
Pousser les validations (commit)
Si vous utilisez MediaWiki-Vagrant pour le développement, vous aurez probablement envie de pousser certaines validations (commits) dans le noyau MediaWiki ou dans un dépôt d'extensions à l'aide de git review
.
Par défaut, toutes les commandes distantes pointent vers des URL https://
.
Pour éviter leur redéfinition au cas par cas, exécutez :
$ git config --global url."ssh://<username>@gerrit.wikimedia.org:29418/".insteadOf "https://gerrit.wikimedia.org/r/"
Vous devez aussi avoir vos clés ssh dans ~/.ssh
.
Gerrit
Pour soumettre des modifications, utilisez cd
pour accéder à votre dossier d'extensions.
Suivez ensuite les instructions pour soumettre une correction via Gerrit.
Résolution des problèmes
- Vérifiez la version de PHP et les paramètres.
- http://127.0.0.1:8080/info.php
- Modifier le fichier LocalSettings.php?
- Tout d'abord, vérifiez qu'il n'y a pas de rôle (
vagrant list-roles
) qui fait déjà ce dont vous avez besoin. Sinon, créez un fichier dans le répertoiresettings.d/
. Voir le fichier README et le fichier 00-debug.php-example.
- Mettre à jour le code MediaWiki ?
- Le plus simple est d'utiliser
vagrant git-update
à partir de l'hôte. Ou, pour simplement mettre à jour le code sans les dépendances, vous pouvez utiliser régulièrement les commandes gitfetch
,pull
, etc. dans les répertoiresvagrant/mediawiki
etvagrant/mediawiki/extensions/SomeExtension
. Vous pouvez exécuter ces commandes sur la machine virtuelle, mais l'accès aux fichiers sera plus rapide sur la machine hôte. MediaWiki-Vagrant copie le code (pull) à partir de la branche master de Git lorsque vous mettez initialement en place et/ou ajoutez un rôle, mais ne met pas automatiquement le code à jour après cela.
- Exécutez l'interpréteur PHP MediaWiki.
- Connectez vous en ssh à vagrant et exécutez
mwscript eval.php
. Vous pourriez avoir besoin de l'exécuter avecsudo
.
- Exécutez l'interpréteur SQL MediaWiki
- Connectez vous en ssh à vagrant et exécutez
mwscript sql.php
. Vous pourriez avoir besoin de l'exécuter avecsudo
.
- Mettre à jour les paquets logiciels de la machine virtuelle ?
vagrant provision
ne met pas à jour les paquets système de la machine virtuelle. Lorsque vous vous connectez en ssh via vagrant, le message d'ouverture de session vous informera que :
"NN packages peuvent être mis à jour.
NN mises à jour sont des mises à jour de sécurité."
Dans "vagrant ssh" :- pour mettre à jour tous les paquets, saisissez
sudo apt-get update && sudo apt-get upgrade
- pour "l'installation automatique des mises à niveau de sécurité (et autres)", semblable à des instances Cloud VPS, entrez
sudo unattended-upgrade
- pour mettre à jour tous les paquets, saisissez
- Personnalisez Vagrant.
- Vous ne devriez jamais avoir besoin de changer directement le fichier Vagrantfile. Il y a différents aspects de vagrant que vous pouvez personnaliser :
- Les réglages système (utilisateur git, ports, ram, ip, redirection de port) peuvent être personnalisés via le fichier .settings.yaml. Voir
vagrant config --help
etvagrant forward-port --help
pour les instructions. Ainsi par exemple vous pouvez exécutervagrant forward-port 1234 80
pour activer la redirection des ports de l'hôte:1234 vers le client:80. - Effectuez des étapes supplémentaires après le chargement du fichier Vagrantfile en créant un fichier appelé
Vagrantfile-extra.rb
et en le plaçant dans le même dossier que Vagrantfile. Il sera chargé automatiquement. En cas de conflit, les valeurs du fichier « extra » remplaceront les valeurs de ce fichier. Voir l'exemple dans support/ directory.
- Les réglages système (utilisateur git, ports, ram, ip, redirection de port) peuvent être personnalisés via le fichier .settings.yaml. Voir
- Ajouter du code Puppet personnalisé ?
- Ceci est idéal si vous souhaitez travailler sur votre propre site MediaWiki localement et laisser le MediaWiki-Vagrant installer vos dépendances pour vous. C'est idéal si vous avez votre propre "fork". Il y a une distinction entre un rôle et ce cas d'utilisation. Les rouleaux doivent pouvoir être installés dans n'importe quel ordre et sans rupture. Si votre fork a besoin de différents appels et que vous avez des problèmes avec les rôles, créez votre propre classe et appelez ce dont vous avez besoin, y compris les rôles.
- Pour faire cela, placez votre code puppet personnalisé dans
puppet/modules/local/manifests/myown.pp
avec votre propre classe, comme ceci :
class local::myown {
include ::role::svg
}
Pour appliquer votre classe, ajoutez la dans la clé "classes" dans puppet/hieradata/local.yaml
.
Vous pouvez créer le fichier s'il n'existe pas.
classes:
- local::myown
Ensuite, exécutez vagrant provision
pour appliquer la modification via Puppet.
- Mettre à jour MediaWiki-Vagrant lui-même ?
- (Par exemple, pour utiliser de nouveaux rôles.) Dans un terminal, accédez au répertoire vagrant sur l'ordinateur hôte et saisissez une commande git standard comme Special:MyLanguage/Gerrit. En général, vous voulez exécuter
vagrant provision
après la mise à jour pour appliquer les nouveaux changements de Puppet à votre machine virtuelle.
- Exécuter les applications IHM sur la machine virtuelle ?
- Si vous avez un serveur X d'installé, connectez vous en SSH dans la machine virtuelle en utilisant
ssh -- -X
pour activer le transfert de X. (Les utilisateurs de Mac doivent mettre à jour avec la dernière version de XQuartz.)
- Comme alternative, vous pouvez exécuter la machine virtuelle en mode graphique, ce qui vous permet d'interagir avec la machine virtuelle comme si elle avait un affichage physique. Pour activer le mode GUI, créez un fichier appelé
Vagrantfile-extra.rb
dans le dossier racine du dépôt, avec ceci commme contenu :
Vagrant.configure('2') do |config|
config.vm.provider :virtualbox do |vb|
vb.gui = true
end
end
- Enregistrez le fichier et lancez
vagrant halt
suivi devagrant up
. L'affichage de la machine virtuelle apparaîtra dans une fenêtre sur votre bureau.
- Ajuster les ressources allouées à la VM ?
- Si vous souhaitez allouer plus ou moins de CPU/RAM à la machine virtuelle, voir
vagrant config --help
pour les instructions.
Alternativement, vous pouvez le faire en créant Vagrantfile-extra.rb (voir support/ dir pour un exemple) :
Vagrant.configure('2') do |config|
config.vm.provider :virtualbox do |vb|
# See http://www.virtualbox.org/manual/ch08.html for additional options.
vb.customize ['modifyvm', :id, '--memory', '768']
vb.customize ['modifyvm', :id, '--cpus', '2']
end
end
- Changer l'éditeur utilisé pour les messages "git commit" ?
git config --global core.editor "vim"
- Définir un nom d'hôte personnalisé ?
- Allez à Horizon, cliquez sur Web Proxies, et entrez un nom d'hôte DNS, par exemple <hostname>
Afficher votre nouveau wiki sous http://<hostname>/wiki/
- Faire pointer le nom d'hôte personnalisé vers la page d'accueil de mon rôle vagrant au lieu de la page d'accueil wiki ?
- Créez un fichier local.yaml dans le répertoire /vagrant/puppet/hieradata. Dans ce dernier, ajouter :
<rolename>::vhost_name:<hostname>
role::mediawiki::hostname: localhost
Exécutez vagrant provision
.
- Exécuter une branche de MediaWiki autre que celle du master ?
- Configurez la clé
puppet/hieradata/local.yaml
. Vous pouvez créer le fichier s'il n'existe pas.
mediawiki::branch: "wmf/1.24/wmf18"
vagrant destroy -f
, supprimez votre "mediawiki checkout" existant et enfin construisez une nouvelle VM avec vagrant up
.
Utilisation avancée
Paramètres MediaWiki
Comme une alternative à la gestion de tous les paramètres MediaWiki dans un seul grand fichier LocalSettings.php , pensez à regrouper vos configurations par composant ou thème, et à la création d'un fichier PHP séparé dans settings.d/
pour chaque groupe.
Il est donc assez facile de garder vos paramètres organisés, pour désactiver provisoirement des configurations spécifiques, et pour partager les paramètres avec les autres.
MediaWiki chargera automatiquement tous les fichiers PHP dans settings.d/
dans l'ordre lexical.
Vous pouvez contrôler l'ordre dans lequel vos configurations sont définies en ayant l'habitude d'ajouter un préfixe à deux chiffres pour chaque nom de fichier.
Par exemple :
settings.d/ ├── 10-RunFirst.php ├── 20-SomeExtension.php └── 99-RunLast.php
Notez que les fichiers de paramètres dans settings.d/puppet-managed
sont automatiquement créés et détruits en réponse à votre configuration Puppet.
Ne mettez pas vos paramètres personnalisés ici, parce que Puppet va les effacer ou les remplacer.
Gardez vos fichiers de paramètres personnalisés dans settings.d/
à la place.
Drapeaux Vagrant
vagrant config --list
affiche une liste de tous les drapeaux Vagrant actuels.
Après le ./setup.sh
initial, dans votre répertoire vagrant, vous pouvez ensuite initialiser un des drapeaux vagrant qui apparait dans la liste de configuration, par exemple vagrant config nfs_shares no
File d'attente des tâches
Si vous testez quelque chose qui doit désorganiser la file d'attente, vous devrez peut-être augmenter le nombre d'exécuteurs de tâches. Actuellement, cette option n'est pas disponible dans LocalSettings.php, mais doit être définie dans le fichier de configuration du programme d'exécution des tâches.
- Ouvrir
puppet/modules/mediawiki/templates/jobrunner.json.erb
- Modifier la valeur pour la clé
runners
de1
vers la valeur désirée (disons,4
) - Re-provisionner avec
vagrant --provision
- Attention cela va créer une différence entre votre code et celui du Master de Git
Voir les instructions ci-dessus pour ajuster le nombre de coeurs (core) de la CPU convenablement (hautement recommandé pour les tâches dépendant de la CPU telles que le transcodage video).
Espace supplémentaire de stockage
Par défaut, il y a relativement peu de place sur la partition racine (root) de la VM. Si vous envisagez de tester le téléversement et le traitement de gros fichiers image ou vidéo, cela peut être insuffisant.
Etapes manuelles :
- Arrêter la machine virtuelle (
vagrant halt
) - Ouvir le gestionnaire de VirtualBox
- Sélectionner la VM et aller dans les paramètres (Settings)
- Sous Storage, selectionner "Controller: SATA" et cliquez sur l'icône "Add hard disk" pour ajouter un disque.
- Sélectionner le type par défaut d'image disque.
- Renommer le disque 'VagrantImageSpace' ou similaire, et attribuez lui assez d'espace (disons, 80GB) -- par défaut le fichier commencera petit et grossira en fonction de l'utilisation courante, donc donnez lui l'espace correspondant à ce que vous pourriez avoir besoin
- Fermer les dialogues et redémarrez la VM (
vagrant up
)
- Exécuter
vagrant ssh
pour obtenir un shell dans le terminal- Exécuter
sudo fdisk /dev/sdb
pour définir les nouvelles partitions... - Entrer
n
,p
,1
et presser Entrée deux fois pour la taille par défaut - Entrer
w
pour enregistrer la table des partitions
- Exécuter
- Exécuter
sudo mke2fs /dev/sdb1
pour créer le système de fichiers - Exécuter
sudo vi /etc/fstab
pour modifier les points de montage- Ajouter à la fin, la ligne:
/dev/sdb1 /srv/images ext4 errors=remount-ro 0 2
- enregistrer et sortir
- Ajouter à la fin, la ligne:
- Exécuter
sudo mount /srv/images
pour monter le système de fichiers - Exécuter
sudo chown www-data:www-data /srv/images
pour définir les droits sur les fichiers - Sortir du shell
exit
- Redémarrer (reboot) la VM (
vagrant halt; vagrant up
)
Création des rôles
La machine virtuelle créée par MediaWiki-Vagrant ressemble à l'environnement de production de Wikimedia sur les points clés, et elle utilise le même outil —Puppet— c'est ce que l'équipe des opérations techniques de Wikimedia utilise pour gérer les serveurs de production et les instances Cloud VPS de Wikimedia. Puppet est un outil de gestion de configuration qui fournit un langage spécifique aux domaines pour traduire les configurations logicielles de manière déclarative. Les fichiers contenant le code de Puppet sont appelés « manifestes ». Lorsque Puppet fonctionne, il interprète les manifestes que vous déclarez et configure la machine en conséquence. Un rôle Vagrant est un ensemble de manifestes de Puppet.
Le code de base de Puppet pour MediaWiki-Vagrant contient des abstractions qui le rendent facile pour automatiser la configuration des extensions MediaWiki et des logiciels connexes. Si vous êtes un développeur travaillant sur un projet logiciel lié à MediaWiki, vous êtes encouragé à soumettre un correctif avec un rôle de Puppet pour votre projet. L'ajout d'un rôle Vagrant à votre projet facilite la vérification de votre travail par d'autres développeurs. L'utilisation d'une machine virtuelle gérée comme bac à sable de développement pour votre projet réduit les risques d'erreurs "works-on-my-machine" qui résultent souvent de développeurs géographiquement éloignés travaillant dans des environnements incompatibles.
La meilleure façon de commencer avec des rôles personnalisés est de regarder comment les rôles existants sont mis en œuvre dans puppet/modules/role/manifests/*.pp
.
Ces rôles dépendent des modules Puppet dans puppet/modules
(habituellement, foo::bar { ... }
est traduit en appel à puppet/modules/foo/manifests/bar.pp
) et utilise les fichiers et les modèles des autres répertoires de puppet/modules/role/*/rolename/
.
Le code Puppet est généralement bien documenté et contient des exemples qui démontrent son utilisation appropriée.
Quelques uns des modules Puppet les plus utiles:
- mediawiki::extension - installer et configurer une extension (exemple)
- mediawiki::import::text - créer une documentation ou une page de test sur le wiki (exemple: déclaration, page)
- mediawiki::import::dump - importer un dump wiki (exemple)
- require_package - installer un paquet système (exemple)
- exec - exécuter une commande shell (exemple)
Installer une instance dans Cloud VPS
Vous pouvez utiliser MediaWiki-Vagrant du Cloud VPS pour installer MediaWiki sur une instance du Cloud VPS de Wikimedia et activer les rôles MediaWiki-Vagrant à l'intérieur.
Bogues
Si vous repérez un bogue dans MediaWiki-Vagrant, prenez le temps de nous le signaler. Tout d'abord , assurez-vous que le bogue est pas un bogue de Vagrant ou de VirtualBox connu en recherchant dans le suivi des problèmes Vagrant sur GitHub et le bugtracker de la VirtualBox. Si ce n'est pas le cas, allez-y et [le rapport de bogue] dans Wikimedia Phabricator. Décrivez clairement le problème et incluez les étapes pour le reproduire chaque fois que c'est possible.
Liens
- Page de project sur Ohloh
- MediaWiki-Vagrant sur GitHub
- Traqueur de problèmes sur Phabricator
- Voir la Discussion technique du 2014-11-25 sur « Quelles sont les nouveautés dans MediaWiki Vagrant ? ».
- Commandes Bash nécessaires pour un démarrage rapide sous Ubuntu
- OS upgrade
Remarques
- ↑
Si vous êtes sur Fedora, ne suivez pas les instructions Oracle. Au lieu de cela, activez les dépôts RPMfusion (par exemple via la configuration de Apper), puis exécutez
sudo dnf install VirtualBox VirtualBox-kmodsrc akmod-VirtualBox kmod-VirtualBox
(note : c'est sensible à la casse et parfois sensible à la version ! Si vous ne trouvez pas le paquet, recherchez dans Discover à la place). Vous pouvez aussi suivre ce guide. Il est possible que vous puissiez obtenir une erreur à propos de votre noyau qui serait trop récent. Si c'est le cas, installezakmods-VirtualBox
, et exécutersudo akmods
pour vous assurer que le module compile. - ↑ Sous Fedora, vous pouvez exécuter
sudo dnf install vagrant
. - ↑ https://github.com/hashicorp/vagrant/issues/10576#issuecomment-452793401
- ↑ https://peshmerge.io/how-to-speed-up-vagrant-on-windows-10-using-nfs/
- ↑ Vagrant dependent on MediaWiki 1.21+