MediaWiki-Vagrant/fr





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 qui exécute MediaWiki.

La machine virtuelle que MediaWiki - Vagrant créé 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.

Démarrage rapide
(Si vous installez MediaWiki - Vagrant à partir de la distribution USB, suivez les étapes du fichier README plutôt que les quatre premières étapes.)

  Téléchargez Git  (Mac or Linux only) Get NFS if it is not already installed. It is usually already installed in MacOS X. In Ubuntu, use. Fedora usually come with the required packages installed, see the specific documentation page to make sure a Fedora NFS setup is OK.   Télécharger la dernière version de VirtualBox.   [//www.vagrantup.com/downloads.html Télécharger la dernière version de Vagrant.] (Il est peu probable que MediaWiki - Vagrant soit compatible avec les versions de Vagrant antérieures à la version 1.4.x) Récupérez le code et créez votre machine :

Activer les fonctionnalités additionnelles de MediaWiki, par exemple :



Lorsque Vagrant est opérationnel, configurez votre machine, accédez à http://127.0.0.1:8080/ pour trouver votre instance MediaWiki. Le mot de passe admin est. Vagrant va recréer le fichier /etc/exports la prochaine fois que vous l'exécuterez. vagrant up.

MediaWiki - Vagrant ne fonctionnera pas sur un hôte qui ne prend pas en charge VT-X, car il est prévu pour fonctionner avec un invité 64bit (machine virtuelle). MediaWiki - Vagrant doit fonctionner sur une machine virtuelle 64 bits, en partie parce qu'il utilise des paquets deb de la production WMF qui sont uniquement compilés pour l'architecture amd64.

Si vous y êtes invité, entrez votre nom d'utilisateur Gerrit (recommandé), ou tout simplement appuyez sur Entrée.

Si vous utilisez Windows
Téléchargez Git for Windows et exécutez les commandes  dans son interface système Git Bash. Exécutez setup.bat</tt> à partir de cmd.exe shell</tt>.

Problèmes de démarrage
Si vos questions ne trouvent pas de réponses ici, IRC est une bonne option, en particulier le canal.

Solutions actuelles de contournement
Parce que MediaWiki - Vagrant et HHVM sont en développement continu, la création d'un nouvel environnement MediaWiki - Vagrant peut être sujet à des défaillances d'approvisionnement. Vous trouverez ci-dessous les solutions de contournement actuelles pour les erreurs connues qui peuvent survenir lors de l'approvisionnement de l'environnement initial. Vous devez effectuer les solutions suivantes uniquement après l'exécution de  et avoir pris en compte le message d'erreur mentionné.

Error: "Could not set file on ensure: Is a directory (/etc/hhvm/php.ini)
being tracked by https://phabricator.wikimedia.org/T87478

Tout hôte
Par exemple :
 * Vous pouvez essayer d'installer les versions de VirtualBox et 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 VirtualBox et Vagrant. (Vous avez besoin d'installer le paquet  recommandé pour Vagrant.)
 * Si vous obtenez des erreurs de vagrant up, installez à la place les versions les plus récentes de VirtualBox et Vagrant.
 * 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
 * Utilisez http://127.0.0.1:8080/info.php pour vérifier que le serveur Apache/PHP est en cours d'exécution.
 * Vous pourriez avoir envie de 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 avoir d'erreurs, il suffit de lui laisser un peu temps.
 * Si vous obtenez des avertissements que vos "Guest Additions" de VirtualBox ne sont pas dans la bonne version, vous pouvez essayer d'installer le plugin vagrant-vbguest qui les met à jour automatiquement.
 * Vagrant perd rarement la liaison avec votre VM. This thread parle des façons de travailler autour de ça (par exemple l'attachement d'un ancien disque dur virtuel vers le nouveau profil)
 * Assurez-vous que ce référentiel  soit à jour :
 * Assurez-vous que ce référentiel  soit à jour :
 * 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 à une valeur convenable.

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 ).
 * 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 deux possibilités :
 * 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 va vous empêcher 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écochez "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 un "couple s". Après l'installation, vous allez pouvoir être en mesure de re-vérifier "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.

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 de . Notez que le serveur NFS de Debian ne démarre pas sans une entrée dans  . Si   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 comme étant la dernière ligne dans /etc/exports</tt> et /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 ) avant l'exécution de.
 * Sinon, vous pouvez également désactiver les partages NFS via.


 * If you are getting port forwarding errors saying the ports are in use, you may need to open up virtualbox, entirely remove the virtual machine, and try again.
 * If you are on Ubuntu 16.04 you may get an error when Installing the 'vagrant-vbguest' plugin. This is due to a bug in a ruby file belonging to vagrant. The bug is only fixed in upstream but you can patch it.

