MediaWiki-Vagrant/tr





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.
 * Ağ: 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   kullanın. Fedora genellikle NFS kurulu olarak gelir; değilse   çalıştırın.
 * 3) VirtualBox alın
 * 4) En son Vagrant'i alın
 * 5) Kodu alın ve makinenizi oluşturun:
 * (Bu, kullanıcı ana dizininize kopyalanır.)
 * İ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  ile belirtebilirsiniz.
 * 1) Ek MediaWiki özelliklerini etkinleştirin, örn.:
 * 2) Vagrant makinenizi yapılandırmayı tamamladığında,   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.
 * 1) Ek MediaWiki özelliklerini etkinleştirin, örn.:
 * 2) Vagrant makinenizi yapılandırmayı tamamladığında,   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.
 * 1) Vagrant makinenizi yapılandırmayı tamamladığında,   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.
 * 1) Vagrant makinenizi yapılandırmayı tamamladığında,   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.

Windows'u çalıştırırsanız
[$Git-scm Git for Windows]'u edinin ve Git Bash kabuğunda  komutlarını çalıştırın. yerine,  kabuktan   çalıştırın.

Windows 10'da WSL Linux uyumlu kabuk kullanılıyorsa: komutları  yerine   ile çalıştırın.Linux bash kabuğunda çalışmayan   yerine   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 kanalı.


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

Herhangi bir ana bilgisayar
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.
 * 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
 * Apache/PHP'nin çalışıp çalışmadığını kontrol etmek için http://127.0.0.1:8080/info.php kullanın.
 * Apache/PHP'nin çalışıp çalışmadığını kontrol etmek için http://127.0.0.1:8080/info.php kullanın.
 * 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)
 * deposunun güncel olduğundan emin olun:
 * 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:

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 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ç  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ı  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;  de kullanmanız gerekebilir. Debian'ın NFS sunucusunun   içine giriş yapılmadan başlamayacağını unutmayın.   "nfs" hizmetlerinin çalıştığını göstermiyorsa, muhtemelen olan budur. Ana dizininizi   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:
 * çalıştırmadan önce MediaWiki-Vagrant dizinini parola edilmemiş bir birime (örn. ) taşıyın
 * Alternatif olarak NFS paylaşımlarını  ile kapatabilirsiniz
 * NFS kurulumu bazen takılıyor gibi görünüyor (ilk  "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.  çalıştırdıktan sonra,   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.,  ile çalıştırdıktan sonra, açıkça belirttiğinizden emin olun sağlayıcıyı, örneğin   ve ardından   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,  çalıştırın

Temel kullanım
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   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.

klasörü, ana makinenizdeki MediaWiki-Vagrant klasörüne karşılık gelir ve içeriği paylaşılır. MediaWiki'nin kodu  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   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   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:

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

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

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


 * 1) Kullanılabilir rollerin bir listesini görüntüler.

 $ vagrant roles enable role


 * 1) Bu makine için rolü açın.

 $ vagrant roles disable role


 * 1) Bu makine için rolü kapatın.

 $ vagrant provision


 * 1) 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, ruby Gem'in derlenmesini içerir; başarısız olursa sanal makinede bellek boşaltmayı veya bellek ayırmayı artırmayı deneyin.

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

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  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
Vagrant komutu, varsayılandan farklı vikileri işlemez (T183274 sayfasına bakın). Vagrant kutusunun içindeki  betiğini çalıştırmanız gerekir.

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

$ mkdir wikidata_dumps $ cd wikidata_dumps $ wget https://dumps.wikimedia.org/wikidatawiki/latest/wikidatawiki-latest-pages-articles10.xml-p5264684p6341661.bz2 $wgWBRepoSettings['allowEntityImport'] = true;
 * parçalarını indirin. Örneğin:
 * Wikibase varlıklarının içe aktarılmasını etkinleştirin (T72898 sayfasına bakın). $Localsettings öğenize aşağıdaki satırı ekleyin:
 * Aşağıdaki BASH betiği işlemi izlemenize yardımcı olabilir. Bir  dosyasına yapıştırabilirsiniz. Vurgulanan satırın gerçek içe aktarma komut dosyasını çağırdığını unutmayın:

$ vagrant ssh $ cd /vagrant $ sudo chmod +x import_wikidata.sh $ ./import_wikidata.sh   $ tail -f wd_import.log
 * Vagrant kutusuna giriş yapın ve betiği çalıştırın. Hata ayıklama iletileri burada görünmelidir:
 * İlerleme günlüğünü Vagrant kutusunun dışından takip edebilirsiniz:

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:

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

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

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:

