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échargez la dernière version de VirtualBox.   [//www.vagrantup.com/downloads.html Téléchargez 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 :

Activez 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/. Les notifications, les avertissements, les erreurs et les exceptions non traitées de PHP sont enregistrées par HHVM dans le syslog que vous pouvez voir dans /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
Pour "lancer" les tests phpunit :

Vous pouvez ajouter "path/to/tests/to/run".

Certains tests peuvent nécessiter d'être exécuter en tant qu'utilisateur approprié pour créer des fichiers de verrouillage, par conséquent cette commande est exécutée comme "utilisateur"  qui gère les requêtes Web.

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 du répertoire vagrant.
 * Créez un fichier php unittest.php</tt> dans la racine du mediawiki</tt>. Ne faites pas de "commit" pour ce fichier dans le dépôt. Collez le code suivant dedans :


 * Dans le fichier ci-dessus, changez le paramètre "argv" par le nom de votre fichier de test.
 * Apache mappe la racine du répertoire de mediawiki à . Donc, naviguez jusqu'à $URL pour exécuter ce fichier.
 * Suivez les instructions #Debugging pour attacher votre débogueur.

Pushing commits
Si vous utilisez MediaWiki-Vagrant pour le développement, vous aurez probablement envie de pousser certains "commits" dans le noyau MediaWiki ou dans un dépôt d'extensions à l'aide de git review. Par défaut, toutes les télécommandes pointent vers les URL. Pour éviter leur redéfinition au cas par cas, exécutez :

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

Vous devez aussi avoir vos clés ssh dans.

Comment puis je faire pour ... ?

 * Check PHP version and settings
 * 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 qui fait déjà ce que vous avez besoin. Sinon, créez un fichier dans  . Voir le fichier README et le fichier d'exemple 00-debug.php.


 * Mettre à jour le code MediaWiki ?
 * Le plus simple est d'utiliser  à partir de l'hôte. Ou, pour simplement mettre à jour le code sans les dépendances, vous pouvez utiliser régulièrement les commandes git ,  , etc. dans les répertoires   et  . 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 tire le code (pull) à partir du "git master" lorsque vous mettez initialement en place et/ou ajoutez un rôle, mais ne met pas automatiquement le code à jour après.


 * Exécutez l'interpréteur PHP MediaWiki.
 * Connectez vous en ssh et exécutez . Vous pourriez avoir besoin de l'exécuter avec.


 * Exécutez l'interpréteur SQL MediaWiki
 * Connectez vous en ssh et exécutez . Vous pourriez avoir besoin de l'exécuter avec.

" NN packages peuvent être mis à jour. NN mises à jour sont des mises à jour de sécurité. " Dans "vagrant ssh" :
 * Mettre à jour les paquets logiciels de la machine virtuelle ?
 * 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 informera que vous :
 * * Mettre à jour tous les paquets, saisissez
 * * Pour "l'installation automatique des mises à niveau de sécurité (et autres)", semblable à des instances de "laboratoires", entrez
 * * Pour mettre à jour les mêmes paquets qui sont sur ​​les serveurs WMF de production... "TODO"


 * 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 de base (utilisateur git, ports, ram, ip, redirection de port) peuvent être personnalisés via le fichier .settings.yaml. Voir   et   pour les instructions.
 * * 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 où est situé le fichier Vagrantfile. Il sera chargé automatiquement. En cas de conflit, les valeurs dans le fichier «extra» remplaceront les valeurs de ce fichier. Voir l'exemple dans "support/ directory".


 * 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 rôles sont destinés à être installés dans un ordre quelconque et sans rupture. Si votre "fork" a besoin d'appels différents et cause des problèmes avec les rôles, créez votre propre classe et appelez ce que vous avez besoin, y compris les rôles.
 * Pour ce faire, placez votre code puppet personnalisé dans  avec votre propre classe, comme ce qui suit :

Pour appliquer votre classe, ajoutez la dans la clé "classes" dans. Vous pouvez créer le fichier s'il n'existe pas.

Ensuite, exécutez  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 standard git comme . En général, vous voulez exécuter   après la mise à jour pour appliquer les nouveaux changements de puppet à votre machine virtuelle.


 * Exécuter les applications GUI sur la machine virtuelle ?
 * Si vous avez un serveur X d'installé, connectez vous en SSH dans la machine virtuelle en utilisant  pour activer le transfert de X. (Les utilisateurs de Mac devraient Mettre à jour vers la dernière version de 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.

Alternativement, vous pouvez le faire en créant Vagrantfile-extra.rb (voir support/ dir pour un exemple) :


 * Changer l'éditeur utilisé pour les messages "git commit" ?

Aller à Special:NovaProxy, cliquez sur "Ajouter proxy" et entrez un nom d'hôte DNS, par exemple Voir votre nouveau wiki à " http:// /wiki/ "
 * Définir un nom d'hôte personnalisé ?

Créez un fichier local.yaml dans le répertoire /vagrant/puppet/hieradata. Dans ce dernier, ajouter : Exécutez.
 * 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 ?


 * Exécuter une branche de MediaWiki autre que celle du master ?
 * Configurez la clé "" dans . Vous pouvez créer le fichier s'il n'existe pas.

Ce changement doit être fait avant l'exécution de vagrant up pour la première fois. Si vous décidez de le faire plus tard, faites le changement, détruisez votre VM actuelle avec, supprimez votre "mediawiki checkout" existant et enfin construisez une nouvelle VM avec.

Vagrant est conçu pour fonctionner avec la branche principale, et peut ne pas fonctionner parfaitement, ou pas du tout avec les anciennes versions du noyau et/ou des 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
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  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 d'autres.

MediaWiki charge automatiquement tous les fichiers PHP dans  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 :

<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 Notez que les fichiers de paramètres dans settings.d/puppet-managed</tt> 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/</tt> à la place.

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
Si vous repérez un bug dans MediaWiki-Vagrant, prenez le temps de nous le signaler. Tout d'abord, assurez-vous que le bug est pas un bug de Vagrant ou VirtualBox connu en recherchant le Vagrant issue tracker on GitHub et le VirtualBox bugtracker. Si ce n'est pas le cas, allez-y et submit the bug to 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
 * Labs-vagrant configure les instances de Wikimedia Labs basées sur les rôles MediaWiki-Vagrant
 * HHVM/Vagrant Étapes nécessaires pour activer le rôle hhvm sur une ancienne installation de MediaWiki-Vagrant