Debian "wheezy" (et avant)
Surprise ! Votre distribution a une ancienne version du package Vagrant, vous devez alors l'installer à partir du site officiel official site. Voilà à quoi votre défaillance pourrait ressembler autrement :

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 que la première 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, qui s'utilise sans avoir recours à un mot de passe. Parce que la machine virtuelle est entièrement "sandboxed" au sein de votre ordinateur, elle est configuré 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, le mot de passe à saisir sera.

Lorsque vous vous connectez, vous devriez voir une bannière MediaWiki coloré et quelques rappels de commandes utiles.

La commande hhvmsh 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 ?</Kbd> pour une aide rapide ou help start pour obtenir des instructions supplémentaires.

Le dossier  correspond au dossier MediaWiki - Vagrant sur ​​votre machine hôte, et son contenu est partagé. Le code de MediaWiki est installé dans. Cela vous permet d'utiliser votre éditeur d'environnement par défaut sur votre machine hôte pour modifier le code de MediaWiki qui fonctionne sur votre machine virtuelle.

Utilisez vagrant git-update pour garder vos dépôts Git, les bibliothèques externes, et le schéma de base de données à jour. Cette commande est équivalente à l'utilisation de
 * 1) git pull dans core</tt> et tous les répertoires d'extension et de thèmes (skins)
 * 2) composer update pour veiller à ce que les dernières bibliothèques "Composer-managed" soient disponibles.
 * 3) Et pour finir, le script.

Si vous faites des mises à jour à partir de git manuellement, vous devrez peut-être exécuter composer update pour télécharger les bibliothèques externes requises par MediaWiki. Vous pouvez exécuter le script  pour voir si composer update est nécessaire.

Déconnectez-vous de votre machine virtuelle en tapant logout ou en appuyant sur CTRL + D. Maintenant que vous êtes de nouveau dans une invite de commande standard, vous pouvez exécuter vagrant halt pour arrêter la machine virtuelle et vagrant up pour la "remonter". vagrant destroy supprimera les fichiers de la machine virtuelle; Cette commande est utile si vous voulez revenir dans l'é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.

<div style="width: 375px; font-family: Consolas, monaco, monospace; font-size: 13px; background-color: #333; color: #fff; padding: 1px 12px; margin:auto;"> $ vagrant roles list


 * 1) Affiche une liste des rôles disponibles.

<div style="font-family: Consolas, monaco, monospace; font-size: 13px; background-color: #333; color: #fff; padding: 1px 12px; width: 375px;margin: auto;"> $ vagrant roles enable role


 * 1) Activer les "rôles" pour cette machine.

<div style="font-family: Consolas, monaco, monospace; font-size: 13px; background-color: #333; color: #fff; padding: 1px 12px; width: 375px;margin: auto;"> $ vagrant roles disable role

Regardez une petite screencast montrant comment utiliser les rôles. Vous obtiendrez plus d'informations avec Rôles sur certains rôles.
 * 1) Désactiver les "rôles" pour cette machine.

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  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.

Voir la section Authoring roles ci-dessous si vous êtes intéressé pour ajouter des rôles à MediaWiki-Vagrant.

Centralauth
Il y a des rôles qui nécessitent une attention particulière, le rôle centralauth ne fait pas fonctionner les migrations de base de données automatiquement via "puppet" et exige leur exécution à la main. Si vous obtenez des erreurs en approvisionnant 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

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ôts MediaWiki dans ~/projets/mediawiki/ :