Tüm vagrant VM'lerde tüm yazılımlar için proxy ayarlarını yapılandırmak için aşağıdaki  ekleyin (varsayılan  ).

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,

Ş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,

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.

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

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 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ı testlerini çalıştırmak için:

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

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ı"  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.
 * dizininin kökünde bir php dosyası  oluşturun. Bu dosyayı depoya teslim etmeyin. Aşağıdaki kodu içine yapıştırın:


 * Yukarıdaki dosyada, argv parametresini test dosyanızın adına değiştirin
 * Apache, mediawiki dizininin kökünü  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
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:

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ğı  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:// @gerrit.wikimedia.org:29418/".insteadOf "https://gerrit.wikimedia.org/r/"

Ayrıca ssh anahtarlarınızı  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,  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  kullanmaktır. Veya kodu bağımlılık olmadan güncellemek için   içinde normal git ,   vb. komutları   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?
 * ve  komutunu çalıştırın.   ile çalıştırmanız gerekebilir.


 * Nasıl MediaWiki SQL yorumlayıcısını çalıştırırım?
 * ve  komutunu çalıştırın.   ile çalıştırmanız gerekebilir.

''NN paketleri güncellenebilir. NN güncellemeleri güvenlik güncellemeleridir.'' Vagrant ssh içinde:
 * Nasıl Sanal makine yazılım paketleri güncelleyebilirim?
 * , VM'deki sistem paketlerini güncellemez. Vagrant ssh ile bağlandığınızda, giriş mesajı size şunları bildirecektir:
 * tüm paketleri güncellemek için  girin
 * Cloud VPS örneklerine benzer şekilde "güvenlik (ve diğer) yükseltmelerin otomatik kurulumu" için
 * ü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  ve   bakın. Örneğin, host:1234 ile guest:80 bağlantı noktası yönlendirmeyi etkinleştirmek için   ç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  içine kendi sınıfınızla yerleştirin, örneğin:

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

Ardından, değişikliği Kukla ile uygulamak için  ç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  gibi normal bir git komutu girin. Sanal makinenize yeni kukla değişiklikleri uygulamak için güncelleme yaptıktan sonra genellikle   ç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  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  adlı bir dosya oluşturun; içeriği şu şekildedir:


 * Dosyayı kaydedin ve  ardından   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  bakın.

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


 * Nasıl Git taahhüt mesajları için kullanılan düzenleyiciyi değiştiririm?


 * Nasıl özel bir anasistem adı oluştururum?
 * Horizon'a gidin, Web Proxy'leri seçin ve bir DNS ana bilgisayar adı girin, yazın

Yeni vikinizi " http:// /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:

çalıştırın.


 * Nasıl master dışında bir MediaWiki dalı mı çalıştırıyoruz?
 * "" anahtarını  içinde ayarlayın. Dosyayı yoksa oluşturabilirsiniz.

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

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

İlk  sonra, vagrant dizininizde, yapılandırma listesinde görünen vagrant bayraklarından birini, ör.

İş 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)   açın
 * 2) ' ' anahtarının değerini   yerine istediğiniz değere değiştirin (örneğin,  )
 * 3)   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
 * 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
 * Terminalin içine bir kabuk almak için  komutunu çalıştırın
 * Yeni bölümler ayarlamak için  komutunu çalıştırın...
 * ,,   tıklayın ve varsayılan boyut için iki kez basın (girin)
 * Bölümleme tablosunu kaydetmek için  yazın
 * Dosya sistemini oluşturmak için  çalıştırın
 * Bağlar listesini düzenlemek için  komutunu çalıştırın
 * Sonuna satır ekle:
 * kaydedin
 * Dosya sistemini bağlamak için  komutunu çalıştırın
 * Dosya izinlerini ayarlamak için  komutunu çalıştırın
 * kabuğundan çık
 * VM'yi yeniden başlatın

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  içinde nasıl uygulandığına bakmaktır. Bu roller  (genellikle ,   çağrısına dönüşür) içindeki Kukla modüllerine bağlıdır ve diğer   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ı:
 * mediawiki::extension: bir uzantı yükle ve yapılandır (örnek)
 * mediawiki::import::text: vikide bir belgelendirme veya test sayfası oluşturun (örnek: deklarasyon, sayfa)
 * mediawiki::import::dump: bir viki dökümü içe aktarın (örnek)
 * require_package: bir sistem paketi kurun (örnek)
 * exec: kabuk komutu yürütün (örnek)

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

 * Ohloh'daki proje sayfası
 * GitHub'da MediaWiki-Vagrant
 * Phabricator'da sorun izleyici
 * Ubuntu'da hızlı başlatma için gerekli Bash komutları
 * Ubuntu'da hızlı başlatma için gerekli Bash komutları