MediaWiki-Vagrant

This page is a translated version of the page MediaWiki-Vagrant and the translation is 98% complete.
Outdated translations are marked like this.
Other languages:
Deutsch • ‎English • ‎Türkçe • ‎dansk • ‎español • ‎français • ‎italiano • ‎português • ‎português do Brasil • ‎svenska • ‎čeština • ‎Ελληνικά • ‎русский • ‎ไทย • ‎中文 • ‎日本語 • ‎한국어
Vagrant'ın görsel özeti
MediaWiki Vagrant simgesi
Bryan Davis, Wikimania'daki bir röportajda MediaWiki Vagrant'ın ne olduğunu açıklıyor
Medyada TechTalkWiki-Vagrant Bryan Davis ve Dan Duvall
Bryan Davis ve Dan Duvall tarafından TechTalk'ta MediaWiki-Vagrant slaytları

MediaWiki-Vagrant taşınabilir bir MediaWiki geliştirme ortamıdır. MediaWiki çalıştıran bir sanal makinenin oluşturulmasını otomatikleştiren Vagrant ve VirtualBox için bir dizi yapılandırma betiğini oluşur. Yapılandırma güvenlikten ziyade kolay gelişime yönelik olduğundan, MediaWiki-Vagrant herkese açık vikiler için önerilmez.

MediaWiki-Vagrant'ın oluşturduğu sanal makine, MediaWiki'nin kodunu öğrenmeyi, değiştirmeyi ve geliştirmeyi kolaylaştırır: varsayılan olarak kullanışlı hata ayıklama bilgileri görüntülenir ve güçlü bir hata ayıklayıcı da dahil olmak üzere MediaWiki kodunu incelemek ve etkileşime girmek için özel olarak çeşitli geliştirici araçları ayarlanır. En iyisi, yapılandırma otomatik olduğu ve sanal bir ortamda bulunduğu için hataların geri alınması kolaydır.

Sistem gereksinimleri

CPU
64-bit x86 işlemcisi
OS
Linux, macOS, veya Windows
Bellek
Hem ana bilgisayar işletim sistemini hem de VM'yi çalıştırmak için sisteminizde toplamda en az 4 GiB RAM, tercihen 8 GiB veya daha fazla. Sadece 2 GiB RAM ile bir sistemde çalıştırmayı denemeyin, sonunda başarısız olacaktır.
Disk
Birincil sürücüde birkaç gigabayt boş olmalıdır (/home Linux bölümü, C: Windows için sürücü). Özellikle, VM disk görüntülerinin varsayılan olarak ana dizininizde saklanacağını unutmayın.
Debian Linux güncellemelerini ve MediaWiki kaynak kodunu indirmek için yeterli bant genişliğine sahip aktif ağ bağlantısı
Kurulum saati
Koşullara ve herhangi bir sorun yaşamanıza bağlı olarak 20 dakika ila 2 saat

Hızlı başlangıç

(MediaWiki-Vagrant'ı USB dağıtımından yüklüyorsanız, ilk beş adım yerine README'deki adımları izleyin.)

  1. Git alın
  2. (Yalnızca Linux) Yüklü değilse NFS yazılımını yükleyin. Ubuntu'da sudo apt-get install nfs-kernel-server kullanın. Fedora genellikle NFS kurulu olarak gelir; değilse sudo dnf install nfs-utils çalıştırın.
  3. VirtualBox alın[1]
  4. En son Vagrant'i alın[2]
  5. Kodu alın ve makinenizi oluşturun:
    $ git clone --recursive https://gerrit.wikimedia.org/r/mediawiki/vagrant
    
    (Bu, kullanıcı ana dizininize kopyalanır.)
    $ cd vagrant
    $ ./setup.sh
    
    İstendiğinde, Gerrit kullanıcı adınızı girin (önerilir) veya sadece Enter tuşuna basın.
    En son sürüm yerine bir sürüm dalı kullanmak istiyorsanız, şimdi vagrant hiera mediawiki::branch REL1_27 ile belirtebilirsiniz.
    $ vagrant up
    
  6. Ek MediaWiki özelliklerini etkinleştirin, örn.:
    $ vagrant roles list
    $ vagrant roles enable monobook --provision
    
  7. Vagrant makinenizi yapılandırmayı tamamladığında, vagrant open komutunu verin veya MediaWiki örneğinizi bulmak için http://dev.wiki.local.wmftest.net:8080/ gidin. Admin kullanıcısı ve vagrant parolasını ile giriş yapabilirsiniz.
Varsayılan VirtualBox sağlayıcısı kullanılırsa ve ana bilgisayardaki sanal CPU sayısı 32'yi aşarsa vagrant up başarısız olur. VM'ye çekirdeklerin 32'sinden daha azını atamak için vagrant config vagrant_cores <number of cores> kullanın.
İlk vagrant up işleminin tamamlanması bir saat veya daha fazla sürebilir.
The Admin account password is not correctly set on installation as of September 2019. You will have to manually set a password by logging in with vagrant ssh and running mwscript maintenance/changePassword.php --user=Admin --password=vagrant

Windows'u çalıştırırsanız

[$Git-scm Git for Windows]'u edinin ve Git Bash kabuğunda git komutlarını çalıştırın. setup.sh yerine, cmd.exe kabuktan setup.bat çalıştırın.

Windows 10'da WSL Linux uyumlu kabuk kullanılıyorsa: komutları vagrant yerine vagrant.exe ile çalıştırın.Linux bash kabuğunda çalışmayan ./setup.bat yerine vagrant.exe config --cired komutunu çalıştırın.

Vagrant'ı çalıştıran hesabın muhtemelen "Sembolik Bağlantılar Oluştur" iznine (yönetici olarak çalıştırmanın kolay yolu) ihtiyacı olacaktır.

Başlangıç sorunlarını giderme