Mise à jour des dépôts clonés
Mettre à jour les dépôts clonées aussi souvent que possible / nécessaire.

Recharger Vagrant
Exécutez vagrant reload après votre vagrant up initial et après toute nouvelle commande vagrant provision.

Quand activer les rôles
Activez les rôles seulement après avoir exécuté avec succès votre premier vagrant up.

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. For a detailed documentation you may check here.

Installez le plugin :

Pour configurer les paramètres de proxy pour tous les logiciels sur tous les ordinateurs virtuels vagrant, ajoutez les lignes suivantes à votre  (par défaut  ).

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/domaines pour lesquels vous pourriez vouloir contourner proxy. Par exemple,

Maintenant, lorsque vous exécutez un vagrant up, il ne devrait pas y avoir de messages de mises en garde (warnings).

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,

MediaWiki-Vagrant prep
Vous envisagerez peut-être d'utiliser un script d'interface système (shell) comme mw-vagrant-prep pour préparer un répertoire lors d'une installation de MediaWiki-Vagrant.

Provisionnement
Vous pouvez déboguer le processus de provisionnement en exécutant

PHP
Voir Manual:How to debug#HHVM. Mais commencez d'abord de travailler autour de.

Vous pouvez déboguer PHP avec Xdebug si vous vagrant enable-role zend. Déboguer en PHP est différent des autres type de débogage côté client. Votre IDE écoute pour les connexions entrantes, et lorsque vous accédez au serveur avec un navigateur, un en-tête spécial indique à PHP de se connecter à votre IDE. Voir MediaWiki-Vagrant/Advanced usage pour plus d'informations.

Chrome

 * Pour les utilisateurs de Chrome, vous devriez récupérer XDebug Helper, et éventuellement Clear Cache, HTTP headers, et Mod Headers. Configurez la suppression du cache pour recharger automatiquement après la suppression, et installer les raccourcis clavier (e.g. Ctrl+R pour suppression & rechargement, Ctrl+Shift+D pour activer/désactiver XDebugger)

Firefox

 * Les utilisateurs de Firefox devraient regarder easy Xdebug.
 * Installez et configurez un IDE xdebug-compatible 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/... )

Fichiers de journalisation (log)
Les fichiers de journalisation (logs) de mediawiki peuvent être trouvés dans /vagrant/logs. Il y a des fichiers de journalisation (log) pour Apache dans /var/log/apache2/, mais il semble qu'il ne soient pas écris. Il y a un fichier de journalisation (log) pour HHVM dans /var/log/hhvm/. The PHP notices, warnings, errors, uncaught exceptions are logged by HHVM to the syslog which you can see in /var/log/syslog. 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.

Running and debugging unit tests
To run the phpunit tests:

You can append path/to/tests/to/run.

Some tests may require running as the proper user to create lock files and such, hence this command runs as the "user"  that handles web requests.

Debugging phpunit tests is a little more complex. This method is a bit hacky, but can be used until debugging remote interpreter improves (e.g. in phpStorm 8 EAP). This workaround lets you run MediaWiki unit tests from the browser.
 * Download phpunit.phar file to the root of you vagrant directory.
 * Create a php file unittest.php</tt> in the root of the mediawiki</tt> directory. Do not commit this file to the repository. Paste the following code into it:


 * In the above file, change argv parameter to the name of your test file
 * Apache maps the root of the mediawiki directory to . So navigate to http://127.0.0.1:8080/w/unittest.php to run this file
 * Follow #Debugging instructions to attach your debugger

Pushing commits
If you're using MediaWiki-Vagrant for development you'll probably want to push some commits to MediaWiki core or an extension's repository using git review. By default, all remotes point to the  URLs. To avoid overriding this on a case by case basis, run:

$ git config --global url."ssh:// @gerrit.wikimedia.org:29418/".insteadOf "https://gerrit.wikimedia.org/r/p/"

You also need to have your ssh keys in.

