LARAVEL
Laravel Homestead
- Giriş
- Kurulum ve Kurulum
- Günlük Kullanım
- Ağ Arayüzleri
- Çiftlik evi güncelleniyor
- Eski Sürümler
- Sağlayıcıya Özgü Ayarlar
Giriş
Laravel, yerel kalkınma ortamınız da dahil olmak üzere tüm PHP geliştirme deneyimini keyifli hale getirmeye çalışmaktadır. Vagrant , Sanal Makineleri yönetmek ve sağlamak için basit ve şık bir yol sağlar.
Laravel Homestead, yerel makinenize PHP, web sunucusu ve başka herhangi bir sunucu yazılımı yüklemenizi gerektirmeden size mükemmel bir geliştirme ortamı sağlayan resmi ve önceden paketlenmiş bir Vagrant kutusu. İşletim sisteminizi karıştırmak için endişelenmenize gerek yok! Vagrant kutuları tamamen atılabilir. Bir şeyler ters giderirse, kutuyu yokedip birkaç dakika içinde yeniden oluşturabilirsiniz!
Homestead herhangi bir Windows, Mac veya Linux sisteminde çalışır ve Nginx web sunucusu, PHP 7.1, MySQL, Postgres, Redis, Memcached, Düğüm ve şaşırtıcı Laravel uygulamaları geliştirmek için ihtiyacınız olan diğer tüm hediyeler içerir.
Dahil Edilen Yazılım
- Ubuntu 16.04
- Git
- PHP 7.1
- Nginx
- MySQL
- MariaDB
- Sqlite3
- Postgres
- Besteci
- Düğüm (İplik, Bower, Grunt ve Gulp ile)
- Redis
- Memcached
- Beanstalkd
- Mailhog
- Ngrok
Kurulum ve Kurulum
İlk adım
Senin Homestead ortamı başlatmadan önce, yüklemelisiniz VirtualBox 5.1 , VMWare veya Parallels yanı sıra serseri . Tüm bu yazılım paketleri, tüm popüler işletim sistemleri için kullanımı kolay görsel yükleyiciler sağlar.
VMware sağlayıcısını kullanmak için hem VMware Fusion / Workstation hem de VMware Vagrant eklentisini satın almanız gerekecektir . Ücretsiz olmasa da, VMware kutudan çıkarılarak daha hızlı paylaşılan klasör performansı sağlayabilir.
Parallels sağlayıcısını kullanmak için, Parallels Vagrant eklentisini kurmanız gerekir . Ücretsizdir.
Homestead Vagrant Kutusunu Takma
VirtualBox / VMware ve Vagrant yüklendikten sonra terminalinizde aşağıdaki komutu kullanarak kutuyu Vagrant yüklemenize eklemelisiniz. İnternet bağlantı hızınıza bağlı olarak kutuyu indirmek birkaç dakika sürecektir:laravel/homestead
vagrant box add laravel/homestead
Bu komut başarısız olursa, Vagrant yüklemenizin güncel olduğundan emin olun.
Homestead'ı yükleme
Homestead'i sadece depoyu kopyalayarak yükleyebilirsiniz. Homestead
Homestead kutusu Laravel projelerinin tümünün ev sahipliği yapacağı için, depoyu "ev" dizininizdeki bir klasöre kopyalamanızı düşünün.
cd ~
git clone https://github.com/laravel/homestead.git Homestead
master
Şube her zaman istikrarlı olmayabileceğinden, Homestead'in etiketlenmiş bir sürümünü kontrol etmelisiniz . En kararlı sürümü Github Yayın Sayfasında bulabilirsiniz :
cd Homestead
// Clone the desired release...
git checkout v4.0.5
Homestead deposunu kopyaladıktan sonra, yapılandırma dosyasını oluşturmak için Homestead dizininden komutu çalıştırın. Dosya Homestead dizininde yer alacak:bash init.sh
Homestead.yaml
Homestead.yaml
// Mac / Linux...
bash init.sh
// Windows...
init.bat
Çiftlik Evini Yapılandırma
Sağlayıcınızı Ayarlama
provider
Senin anahtar dosyası Serseri sağlayıcı kullanılması gerektiğini belirtir: , , , veya . Bunu tercih ettiğiniz sağlayıcıya ayarlayabilirsiniz:Homestead.yaml
virtualbox
vmware_fusion
vmware_workstation
parallels
provider: virtualbox
Paylaşılan Klasörlerin Yapılandırılması
folders
Mülkiyet dosyası size Homestead çevre ile paylaşmak isteyen tüm klasörler listelenir. Bu klasörlerdeki dosyalar değiştirildiğinde, yerel makineniz ile Homestead ortamı arasında eşit tutulacaktır. Gerekli sayıda paylaşım klasörü yapılandırabilirsiniz:Homestead.yaml
folders:
- map: ~/Code
to: /home/vagrant/Code
Etkinleştirmek için NFS , sadece senkronize edilmiş klasör yapılandırması için basit bayrak ekleyin:
folders:
- map: ~/Code
to: /home/vagrant/Code
type: "nfs"
Ayrıca serseri takımından tarafından desteklenen herhangi bir seçenek geçebilir Senkronize Klasörler altında listeleyerek options
tuşu:
folders:
- map: ~/Code
to: /home/vagrant/Code
type: "rsync"
options:
rsync__args: ["--verbose", "--archive", "--delete", "-zz"]
rsync__exclude: ["node_modules"]
Nginx Sitelerini Yapılandırma
Nginx'e aşina değil misin? Sorun değil. sites
Mülkiyet kolayca Homestead çevreye bir klasöre "domain" harita sağlar. Dosyada bir örnek site yapılandırması bulunur . Yine, Homestead ortamınıza gerektiği kadar çok site ekleyebilirsiniz. Homestead, üzerinde çalıştığınız her Laravel projesi için uygun, sanal bir ortam görevi görebilir:Homestead.yaml
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
Eğer değiştirirseniz sites
Homestead kutusunu karşılığından sonra mülkü, sen yeniden çalıştırmak gerekir sanal makinede Nginx yapılandırmasını güncelleştirmek için.vagrant reload --provision
Ana Bilgisayar Dosyası
Nginx sitelerinizin "etki alanları" nı makinenizdeki hosts
dosyaya eklemelisiniz . hosts
Dosyanın Homestead makinenin içine Homestead siteleri için istekleri yönlendirir. Mac ve Linux'ta, bu dosya adresindedir . Windows'ta, adresinde bulunur . Bu dosyaya eklediğiniz satırlar aşağıdaki gibi görünecektir:/etc/hosts
C:\Windows\System32\drivers\etc\hosts
192.168.10.10 homestead.app
Listelenen IP adresinin dosyanızdaki ayarlanmış olduğundan emin olun . Alan adını dosyanıza ekledikten ve Vagrant kutusunu başlattıktan sonra siteye web tarayıcınız aracılığıyla erişebilirsiniz:Homestead.yaml
hosts
http://homestead.app
Vagrant Kutuyu Başlatmak
Eğer düzenledikten sonra beğeninize çalıştırmak için Homestead dizinden komutu. Vagrant sanal makineyi önyükleyecek ve paylaşılan klasörlerinizi ve Nginx sitelerinizi otomatik olarak yapılandıracaktır.Homestead.yaml
vagrant up
Makineyi yok etmek için, komutu kullanabilirsin.vagrant destroy --force
Proje Başına Kurulum Başına
Homestead'i tüm dünyaya yüklemek ve aynı Homestead kutusunu tüm projelerinizde paylaşmak yerine, yönettiğiniz her proje için bir Homestead örneği yapılandırmanız mümkündür. Proje başına çalışan Homestead'i yüklemek, projenizde Vagrantfile
çalışan diğer kişilere basitçe izin vererek projenizle birlikte göndermek için yararlı olabilir vagrant up
.
Homestead'i doğrudan projenize yüklemek için Besteci'yi kullanarak isteyin:
composer require laravel/homestead --dev
Homestead yüklendikten sonra, kullanmak make
oluşturmak için komut Vagrantfile
ve proje kök dosyanın. Komut otomatik yapılandıracak ve yönergelere dosyası.Homestead.yaml
make
sites
folders
Homestead.yaml
Mac / Linux:
php vendor/bin/homestead make
Windows:
vendor\\bin\\homestead make
Sonra, terminalinizdeki vagrant up
komutu çalıştırın ve tarayıcınızdaki projenize erişin. Unutmayın, yine de seçeceğiniz bir dosya girişi veya alan adı eklemeniz gerekecek.http://homestead.app
/etc/hosts
homestead.app
MariaDB'yi kurma
MySQL yerine MariaDB'yi kullanmayı tercih ederseniz, bu mariadb
seçeneği dosyanıza ekleyebilirsiniz . Bu seçenek MySQL'i kaldıracak ve MariaDB'yi kuracaktır. MariaDB, MySQL için yerinde bir yer değiştirme görevi görür; bu nedenle , uygulamanızın veritabanı yapılandırmasında veritabanı sürücüsünü kullanmalısınız:Homestead.yaml
mysql
box: laravel/homestead
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox
mariadb: true
Günlük Kullanım
Homestead'a Küresel Erişim
Bazen vagrant up
, Homestead makinenize dosya sisteminizdeki herhangi bir yerden isteyebilirsiniz. Mac / Linux sistemlerinde Bash profilinize bir Bash işlevi ekleyerek bunu yapabilirsiniz. Windows'ta bunu bir "toplu iş" dosyası ekleyerek gerçekleştirebilirsiniz PATH
. Bu komut dosyaları sisteminizdeki herhangi bir yerden herhangi bir Vagrant komutunu çalıştırmanıza izin verir ve otomatik olarak bu komutun Homestead kurulumunuza yönlendirilmesini sağlar:
Mac / Linux
function homestead() {
( cd ~/Homestead && vagrant $* )
}
Çimdik emin olun gerçek Homestead Montaj yeri ile işlevinde yolunu. İşlev yüklendikten sonra, sisteminizdeki gibi ya da herhangi bir yerden komutlar çalıştırabilirsiniz .~/Homestead
homestead up
homestead ssh
Windows
Aşağıdaki içeriklerle makinenizin herhangi bir yerinde bir toplu iş dosyası oluşturun:homestead.bat
@echo off
set cwd=%cd%
set homesteadVagrant=C:\Homestead
cd /d %homesteadVagrant% && vagrant %*
cd /d %cwd%
set cwd=
set homesteadVagrant=
Komut dosyasındaki örnek yolunu Homestead yüklemenizin gerçek konumuna göre ayarladığınızdan emin olun. Dosyayı oluşturduktan sonra dosyanın konumunu ekleyin . Ardından, sisteminizdeki herhangi bir yerden veya yerden komutlar çalıştırabilirsiniz .C:\Homestead
PATH
homestead up
homestead ssh
SSH ile Bağlantı Kurma
Sen düzenlenmek suretiyle sanal makineye SSH olabilir vagrant ssh
sizin Homestead dizinden terminali komutunu.
Ancak, muhtemelen Homestead makinenize SSH'ye sıklıkla ihtiyaç duyacaksınız, çünkü Homestead kutusuna hızlı bir şekilde SSH yapmak için yukarıda açıklanan "işlev" i ana makinenize eklemeyi düşünün.
Veritabanlarına Bağlanma
Bir homestead
veritabanı, hem MySQL hem de Postgres için kutudan çıkarılarak yapılandırılmıştır. Laravel'in .env
dosyası, bu veritabanını kutudan çıkaracak şekilde çerçeveyi yapılandırır daha da kolaylık sağlamak için.
Host makinenin Müşteri veritabanından MySQL veya Postgres veritabanına bağlanmak için, bağlanmak gerektiğini ve liman (MySQL) veya (Postgres). Her iki veritabanının kullanıcı adı ve parolası / dir .127.0.0.1
33060
54320
homestead
secret
Ana makinenizdeki veritabanlarına bağlanırken yalnızca bu standart dışı bağlantı noktalarını kullanmalısınız. Laravel çalıştığı beri Sen laravel veritabanı yapılandırma dosyasında öntanımlıyı 3306 ve 5432 portları kullanacak içinde sanal makine.
Ek Siteler Ekleme
Homestead ortamınız sağlanıp çalıştırıldıktan sonra, Laravel uygulamalarınız için ek Nginx siteleri eklemek isteyebilirsiniz. Tek bir Homestead ortamında istediğiniz kadar Laravel kurulumunu yapabilirsiniz. Ek bir site eklemek için, siteyi dosyanıza eklemeniz yeterlidir :Homestead.yaml
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
- map: another.app
to: /home/vagrant/Code/another/public
Vagrant "hosts" dosyanızı otomatik olarak yönetmiyorsa, o siteye de yeni siteyi eklemeniz gerekebilir:
192.168.10.10 homestead.app
192.168.10.10 another.app
Site eklendikten sonra, komutu Homestead dizininizden çalıştırın.vagrant reload --provision
Site Türleri
Homestead, Laravel'e dayalı olmayan projeleri kolayca çalıştırmanıza izin veren birkaç siteyi destekler. Örneğin, symfony2
site türünü kullanarak bir Symfony uygulamasını kolayca Homestead'e ekleyebiliriz :
sites:
- map: symfony2.app
to: /home/vagrant/Code/Symfony/public
type: symfony2
: Kullanılabilir site türleri şunlardır apache
, laravel
(varsayılan), proxy
, silverstripe
, statamic
, ve symfony2
.
Cron Zamanlamalarını Yapılandırma
Laravel, her dakika çalıştırılacak tek bir Esnaf komutunu planlayarak Cron işlerini zamanlamak için uygun bir yol sağlar . Komutu tanımlanan görev zamanlamasını inceleyeceğiz işler çalıştırmak gerektiğini belirlemek için sınıfa.schedule:run
schedule:run
App\Console\Kernel
Eğer isterseniz bir Homestead site için çalıştırılacak komutu, sen ayarlayabilirsiniz seçeneği sitesini tanımlarken:schedule:run
schedule
true
sites:
- map: homestead.app
to: /home/vagrant/Code/Laravel/public
schedule: true
Site için Cron işi sanal makinenin klasöründe tanımlanacaktır ./etc/cron.d
Limanlar
Varsayılan olarak, aşağıdaki bağlantı noktaları Homestead ortamınıza iletilir:
- SSH: 2222 → Forward 22
- HTTP: 8000 → Forward to 80
- HTTPS: 44300 → 443'e ilet
- MySQL: 33060 → 3306'ya doğru
- Postgres: 54320 → İleriye 5432
- Mailhog: 8025 → Forward to 8025
Ek Bağlantı Noktaları Yönlendirme
İsterseniz, Vagrant kutusuna ek bağlantı noktaları ileri götürebilir ve protokollerini belirleyebilirsiniz:
ports:
- send: 93000
to: 9300
- send: 7777
to: 777
protocol: udp
Ortamınızı Paylaşma
Bazen şu anda üzerinde çalıştığınız şeyi iş arkadaşlarınızla veya bir müşterinizle paylaşmak isteyebilirsiniz. Vagrant'ın bunu desteklemek için dahili bir yolu vardır vagrant share
; Ancak, dosyanızda yapılandırılmış birden çok siteniz varsa bu işe yaramaz .Homestead.yaml
Bu sorunu çözmek için, Homestead kendi share
komutunu içerir . Başlamak için SSH'yi Homestead makinenize bağlayın vagrant ssh
ve çalıştırın . Bu, siteyi yapılandırma dosyanızdan paylaşacaktır. Tabii ki, yapılandırılmış diğer sitelerinizden herhangi birini aşağıdakiler için değiştirebilirsiniz :share homestead.app
homestead.app
Homestead.yaml
homestead.app
share homestead.app
Komutu çalıştırdıktan sonra, etkinlik günlüğünü ve paylaşılan sitenin herkese açık URL'lerini içeren bir Ngrok ekranı görürsünüz. Özel bir bölge, alt etki alanı veya başka bir Ngrok çalışma zamanı seçeneği belirtmek isterseniz bunları komutunuza ekleyebilirsiniz share
:
share homestead.app -region=eu -subdomain=laravel
Unutmayın, Vagrant doğal olarak güvensizdir ve komutu çalıştırırken sanal makinenizi İnternet'e maruz bırakıyorsunuz
share
.
Ağ Arayüzleri
networks
Malı sizin Homestead çevre için yapılandırır ağ arayüzleri. Gerektiği kadar çok arabirim yapılandırabilirsiniz:Homestead.yaml
networks:
- type: "private_network"
ip: "192.168.10.20"
Bir etkinleştirmek için köprülü arayüzü bir yapılandırmak bridge
ayarı ve ağ türünü değiştirmek public_network
:
networks:
- type: "public_network"
ip: "192.168.10.20"
bridge: "en1: Wi-Fi (AirPort)"
Etkinleştirmek için DHCP , sadece kaldırmak ip
yapılandırmanızdan seçeneği:
networks:
- type: "public_network"
bridge: "en1: Wi-Fi (AirPort)"
Çiftlik evi güncelleniyor
Homestead'i iki basit adımda güncelleyebilirsiniz. Öncelikle, aşağıdaki vagrant box update
komutu kullanarak Vagrant kutusunu güncellemelisiniz :
vagrant box update
Sonra, Homestead kaynak kodunu güncellemeniz gerekiyor. Depoyu kopyaladıysanız git pull origin master
, ilk önce depoyu kopyaladığınız konumda olabilir.
Eğer projenizin aracılığıyla Homestead yüklediyseniz dosyası, kendi sağlamalıdır dosyayı içerir ve bağımlılıkları güncelleyin:composer.json
composer.json
"laravel/homestead": "^4"
composer update
Eski Sürümler
Dosyanıza aşağıdaki satırı ekleyerek Homestead'un kullandığı kutunun sürümünü kolayca geçersiz kılabilirsiniz :Homestead.yaml
version: 0.6.0
Bir örnek:
box: laravel/homestead
version: 0.6.0
ip: "192.168.20.20"
memory: 2048
cpus: 4
provider: virtualbox
Homestead kutusunun eski bir sürümünü kullandığınızda, Homestead kaynak kodunun uyumlu bir sürümüyle eşleştirmeniz gerekir. Aşağıda, desteklenen kutu sürümlerini, kullanılacak Homestead kaynak kodunun hangi sürümünü ve sağlanan PHP sürümünü gösteren bir çizelge verilmiştir:
Homestead Sürümü | Kutu Versiyonu | |
---|---|---|
PHP 7.0 | 3.1.0 | 0.6.0 |
PHP 7.1 | 4.0.0 | 1.0.0 |
Sağlayıcıya Özgü Ayarlar
Sanal kutu
Varsayılan olarak, Homestead natdnshostresolver
ayarı için yapılandırır on
. Bu, Homestead'ın ana işletim sisteminizin DNS ayarlarını kullanmasına izin verir. Bu davranışı geçersiz kılmak isterseniz, dosyanıza aşağıdaki satırları ekleyin:Homestead.yaml
provider: virtualbox
natdnshostresolver: off
Henüz Yorum Yapılmamış, İlk Yorumu Siz Yapın