Sorunlarınız burada yanıtlanmazsa, IRC iyi bir seçenektir, özellikle de #wikimedia-tech bağlan kanalı.

  • Bazen bozuk yüklemeleri (örneğin "Viki bulunamadı...” diyerek vagrant destroy; vagrant up komutunu çalıştırarak sanal makineyi en çok zaman harcamadan yeniden oluşturarak düzeltebilirsiniz.

Herhangi bir ana bilgisayar

  • Linux dağıtımınızın sağladığı VirtualBox ve Vagrant sürümlerini kurmayı deneyebilirsiniz. Son Debian veya Ubuntu çalıştırıyorsanız, VirtualBox ve Vagrant için paketleri yüklemek üzere sudo apt-get install virtualbox vagrant deneyin.
  • vagrant up üzerinden hata alırsanız, bunun yerine VirtualBox ve Vagrant'ın en son sürümlerini yükleyin.
  • "$CLONED_REPOSITORY/trusty-cloud dosyası açılamadı" gibi bir hata mesajı alıyorsanız, aşağıdaki komutu deneyin: vagrant up --provider=virtualbox
  • Kukla hatalarınız varsa, kukla alt modüllerini başlatmanız gerekebilir, vagrant dizininde git submodule update --init çalıştırın
    • Error: Puppet::Parser::AST::Resource failed with error ArgumentError: Could not find declared class
  • Apache/PHP'nin çalışıp çalışmadığını kontrol etmek için http://127.0.0.1:8080/info.php kullanın.

Terminalinizdeki ilk vagrant up çalışmasının çıkışını bu örnek ile karşılaştırmak isteyebilirsiniz. İlk kurulum uzun sürebilir; bir yere asılıyor gibi görünüyor, ancak hata yoksa, sadece bir süre verin.

  • VirtualBox Guest Additions'ınızın yanlış sürüm olduğuna dair uyarılar alırsanız, bunları otomatik olarak güncelleyen vagrant-vbguest eklentisini yüklemeyi deneyebilirsiniz.
  • Vagrant sanal makinenizle eşleşmeyi nadiren kaybeder. Bu iletiyi, bu soruna geçici bir çözüm bulmak için bazı yolları açıklar (örneğin, eski VM sabit sürücüsünü yeni profile bağlama)
  • vagrant/mediawiki deposunun güncel olduğundan emin olun:
$ cd vagrant/mediawiki
$ git pull
  • BIOS'ta sanallaştırmayı etkinleştirdiğinizden emin olun. Bazen bu Güvenlik ayarları altındadır.
  • Dil kodlama ayarlarınızın UTF-8 olduğundan emin olun. "US-ASCII'de geçersiz bayt dizisi" alırsanız, LANG ve LC_ALL ortam değişkenlerinizi uygun bir şeye ayarlamayı (yeniden) deneyin.

Örneğin:

export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
Eski VM'leri sildiyseniz "...path contains non-directory or non-existent components..." gibi bir hata mesajı görürsünüz ve vagrant up tamamlanmaz. NFS kullanıyorsanız (Windows olmayan bir ana bilgisayar işletim sisteminde), $export komutunu kaldırarak bunu düzeltebilmeniz gerekir: sudo rm -i /etc/exports girin Vagrant, bir sonraki çalıştırmanızda /etc/export dosyasını yeniden oluşturacak vagrant up.
MediaWiki-Vagrant, 64 bitlik bir konuk (sanal makine) belirttiği için VT-X'i desteklemeyen bir ana bilgisayarda çalışmaz. MediaWiki-Vagrant'ın 64 bitlik bir sanal makinede çalışması gerekiyor, çünkü yalnızca amd64 mimarisi için oluşturulan WMF üretiminden deb paketleri kullanıyor.

Windows'a özgü

  • Windows kullanıyorsanız ve "konuk makine geçersiz bir duruma girdi", "poweroff" alırsanız, 4.3.15 VirtualBox derlemesini indirmeyi deneyin (Windows'ta 4.3.14 ile ilgili bilinen bir sorun var). Bu yardımcı olmazsa, BIOS'ta Donanım Sanallaştırma Teknolojisini (VT-x veya AMD-V) etkinleştirdiğinizden emin olun. Donanım Sanallaştırması gerekiyor. İsteğe bağlı bir performans geliştirmesi değildir. (Bazı dizüstü bilgisayarlar güç kablosunu ve pili 30 saniye [1] için çıkarmanızı gerektirir)
  • VirtualBox, Microsoft'un Hyper-V'si ile uyumsuz. Visual Studio yüklediyseniz varsayılan olabilecek Hyper-V etkinleştirilmişse, VirtualBox'da bir VM'yi başlatmaya çalışırken yukarıdaki hataları alırsınız. Üç olasılık vardır:
    • Komut isteminde Hyper-V'yi kapatmak ve yeniden başlatmak için bcdedit /hypervisorlaunchtype ayarını kapatın komutunu çalıştırın. Hyper-V'yi tekrar açmak için kapalı yerine otomatik olarak ayarlayın
    • Denetim Masası'ndaki 'Windows Özellikleri Ekle/Kaldır' ile Hyper-V'yi devre dışı bırakın ve yeniden başlatın. Bu, VirtualBox'ın çalışmasını sağlar, ancak Windows Phone emülatörleri gibi tüm Hyper-V VM'lerini kullanmanızı önler.
    • veya Vagrant için VirtualBox yerine Hyper-V sağlayıcısı kullanın. Bu kararsız olabilir.

Mac'a özgü

  • NFS hataları NFS hatalarını önlemek için, yüklerken güvenlik duvarının bağlantıları kabul edeceğinden emin olun: Apple > Sistem Tercihleri > Güvenlik ve Gizlilik > Güvenlik Duvarı > Güvenlik Duvarı Seçenekleri. Aşağıdakileri kabul etmek için "Tüm gelen bağlantıları engelle"'nin işaretini kaldırmanız ve muhtemelen "Gizli modu etkinleştir" seçeneğinin işaretini kaldırmanız gerekir: netbiosd, nfsd, rpc.lockd, rpc.rquotad, rpcbind, VBoxHeadless. Bir kaç vagrant up sırasında bilgisayarınızı yeniden başlatmanız ve durumu "Gelen bağlantılara izin ver" olarak değiştirmeniz gerekebilir. Kurulumdan sonra, güvenlik duvarı kuralları güncellendiğinden "Gelen tüm bağlantıları engelle ve "Gizli modu etkinleştir"'i tekrar kontrol edebilirsiniz.
    • Alternatif olarak NFS paylaşımlarını vagrant config nfs_shares off ile kapatabilirsiniz

Debian ve Ubuntu

  • MediaWiki-Vagrant, bazı klasörleri ana bilgisayarla (bilgisayarınız) paylaşmak için NFS kullanır. Bilgisayarınızı "NFS sunucusu" olarak ayarlamanız gerekir, Ubuntu talimatlarına bakın. Debian'da, sudo apt-get install nfs-kernel-server çalışacaktır; modprobe nfsv3 de kullanmanız gerekebilir. Debian'ın NFS sunucusunun /etc/exports içine giriş yapılmadan başlamayacağını unutmayın. sudo rpcinfo -p "nfs" hizmetlerinin çalıştığını göstermiyorsa, muhtemelen olan budur. Ana dizininizi /etc/exports da son satır olarak eklemek ve ardından /etc/init.d/nfs-kernel-server restart sizi almak için genellikle yeterli olacaktır bu tavuk ve yumurta sorununu aştı.
  • MediaWiki-Vagrant tarafından kullanılan NFS paylaşımları, Ubuntu üzerinde çalışıyor ve şifrelenmiş bir giriş dizini kullanıyorsanız olduğu gibi şifreli bir dizinden çalıştırılamaz. MediaWiki-Vagrant'ı çalıştırmak için:
    • vagrant up çalıştırmadan önce MediaWiki-Vagrant dizinini parola edilmemiş bir birime (örn. /opt) taşıyın
    • Alternatif olarak NFS paylaşımlarını vagrant config nfs_shares off ile kapatabilirsiniz
  • NFS kurulumu bazen takılıyor gibi görünüyor (ilk vagrant up "NFS paylaşılan klasörlerini bağlama" bölümünde asılı duruyor). Ana bilgisayarda NFS arka plan programının yeniden başlatılması yardımcı olur. (#5802 sayfasına bakın.)
  • Bağlantı noktalarının kullanımda olduğunu belirten bağlantı noktası yönlendirme hataları alıyorsanız, sanal kutuyu açmanız, sanal makineyi tamamen kaldırmanız ve tekrar denemeniz gerekebilir.

Fedora

  • Network 10.11.12.13 is not available. vagrant up çalıştırdıktan sonra, sudo setenforce 0 aracılığıyla SELinux'u devre dışı bırakın veya SELinux kurulumunuzu düzeltin.
  • The provider for this Vagrant-managed machine is reporting that it is not yet ready for SSH., vagrant roles enable mediawiki --provision ile çalıştırdıktan sonra, açıkça belirttiğinizden emin olun sağlayıcıyı, örneğin vagrant destroy ve ardından vagrant up --provider=virtualbox ile ayarlayın
  • mount.nfs: mount to NFS server '10.11.12.13:download-directory/vagrant' failed: RPC Error: Unable to receive alırsanız, vagrant config nfs_shares çalıştırın

Temel kullanım

 
Ekran görüntüsü

Ana makinedeki vagrant komut satırı aracı, sanal makinenizi kontrol etmek için çeşitli alt komutlar sağlar. Zaten bir tane kullandınız: sanal makineyi açan vagrant up. Çoğu vagrant alt komutu gibi, MediaWiki-Vagrant dizininden veya alt öğelerinden birinden çalıştırmanız gerekir. İlk kez çalıştırdığınızda, Vagrant bir sistem görüntüsü alır ve MediaWiki'yi çalıştırmak için gerekli yazılımı kurar. Bu, geniş bant bağlantıda 1-2 saat CPU ve duvar saati süresi alabilir, ancak yalnızca bir kez gerçekleşmesi gerekir. Gelecekte vagrant up çalıştırdığınızda, makineyi açacaksınız.

vagrant ssh sanal makinede etkileşimli bir giriş kabuğu başlatır. Sizi vagrant kullanıcısı olarak oturum açar; root erişimi, parolasız sudo üzerinden kullanılabilir. Sanal makine tamamen bilgisayarınızda korumalı olduğundan, güvenlik için değil kolaylık için yapılandırılmıştır. Kural olarak, bir parola istemiyle karşılaştığınızda parola vagrant olur.

Oturum açtığınızda, renkli bir MediaWiki şeridi ve birkaç yararlı komut hatırlatıcısı görmelisiniz.

phpsh komutu, MediaWiki'nin kod tabanı önceden yüklenmiş olarak etkileşimli bir PHP yorumlayıcısı başlatır. Bir kod yazıp 'enter' tuşuna bastığınızda kod hemen değerlendirilir. Bir çizgiyi '=' ile başlatırsanız, hesaplanan değeri güzel yazdırılır. Hızlı yardım için ? veya ek talimatlar için help start yazın.

/vagrant klasörü, ana makinenizdeki MediaWiki-Vagrant klasörüne karşılık gelir ve içeriği paylaşılır. MediaWiki'nin kodu /vagrant/mediawiki içine kurulur. Bu, sanal makinenizde çalışan MediaWiki kodunu düzenlemek için ana makinenizdeki normal düzenleyici ortamınızı kullanmanıza olanak tanır.

Güncelleme

Git depolarınızı, harici kitaplıklarınızı ve veritabanı şemanızı güncel tutmak için vagrant git-update kullanın. Bu komut çalıştırmaya eşdeğerdir

  1. git pull içinde core ve tüm uzantı ve görünüm dizinleri
  2. En yeni Composer tarafından yönetilen kitaplıkların kullanılabilir olmasını sağlamak için composer update
  3. son olarak update.php betiği.

Ayrıca zaman zaman (veya yeni bir özellik için gerektiğinde) vagrant git-update içermeyen MediaWiki-Vagrant'ın kendisini güncellemelisiniz. Şunu çalıştırın:

git pull

… MediaWiki-Vagrant kök dizininizde. Bu, çalıştırdığınızda geçerli olacaktır:

vagrant provision

Bu komutu git pull komutunu çalıştırdıktan hemen sonra veya bir süre sonra çalıştırabilirsiniz.

  Uyarı: Git'ten manüel olarak güncelleme yaparsanız, MediaWiki için gereken harici kütüphaneleri indirmek için composer update ile çalıştırmanız gerekebilir. composer update gerekip gerekmediğini görmek için checkComposerLockUpToDate.php betiğini çalıştırabilirsiniz.
Bazı projelerin NPM bağımlılıkları vardır, çoğunlukla yalnızca geliştirme amaçlıdır ve Composer tarafından yüklenmez. Bunlar yaklaşık olarak find -not \(-name node_modules -prune \) -name package.json ile tanımlanabilir ve bir güncelleme sonrasında npm install çalıştırılarak gerektiğinde elle yüklenebilir her dizin istedi.

logout yazarak veya CTRL+D tuşlarına basarak sanal makinenizden çıkış yapın. Artık standart bir komut istemine geri döndüğünüze göre, sanal makineyi kapatmak için vagrant halt ve yeniden getirmek için vagrant up çalıştırabilirsiniz. vagrant destroy sanal makinenin dosyalarını silecek; örneğinizi bozulmamış bir duruma döndürmek istiyorsanız bu komut yararlıdır. (Yeni bir örnek sunmak için vagrant up ile devam etmeniz gerekir.)

Rolleri kullanma

MediaWiki-Vagrant varsayılan olarak temel bir MediaWiki örneği oluşturur, ancak bazı popüler MediaWiki uzantıları ve bağımlılıkları da dahil olmak üzere bir dizi tamamlayıcı yazılımı nasıl yapılandıracağını da bilir. Bu isteğe bağlı yazılım yığınları topluca 'roller' olarak bilinir ve MediaWiki-Vagrant bunları yönetmek için kolay ve güçlü bir komut satırı arabirimi sunar.

$ vagrant roles list
# Kullanılabilir rollerin bir listesini görüntüler.

$ vagrant roles enable role
# Bu makine için rolü açın.

$ vagrant roles disable role
# Bu makine için rolü kapatın.

$ vagrant provision
# Rolleri etkinleştirmeyi ve/veya devre dışı bırakmayı tamamladıktan sonra, değişikliğin geçerli olması için bunu çalıştırın.

Rollerin nasıl kullanılacağını gösteren kısa bir screencast izleyin. Roller bazı roller hakkında daha fazla bilgiye sahiptir.

Çok sayıda rol eklerseniz, Vagrant VM'nin kullanabileceği belleği artırmanız gerekebilir. Özellikle, "tarayıcı testleri" rolünü ayarlamak, belleğe aç bir görev olan ffi, ruby Gem'in derlenmesini içerir; başarısız olursa sanal makinede bellek boşaltmayı veya bellek ayırmayı artırmayı deneyin (hata 53864).

MediaWiki-Vagrant'a rol eklemek istiyorsanız aşağıdaki Yazarlık rolleri bölümüne bakın.

Belirli rollerle ilgili sorunları giderme

centralauth

Özel dikkat gerektiren bazı roller vardır, centralauth rolü db geçişlerini kukla yoluyla otomatik olarak çalıştırmaz ve bunları elle çalıştırmayı gerektirir. Bu rolü sağlama konusunda hata alırsanız, uzantıda bu komut dosyasını çalıştırmayı ve çıktısını aldığınız hataları görmeyi deneyin:

mwscript extensions/CentralAuth/maintenance/migrateAccount.php --username 'Admin' --auto

Daha somut bir hata aldığınızda, muhtemelen buradaki göçlerden kaçınmanız gerektiğini bilmeniz gerekir:

extensions/CentralAuth/db_patches

wikidata

Basit bir vagrant roles enable wikidata && vagrant provision başarısız olmasını sağlar. İşte Vikiveri rolünü çalışır hale getirmek için eksiksiz bir komut seti.

 $ 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

Vagrant'tan oturumu kapatın, sonra mutlu bir şekilde çalıştırabilirsiniz:

 $ vagrant roles enable wikidata
 $ vagrant provision

İlk hükmün şikayette bulunabileceğini, dolayısıyla bir başarısızlığa benzediğini unutmayın. Ancak, ikinci bir hüküm yürütürseniz, her şeyin yolunda gittiğini göreceksiniz.

Daha sonra tarayıcınızı http://wikidata.wiki.local.wmftest.net:8080/ ile yönlendirebilirsiniz. Yeni bir Vikiveri öğesi oluşturmak için http://wikidata.wiki.local.wmftest.net:8080/wiki/Special:NewItem yükleyin ve yeni bir özellik oluşturmak için http://wikidata.wiki.local.wmftest.net:8080/wiki/Special:NewProperty adresine gidin

Bir Vikiveri dökümü nasıl alınır

imports an XML file into MediaWiki Vagrant komutu import-dump, varsayılandan farklı vikileri işlemez (phab:T183274#3893785 sayfasına bakın).

Vagrant kutusunun içindeki importDump.php betiğini çalıştırmanız gerekir.

İşte XML dökümlerini içe aktarma prosedürü.

 $ mkdir wikidata_dumps
 $ cd wikidata_dumps
  • pages-articles parçalarını indirin. Örneğin:
 $ wget https://dumps.wikimedia.org/wikidatawiki/latest/wikidatawiki-latest-pages-articles10.xml-p5264684p6341661.bz2
  • Wikibase varlıklarının içe aktarılmasını etkinleştirin (phab:T72898#1588002 sayfasına bakın). $Localsettings öğenize aşağıdaki satırı ekleyin:
 $wgWBRepoSettings['allowEntityImport'] = true;
  • Aşağıdaki BASH betiği işlemi izlemenize yardımcı olabilir. Bir import_wikidata.sh dosyasına yapıştırabilirsiniz. Vurgulanan satırın gerçek içe aktarma komut dosyasını çağırdığını unutmayın:
#!/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
  • Vagrant kutusuna giriş yapın ve betiği çalıştırın. Hata ayıklama iletileri burada görünmelidir:
 $ vagrant ssh
 $ cd /vagrant
 $ sudo chmod +x import_wikidata.sh
 $ ./import_wikidata.sh 
  • İlerleme günlüğünü Vagrant kutusunun dışından takip edebilirsiniz:
 $ tail -f wd_import.log

Ek öneriler

Yerel MediaWiki çekirdek kopyası

Bazen vagrant dizininin tamamını kaldırarak veya vagrant/mediawiki dizinini temizleyerek sıfırdan başlamak isteyebilirsiniz. Vagrant provizyon işlemini hızlandırmak için, vagrant/mediawiki içine kopyaladığınız MediaWiki çekirdeğinin yerel, güncellenmiş bir klonunu tutmayı düşünebilirsiniz.

örneğin, MediaWiki depolarını ~/projects/mediawiki/ içine kopyaladığınızı varsayarsak:

# MediaWiki çekirdeğinin temiz bir kopyasını kopyalayın ve ~/projects/mediawiki/core dizininde saklayın
cd ~/projects/mediawiki/
git clone ssh://<your-gerrit-username>@gerrit.wikimedia.org:29418/mediawiki/core

# ~/projects/mediawiki/vagrant içindeki vagrant'ın temiz bir kopyasını kopyalayın
cd ~/projects/mediawiki
git clone ssh://<your-gerrit-username>@gerrit.wikimedia.org:29418/mediawiki/vagrant

# yoksa mediawiki alt dizinini oluşturun
cd ~/projects/mediawiki/vagrant
mkdir ~/projects/mediawiki/vagrant/mediawiki

# temiz MediaWiki çekirdeğini temiz vagrant/mediawiki dizinine kopyalayın
cp -r ~/projects/mediawiki/core/ ~/projects/mediawiki/vagrant/mediawiki

Klonlanmış depoları güncelleyin

Klonlanmış depoları olabildiğince sık/gerekli şekilde güncelleyin.

cd ~/projects/mediawiki/core
git pull

cd ~/projects/mediawiki/vagrant
git pull
git submodule update --init --recursive

Veya tüm klonlanmış depoları güncellemek için:

vagrant git-update

Vagrant yeniden yüklemesi

Yapılandırmayı değiştirirseniz (örn. vagrant_ram, VM/MediaWiki web siteniz donar veya bir sorun yaşarsanız, vagrant reload bunu çözebilir. Bu, konakınıza yeniden başlatacaktır. Bazı roller, otomatik olarak gerçekleşmesi gereken bir yeniden yükleme gerektirir.

Roller ne zaman etkinleştirilir

Rolleri yalnızca ilk vagrant up başarıyla çalıştırdıktan sonra etkinleştirin.

vagrant destroy etkin rolleri sıfırlamayacağını unutmayın. vagrant destroy çalıştırdıktan sonra tüm rolleri devre dışı bıraktığınızdan emin olun, sonra vagrant up çalıştırın. Ardından, rolleri yeniden etkinleştirebilir ve vagrant provision çalıştırabilirsiniz.

Proxy arkasındaki Vagrant

Bir proxy'nin arkasındaysanız, Vagrant bazı hataları atabilir. vagrant-proxyconf yükleyebilirsiniz. Sanal makinenizin belirtilen proxy'leri kullanmasına izin veren bir eklentidir. Bu hızlı bir kurulum kılavuzudur. Ayrıntılı belgelendirme için burayı kontrol edebilirsiniz.

Eklentiyi yükleyin:

vagrant plugin install vagrant-proxyconf

Tüm vagrant VM'lerde tüm yazılımlar için proxy ayarlarını yapılandırmak için aşağıdaki $VAGRANT_HOME/Vagrantfile ekleyin (varsayılan ~/.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
  # ... other stuff
end

Adresleri proxy sunucunuzun ip ve bağlantı noktası numarasıyla değiştirin. Proxy'yi atlamak isteyebileceğiniz tüm siteleri/alanları listelemek için config.proxy.no_proxy seçeneğini kullanın. Örneğin,

config.proxy.no_proxy = "localhost,127.0.0.1,.example.com,.someinternaldomain.com"

Şimdi bir vagrant up çalıştırdığınızda herhangi bir uyarı olmamalıdır.

Eklentiyi devre dışı bırakmak için config.proxy.enabled öğesini false veya boş dize ("") olarak ayarlayın. Belirli uygulamalar için de devre dışı bırakabilirsiniz. Örneğin,

config.proxy.enabled         # => tüm uygulamalar etkin (varsayılan)
config.proxy.enabled = true  # => tüm uygulamalar etkin
config.proxy.enabled = { svn: false, docker: false }
                             # => belirli uygulamalar devre dışı
config.proxy.enabled = ""    # => tüm uygulamalar devre dışı
config.proxy.enabled = false # => tüm uygulamalar devre dışı

MediaWiki-Vagrant hazırlığı

MediaWiki-Vagrant yüklemesi için bir dizin hazırlamak üzere mw-vagrant-prep gibi bir kabuk betiği kullanmayı düşünebilirsiniz.

Hata ayıklama

Hazırlama

Hazırlama işleminde hata ayıklayarak çalıştırabilirsiniz.

PUPPET_DEBUG=1 vagrant provision

PHP

PHP'de Xdebug ile hata ayıklayabilirsiniz. PHP'de hata ayıklama diğer istemci tarafı hata ayıklamadan farklıdır. IDE'niz gelen bağlantıları dinler ve sunucuya bir tarayıcı ile eriştiğinizde, özel bir başlık PHP'ye IDE'nize bağlanmasını söyler. Daha fazla bilgi için MediaWiki-Vagrant/Advanced usage#MediaWiki debugging using Xdebug and an IDE in your host konusuna bakın.

Chrome

  • Chrome kullanıcıları için XDebug Yardımcısı ve isteğe bağlı olarak Önbellek Temizleme, HTTP üstbilgileri ve Mod Üstbilgileri almanız gerekir. Silindikten sonra otomatik olarak yeniden yüklenecek açık önbelleği yapılandırın ve klavye kısayollarını ayarlayın (örn. Temizleme ve yeniden yükleme için Ctrl+R, XDebugger'ı açmak/kapatmak için Ctrl+Shift+D)

Firefox

  • Firefox kullanıcıları easy Xdebug'a göz atmalıdır.
  • Makinenize xdebug uyumlu IDE yükleyin ve yapılandırın (Eclipse, PhpStorm, Emacs, vb.)
  • IDE'de, gelen hata ayıklama bağlantısını dinlemeye başlayın
  • IDE'de, kırılma noktasını ilginizi çeken noktaya ayarlayın
  • Tarayıcıda XDebug'u etkinleştirin ve vagrant kurulumunuza gidin (http://127.0.0.1:8080/...)

Günlük dosyaları

Mediawiki günlükleri /vagrant/logs içinde bulunabilir. /var/log/apache2/ içinde Apache için günlük dosyaları var, ancak yazılmamış gibi görünüyorlar. MySQL sorgu günlüğü bir istemcide SET GLOBAL general_log = 'ON'; vererek ve sonra /var/lib/mysql/*.log ile bakarak elde edilebilir.

Birim testlerini çalıştırma ve hata ayıklama

TÜM uzantıları PHPUnit testlerini çalıştırmak için:

$ vagrant ssh
$ cd /vagrant/mediawiki
$ sudo -u www-data php tests/phpunit/phpunit.php --wiki wiki

Tek bir uzantı için birim testleri çalıştırmak için:

$ sudo -u www-data env "PHP_IDE_CONFIG=serverName=mwvagrant" "CIRRUS_REBUILD_FIXTURES=yes" "XDEBUG_CONFIG=idekey=netbeans-xdebug" php tests/phpunit/phpunit.php --wiki=wiki --stop-on-failure --stop-on-error extensions/ExtensionName/tests/phpunit/

path/to/tests/to/run yolunu ekleyebilirsiniz.

Bazı testler kilit dosyaları oluşturmak için uygun kullanıcı olarak çalışmayı gerektirebilir ve bu nedenle bu komut web isteklerini işleyen "kullanıcı" www-data olarak çalışır.

Kapsam raporları oluşturmak için Manual:PHP birim testi/Kod kapsamı#MediaWiki-Vagrant sayfasına bakın.

Phpunit testlerinde hata ayıklama biraz daha karmaşıktır. Bu yöntem biraz hileli, ancak uzaktan yorumlayıcıda hata ayıklama iyileşene kadar kullanılabilir (örn. PhpStorm 8 EAP'de). Bu geçici çözüm, tarayıcıdan MediaWiki birim sınamalarını çalıştırmanıza olanak tanır.

  • phpunit.phar dosyasını vagrant dizininizin köküne indirin.
  • mediawiki dizininin kökünde bir php dosyası unittest.php oluşturun. Bu dosyayı depoya teslim etmeyin. Aşağıdaki kodu içine yapıştırın:
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);
  • Yukarıdaki dosyada, argv parametresini test dosyanızın adına değiştirin
  • Apache, mediawiki dizininin kökünü /w ile eşler. Bu dosyayı çalıştırmak için http://127.0.0.1:8080/w/unittest.php adresine gidin
  • Hata ayıklayıcınızı eklemek için #Hata ayıklama talimatlarını izleyin

Tarayıcı testlerini çalıştırma

Manual:JavaScript unit testing sayfasına bakın.

Bu bağlantı, kullanımdan kaldırılmış belgelere işaret ediyor, MediaWiki'yi test etme hakkında daha fazla bilgi sahibi olan biri şunları güncellemeli: Quality_Assurance/Browser_testing/Running_tests#Running_VisualEditor_browser_tests_via_Vagrant

Taahhütleri push yapımı

Geliştirme için MediaWiki-Vagrant kullanıyorsanız, git review kullanarak bazı taahhütleri MediaWiki çekirdeğine veya bir uzantının deposuna göndermek isteyebilirsiniz. Varsayılan olarak, tüm uzağı https:// URL'leri gösterir. Bunu duruma göre geçersiz kılmaktan kaçınmak için şunu çalıştırın:

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

Ayrıca ssh anahtarlarınızı ~/.ssh içinde bulundurmanız gerekir.

Ben...

PHP sürümünü ve ayarlarını nasıl kontrol edebilirim?
http://127.0.0.1:8080/info.php
Nasıl LocalSettings.php düzenleyebilirim?
İlk olarak, ihtiyacınız olanı zaten yapan bir rol (vagrant vagrant list-roles) olup olmadığını kontrol edin. Değilse, ayarlar.d / dizininde bir dosya oluşturun. README ve 00-debug.php-example dosyalarına bakın.
Nasıl MediaWiki kodu güncelleyebilirim?
En kolayı ana bilgisayardan vagrant git-update kullanmaktır. Veya kodu bağımlılık olmadan güncellemek için vagrant/mediawiki içinde normal git fetch, pull vb. komutları vagrant/mediawiki/extensions/SomeExtension dizinleri kullanabilirsiniz. Bu komutları sanal makinede çalıştırabilirsiniz, ancak ana makinede dosya erişimi daha hızlı olacaktır. MediaWiki-Vagrant, bir rol ayarladığınızda ve/veya bir rol eklediğinizde git master'dan kod alır, ancak bundan sonra kodu otomatik olarak güncellemez.
Nasıl MediaWiki PHP yorumlayıcısını çalıştırırım?
ssh to vagrant ve mwscript eval.php komutunu çalıştırın. sudo ile çalıştırmanız gerekebilir.
Nasıl MediaWiki SQL yorumlayıcısını çalıştırırım?
ssh to vagrant ve mwscript sql.php komutunu çalıştırın. sudo ile çalıştırmanız gerekebilir.
Nasıl Sanal makine yazılım paketleri güncelleyebilirim?
vagrant provision, VM'deki sistem paketlerini güncellemez. Vagrant ssh ile bağlandığınızda, giriş mesajı size şunları bildirecektir:
NN paketleri güncellenebilir.
NN güncellemeleri güvenlik güncellemeleridir.

Vagrant ssh içinde:
  • tüm paketleri güncellemek için sudo apt-get update && sudo apt-get upgrade girin
  • Cloud VPS örneklerine benzer şekilde "güvenlik (ve diğer) yükseltmelerin otomatik kurulumu" için sudo unattended-upgrade
  • üretim WMF sunucularında olan aynı paketlere güncelleme yapmak için...
Nasıl Vagrant'ı özelleştirebilirim?
Vagrantfile'i asla doğrudan değiştirmenize gerek yoktur. Vagrant'ın özelleştirebileceğiniz birkaç yönü vardır:
  • Çekirdek ayarları (git kullanıcısı, bağlantı noktaları, ram, ip, bağlantı noktası yönlendirme) .settings.yaml dosyası aracılığıyla özelleştirilebilir. Talimatlar için vagrant config --help ve vagrant forward-port --help bakın. Örneğin, host:1234 ile guest:80 bağlantı noktası yönlendirmeyi etkinleştirmek için vagrant forward-port 1234 80 çalıştırabilirsiniz.
  • Vagrantfile yüklendikten sonra Vagrantfile-extra.rb adlı bir dosya oluşturarak ve Vagrantfile ile aynı klasöre yerleştirerek ek adımlar uygulayın - otomatik olarak yüklenecektir. Çakışma durumunda, 'ekstra' dosyasındaki değerler bu dosyadaki değerlerin yerine geçer. Destek/dizin içindeki örneğe bakın.
Nasıl özel Kukla kodu ekleyebilirim?
Kendi MediaWiki sitenizde yerel olarak çalışmak ve MediaWiki-Vagrant'ın bağımlılıklarınızı sizin için yüklemesine izin vermek istiyorsanız, bu idealdir. Kendi forkunuz varsa idealdir. Bir rol ile bu kullanım durumu arasında bir ayrım vardır. Roller herhangi bir sırayla ve kırılmadan monte edilmek içindir. Forkunuzun farklı çağrılara ihtiyacı varsa ve rollerle ilgili sorun yaşıyorsanız, kendi sınıfınızı oluşturun ve roller de dahil olmak üzere ihtiyacınız olanı arayın.
Bunu yapmak için, özel kukla kodunuzu puppet/modules/local/manifests/myown.pp içine kendi sınıfınızla yerleştirin, örneğin:
class local::myown {
    include ::role::svg
}

Sınıfınızı uygulamak için, puppet/hieradata/local.yaml içinde "classes" anahtarına ekleyin. Dosyayı yoksa oluşturabilirsiniz.

classes:
  - local::myown

Ardından, değişikliği Kukla ile uygulamak için vagrant provision çalıştırın.

Nasıl MediaWiki-Vagrant'ın kendisini güncelleyebilirim?
(Örneğin, yeni roller kullanmak için.) Terminalde, ana bilgisayardaki vagrant dizinine geçin ve git pull --ff-only gibi normal bir git komutu girin. Sanal makinenize yeni kukla değişiklikleri uygulamak için güncelleme yaptıktan sonra genellikle vagrant provision çalıştırmak isteyeceksiniz.
Nasıl sanal makinede GUI uygulamaları çalıştırırım?
Yüklü bir X sunucunuz varsa, X iletmeyi etkinleştirmek için ssh -- -X kullanarak sanal makineye SSH yükleyin. (Mac kullanıcıları XQuartz'ın en son sürümüne güncelleme yapmalıdır.)
Alternatif olarak, sanal makineyi fiziksel bir ekrana sahipmiş gibi VM ile etkileşime girmenizi sağlayan GUI modunda çalıştırabilirsiniz. GUI modunu etkinleştirmek için, kök veri havuzu klasöründe Vagrantfile-extra.rb adlı bir dosya oluşturun; içeriği şu şekildedir:
Vagrant.configure('2') do |config|
    config.vm.provider :virtualbox do |vb|
        vb.gui = true
    end
end
Dosyayı kaydedin ve vagrant halt ardından vagrant up komutunu çalıştırın. Sanal makinenin ekranı masaüstünüzdeki bir pencerede görünecektir.
Nasıl Sanal Makineye ayrılan kaynaklar ayarlanmalıyım?
VM'ye daha fazla veya daha az CPU/RAM ayırmak isterseniz, talimatlar için vagrant config --help bakın.

Alternatif olarak, Vagrantfile-extra.rb dosyasını oluşturarak da yapabilirsiniz (örnek için support/dir adresine bakın):

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
Nasıl Git taahhüt mesajları için kullanılan düzenleyiciyi değiştiririm?
git config --global core.editor "vim"
Nasıl özel bir anasistem adı oluştururum?

Horizon'a gidin, Web Proxy'leri seçin ve bir DNS ana bilgisayar adı girin, <hostname> yazın Yeni vikinizi "http://<hostname>/wiki/" adresinde görüntüleyin

Nasıl özel ana bilgisayar adını, viki ana sayfası yerine vagrant rolümün ana sayfasına yönlendiririm?

/vagrant/puppet/hieradata dizininde bir local.yaml dosyası oluşturun. İçine şunu ekleyin:

<rolename>::vhost_name:<hostname>
role::mediawiki::hostname: localhost

vagrant provision çalıştırın.

Nasıl master dışında bir MediaWiki dalı mı çalıştırıyoruz?
"mediawiki::branch" anahtarını puppet/hieradata/local.yaml içinde ayarlayın. Dosyayı yoksa oluşturabilirsiniz.
mediawiki::branch: "wmf/1.24/wmf18"
Bu değişiklik vagrant up ile ilk kez çalıştırmadan ÖNCE yapılmalıdır. Daha sonra yapmaya karar verirseniz, değişikliği yapın, mevcut VM'nizi vagrant destroy -f ile kaldırın, mevcut mediawiki ödünüzü silin ve son olarak vagrant up kaldırın.
Vagrant, ana dal ile çalışacak şekilde tasarlanmıştır ve mükemmel çalışmayabilir veya çekirdek ve / veya uzantıların eski sürümleriyle çalışmayabilir[3].

Gelişmiş kullanım

MediaWiki ayarları

Tüm MediaWiki ayarlarını tek bir büyük LocalSettings.php dosyasında yönetmeye alternatif olarak, yapılandırmalarınızı bileşen veya temaya göre gruplandırmayı ve <code settings.d/ her grup için altında ayrı bir PHP dosyası oluşturmayı düşünün. Bu, ayarlarınızı düzenli tutmanızı, belirli yapılandırmaları geçici olarak devre dışı bırakmanızı ve ayarları başkalarıyla paylaşmanızı oldukça kolaylaştırır.

MediaWiki, tüm PHP dosyalarını $code içinde otomatik olarak sözcük sırasına göre yükleyecektir. Her dosya adına iki basamaklı bir önek ekleme alışkanlığını benimseyerek yapılandırmalarınızın ayarlanma sırasını kontrol edebilirsiniz.

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 settings.d/ 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.

Örneğin:

    settings.d/
    ├── 10-RunFirst.php
    ├── 20-SomeExtension.php
    └── 99-RunLast.php

settings.d/puppet-managed içindeki ayar dosyalarının Kukla yapılandırmanıza yanıt olarak otomatik olarak oluşturulduğunu ve imha edildiğini unutmayın. Özel ayarlarınızı oraya koymayın, çünkü Kukla bunları siler veya geçersiz kılar. Özel ayar dosyalarınızı bunun yerine settings.d/ konumunda tutun.

Vagrant işaretleri

vagrant config --list geçerli Vagrant işaretlerinin bir listesini görüntüler.

İlk ./setup.sh sonra, vagrant dizininizde, yapılandırma listesinde görünen vagrant bayraklarından birini, ör. vagrant config nfs_shares no

İş kuyruğu

Şş kuyruğunu çalkalaması gereken bir şeyi test ediyorsanız, iş koşucularının sayısını artırmanız gerekebilir. Şu anda bu, LocalSettings.php aracılığıyla mevcut değildir, ancak iş kuyruğu için yapılandırma dosyasında ayarlanmalıdır.

  1. puppet/modules/mediawiki/templates/jobrunner.json.erb açın
  2. 'runners' anahtarının değerini 1 yerine istediğiniz değere değiştirin (örneğin, 4)
  3. vagrant --provision ile yeniden sağlama
  4. Bu kodunuzdaki git master'dan bir fark olacağını unutmayın

Uygun şekilde yukarıdaki CPU çekirdek sayısını ayarlamak için talimatlara bakın (video kod dönüştürme gibi CPU'ya bağlı görevler için şiddetle önerilir).

Ek depolama alanı

Varsayılan olarak, VM içindeki kök bölümünde nispeten az boş alan vardır. Büyük resim ve video dosyalarının yüklenmesini ve işlenmesini test etmeyi planlıyorsanız, bu yetersiz olabilir.

Manüel adımlar:

  • VM'yi kapatın (vagrant halt)
  • VirtualBox Yöneticisini Açın
  • VM'yi seçin ve Ayarlar'a gidin
    • Depolama altında, "Controller: SATA" seçin ve "Add hard disk" simgesini tıklayın.
    • Varsayılan disk görüntüsü türünü seçin.
    • Diske 'VagrantImageSpace' veya benzeri bir ad verin ve yeterli alan verin (örneğin, 80 GB) - varsayılan olarak dosya küçük başlayacak ve gerçek kullanıma genişleyecektir, bu yüzden ihtiyacınız olduğu kadar alan verin
    • İletişim kutularını kapatın ve VM'yi yeniden başlatın (vagrant up)
  • Terminalin içine bir kabuk almak için vagrant ssh komutunu çalıştırın
    • Yeni bölümler ayarlamak için sudo fdisk/dev/sdb komutunu çalıştırın...
    • n, p, 1 tıklayın ve varsayılan boyut için iki kez basın (girin)
    • Bölümleme tablosunu kaydetmek için w yazın
  • Dosya sistemini oluşturmak için sudo mke2fs/dev/sdb1 çalıştırın
  • Bağlar listesini düzenlemek için sudo vi/etc/fstab komutunu çalıştırın
    • Sonuna satır ekle: /dev/sdb1 /srv/images ext4 errors=remount-ro 0 2
    • kaydedin
  • Dosya sistemini bağlamak için sudo mount/srv/images komutunu çalıştırın
  • Dosya izinlerini ayarlamak için sudo chown www-data:www-data /srv/images komutunu çalıştırın
  • exit kabuğundan çık
  • VM'yi yeniden başlatın (vagrant halt; vagrant up)

Yazma rolleri

MediaWiki-Vagrant tarafından oluşturulan sanal makine Wikimedia'nın üretim ortamına kilit açıdan benziyor ve Wikimedia'nın teknik operasyon ekibinin üretim sunucularını yönetmek için kullandığı Puppet aynı aracı kullanıyor ve Wikimedia Cloud VPS örnekleri. Kukla, yazılım yapılandırmalarını bildirici bir şekilde ifade etmek için alana özel bir dil sağlayan bir yapılandırma yönetimi aracıdır. Kukla kodu içeren dosyalara 'manifests' denir. Kukla çalıştığında, beslediğiniz manifestleri yorumlar ve makineyi buna göre yapılandırır. Bir Vagrant rolü, bir Kukla tezahürleri kümesidir.

MediaWiki-Vagrant'ın Kukla kod tabanı, MediaWiki uzantılarının ve ilgili yazılımların yapılandırmasını otomatikleştirmeyi kolaylaştıran soyutlamalar içerir. MediaWiki ile ilgili bir yazılım projesi üzerinde çalışan bir geliştiriciyseniz, projeniz için bir Kukla rolü olan bir yama göndermeniz önerilir. Projeniz için bir Vagrant rolü eklemek, diğer geliştiricilerin çalışmalarınızı kontrol etmelerini kolaylaştırır. Projeniz için bir geliştirme sanal alanı olarak yönetilen bir sanal makineyi kullanmak, genellikle uyumsuz ortamlarda çalışan coğrafi olarak uzak geliştiricilerden kaynaklanan "makinemde çalışır" hatalarını azaltır.

Özel rolleri kullanmaya başlamanın en kolay yolu, mevcut rollerin puppet/modules/role/manifests/*.pp içinde nasıl uygulandığına bakmaktır. Bu roller puppet/modules (genellikle foo::bar { ... }, puppet/modules/foo/manifests/bar.pp çağrısına dönüşür) içindeki Kukla modüllerine bağlıdır ve diğer puppet/modules/role/*/rolename/ dizinlerindeki dosyaları ve şablonları kullanır. Kukla kodu genellikle iyi belgelenmiştir ve uygun kullanımını gösteren örnekler içermektedir.

Daha kullanışlı kukla modüllerinden bazıları:

Cloud VPS'de örnek oluşturma

MediaWiki'yi bir Wikimedia Cloud VPS örneği üzerine kurmak ve içindeki MediaWiki-Vagrant rollerini etkinleştirmek için Cloud VPS'de MediaWiki-Vagrant kullanabilirsiniz.

Hatalar

MediaWiki-Vagrant'ta bir hata tespit ederseniz, lütfen bildirin. Öncelikle, GitHub'da Vagrant sorun izleyicisini ve VirtualBox hata izleyicisini arayarak hatanın bilinen bir Vagrant veya VirtualBox hatası olmadığından emin olun. Değilse, devam edin ve hatayı Wikimedia Phabricator'a gönderin. Sorunu açık bir şekilde tanımlayın ve mümkünse yeniden oluşturma adımları ekleyin.

Bağlantılar

Notlar

  1. Fedora kullanıyorsanız, Oracle'ın talimatlarına uymayın. Bunun yerine, RPMfusion depolarını etkinleştirin (örneğin, Uygulayıcının yapılandırması yoluyla), ardından sudo dnf install VirtualBox VirtualBox-kmodsrc akmod-VirtualBox kmod-VirtualBox çalıştırın (not: büyük/küçük harfe duyarlı ve bazen sürüme duyarlı! Paketi bulamazsanız, bunun yerine Apper'da arama yapın.) Alternatif olarak bu kılavuzu takip edebilirsiniz. Çekirdeğinizin çok yeni olmasıyla ilgili bir hata alabilirsiniz. Bunu yaparsanız, akmods-VirtualBox yükleyin ve modülün derlendiğinden emin olmak için sudo akmods çalıştırın.
  2. If you are on Ubuntu 16.04, do not install Vagrant using apt-get. Instead, download it on the Vagrant web site. Using the version from APT will cause setup.sh to fail. On Fedora, you can run sudo dnf install vagrant instead.
  3. MediaWiki 1.21+ sürümüne bağımlı