Comment puis je faire pour ... ?

 * Check PHP version and settings
 * http://127.0.0.1:8080/info.php


 * Edit LocalSettings.php?
 * First, check that there is no role that already does what you need. If not, create a file in   directory. See README and 00-debug.php-example file.


 * Update MediaWiki code?
 * The easiest is to use  from the host.  Or, to just update the code without dependencies, you can use regular git ,  , etc. commands in   and   directories. You can run these commands on the virtual machine, but the file access will be faster on the host machine. MediaWiki-Vagrant pulls code from git master when you initially set up and/or add a role, but doesn't automatically update code after that.


 * Run MediaWiki PHP interpreter
 * ssh to vagrant and run . You might need to run it with


 * Run MediaWiki SQL interpreter
 * ssh to vagrant and run . You might need to run it with

''NN packages can be updated. NN updates are security updates.'' In vagrant ssh:
 * Update virtual machine software packages?
 * does not update system packages in the VM. When you connect with vagrant ssh the login message will inform that you:
 * to update all packages, enter
 * for "automatic installation of security (and other) upgrades", similar to labs instances, enter
 * to update to the same packages that are on production WMF servers... TODO


 * Customize Vagrant
 * You should never need to change Vagrantfile directly. There are several aspects of vagrant you can customize:
 * Core settings (git user, ports, ram, ip, port forwarding) can be customized via .settings.yaml file. See  and   for instructions.
 * Perform additional steps after Vagrantfile load by creating a file called Vagrantfile-extra.rb and placing it in the same folder as Vagrantfile - it will be automatically loaded. In case of conflict, values in the 'extra' file will supersede values in this file. See example in support/ directory.


 * Add custom Puppet code?
 * This is ideal if you want to work on your own MediaWiki site locally and let the MediaWiki-Vagrant install your dependencies for you. It's ideal if you have your own fork.  There is a distinction between a role and this use case. Roles are meant to be installed in any order and without breaking. If your fork needs different calls and get in trouble with roles, create your own class and call what you need, including roles.
 * To do so, place your custom puppet code in  with your own class, like so:

To apply your class, add it to the "classes" key in. You can create the file if it doesn't exist.

Then run  to apply the change via Puppet.


 * Update MediaWiki-Vagrant itself?
 * (For example, to use new roles.) In a terminal, change to the vagrant directory on the host computer and enter a regular git command such as . You will typically want to run   after updating to apply any new puppet changes to your virtual machine.


 * Run GUI applications on the virtual machine?
 * If you have an X server installed, SSH into the virtual machine using  to enable X forwarding. (Mac users should update to the latest version of XQuartz.)


 * As an alternative, you can run the virtual machine in GUI mode, which allows you to interact with the VM as though it had a physical display. To enable GUI mode, create a file called  in the root repository folder, with this as its content:


 * Save the file and run  followed by  . The virtual machine's display will appear in a window on your desktop.


 * <span id="Adjust_CPU"> Adjust the resources allocated to the VM?
 * If you'd like to allocate more or less CPU / RAM to the VM, see  for instructions.

Alternatively, you can do it by creating Vagrantfile-extra.rb (see support/ dir for an example):


 * Change the editor used for git commit messages?

Go to Special:NovaProxy, click "Add proxy" and enter a DNS hostname, say View your new wiki at " http:// /wiki/ "
 * Setup a custom hostname?

Create a local.yaml file in the /vagrant/puppet/hieradata directory. In it, add: Run.
 * Make the custom hostname point to homepage of my vagrant role instead of wiki homepage?


 * Run a branch of MediaWiki other than master?
 * Set the "" key in .  You can create the file if it doesn't exist.

This change has to be made BEFORE running vagrant up for the first time. If you decide you want to do it later, make the change, destroy your current VM with, delete your existing mediawiki checkout and finally build a new VM with.

Vagrant is designed to run with the master branch, and may not work perfectly, or at all with older versions of core and/or extensions.


 * Run MediaWiki under PHP5 (Zend PHP) rather than HHVM?
 * Visit the  vhost that MediaWiki-Vagrant provisions automatically. This Apache vhost runs the same configuration as the default   vhost but using PHP5 instead of HHVM.
 * To convert all wikis in your MediaWiki-Vagrant instance to PHP5:

Paramètres MediaWiki
As an alternative to managing all MediaWiki settings in a single, large LocalSettings.php file, consider grouping your configurations by component or theme, and creating a separate PHP file in  for each group. This makes it quite easy to keep your settings organized, to temporarily disable specific configurations, and to share settings with others. MediaWiki will automatically load any PHP files in  in lexical order. You can control the order in which your configurations are set by adopting the habit of adding a two-digit prefix to each file name.

For example:

<pre style="background-color: #efefef; border: 0; display: inline-block; font-family: Consolas, monaco, monospace; margin: 0.4em 0 1em; padding: 0.2em 0.6em;"> settings.d/   ├── 10-RunFirst.php ├── 20-SomeExtension.php └── 99-RunLast.php Note that the settings files in settings.d/puppet-managed</tt> are automatically created and destroyed in response to your Puppet configuration. Don't put your custom settings there, because Puppet will erase or override them. Keep your custom settings files in settings.d/</tt> instead.

Vagrant flags
vagrant config --list display a list of all current Vagrant flags.

After the initial, in your vagrant directory, you can then set one of the vagrant flags that appears in the config list, e.g. vagrant config nfs_shares no

Job queue
If you're testing something that needs to churn the job queue, you may need to increase the number of job runners. Currently this is not available through LocalSettings.php, but must be set in the config file for the job runner.


 * 1) Open
 * 2) Change the value for the ' ' key from   to the desired value (say,  )
 * 3) Re-provision with
 * 4) Beware this will be a difference from the git master in your code

See instructions above for adjusting CPU core count appropriately (highly recommended for CPU-bound task such as video transcoding).

Authoring roles
The virtual machine created by MediaWiki-Vagrant resembles Wikimedia's production environment in key respects, and it uses the same tool—Puppet—that Wikimedia's technical operations team uses to manage production servers and Wikimedia Labs instances. Puppet is a configuration management tool that provides a domain-specific language for expressing software configurations in a declarative fashion. Files containing Puppet code are called 'manifests'. When Puppet runs, it interprets the manifests you feed it and configures the machine accordingly. A Vagrant role is a set of Puppet manifests.

MediaWiki-Vagrant's Puppet codebase contains abstractions that make it easy to automate the configuration of MediaWiki extensions and related software. If you are a developer working on a software project that relates to MediaWiki, you are encouraged to submit a patch with a Puppet role for your project. Adding a Vagrant role for your project makes it easy for other developers to check out your work. Using a managed virtual machine as a development sandbox for your project reduces the chance of "works-on-my-machine" errors that often result from geographically remote developers working in incompatible environments.

The easiest way to get started with custom roles is to look at how existing roles are implemented in. These roles depend on Puppet modules in. The Puppet code is generally well-documented and contains examples that demonstrate its proper usage.

Some of the more useful puppet modules are:
 * mediawiki::extension: install and configure an extension (example)
 * mediawiki::import::text: create a documentation or test page on the wiki (example: declaration, page)
 * mediawiki::import::dump: import a wiki dump (example)
 * require_package: install a system package (example)
 * exec: execute a shell command (example)

Setting up labs instances
You can use MediaWiki-Vagrant in Labs to install MediaWiki on a Wikimedia Labs instance and enable  MediaWiki-Vagrant roles in it.

Bogues
If you spot a bug in MediaWiki-Vagrant, please report it. First, make sure the bug is not a known Vagrant or VirtualBox bug by searching the Vagrant issue tracker on GitHub and the VirtualBox bugtracker. If it is not, go ahead and submit the bug to Wikimedia Phabricator. Clearly describe the issue and include steps to reproduce, whenever possible.

Liens

 * Project page on Ohloh
 * MediaWiki-Vagrant on GitHub
 * Issue tracker on Phabricator
 * Labs-vagrant configure Wikimedia Labs instances based on MediaWiki-Vagrant roles
 * HHVM/Vagrant steps necessary to enable the hhvm role on older MediaWiki-Vagrant installs