Laravel Homestead Logo

Laravel Homestead Kurulumu ve Kullanımı

Merhaba, bu yazımda sizlere Laravel’in geliştirme ortamı Laravel Homestead’in kurulumunu ve kullanımını anlatacağım.

Laravel Homestead, yerel bilgisayarınızda PHP, Apache, Nginx, Mysql, Redis vs. kurulumu yapmanıza gerek kalmadan geliştirme yapmanızı sağlayan önceden hazırlanmış bir Vagrant paketidir. Vagrant ise, bilgisayarınızda sanal makineler oluşturmanızı sağlar.

Homestead ile işletim sistemini karıştırma, bir şeyleri bozma, ayarlarken sistemi mahvetme gibi bir derdiniz yok. Vagrant paketlerini istediğiniz gibi yok edebilir, kurabilir, düzenleyebilirsiniz.

Laravel Homestead Logo

Homestead bize hangi kurulumlar ile birlikte gelir?

  • Ubuntu 16.04
  • Git
  • PHP 7.1
  • Nginx
  • MySQL
  • MariaDB
  • Sqlite3
  • Postgres
  • Composer
  • Node (With Yarn, PM2, Bower, Grunt, and Gulp)
  • Redis
  • Memcached
  • Beanstalkd

İndirme ve Kurulum

Homestead’i ve Vagrant’ı kurmadan önce bir sanal makine sağlayıcı kurmanıza ihtiyacınız var. VMWare, Parallels ve VirtualBox seçenekler arasında. Ben Virtualbox tercih ettim, aslında zaten bilgisayarımda mevcuttu.

Virtualbox’ı indirdikten sonra bu linkten vagrant’ı indiriyoruz. Vagrant’ı kurduktan sonra terminali açıyoruz ve

vagrant add box laravel/homestead

yazıyoruz. Bu komut sorun çıkarırsa, Vagrant’ın güncel olduğundan emin olun. Daha sonra Github’tan laravel/homestead paketini indirmeniz gerekmekte.

cd ~
git clone https://github.com/laravel/homestead.git Homestead

Homestead adlı klasörün içinde

bash init.sh

Komutunu çalıştırmanız gerekmekte. Bu komut aynı dizinde Homestead.yaml isimli bir dosya üretecek.

Homestead Ayarları

Homestead.yaml dosyasında makinenizle ilgili ayarları yapabilirsiniz. Örnek dosya üzerinden giderek anlatacağım.


---
ip: "192.168.10.10"
memory: 2048
cpus: 1
provider: virtualbox

authorize: ~/.ssh/id_rsa.pub

keys:
    - ~/.ssh/id_rsa

folders:
    - map: ~/Code
      to: /home/vagrant/Code

sites:
    - map: homestead.app
      to: /home/vagrant/Code/sites/homestead_site/public
    - map: mysite.app
      to: /home/vagrant/Code/sites/mysite/public
databases:
    - homestead

# blackfire:
#     - id: foo
#       token: bar
#       client-id: foo
#       client-token: bar

# ports:
#     - send: 50000
#       to: 5000
#     - send: 7777
#       to: 777
#       protocol: udp

ip kısmında, sanal makinenin, kendi makinemiz için ip’sini belirlemiş oluyoruz. folders bölümünde ise kendi bilgisayarımızdaki hangi klasörlerin sanal makine ile paylaşımlı olacağını seçiyoruz. Kendi pc’mde home klasöründeki Code klasörü, ki terminalden ~/Code olarak çağırılır, sanal makinenin içinde /home/vagrant altında olacak.

“sites” kısmında ise, sanal makineye gelen domain requestlerin hangi klasöre yönlendirileceğini seçiyoruz. Örneğin homestead.app ile bir request geldiğinde makinemiz /home/vagrant/Code/sites/homestead_site/public klasörüne yönlenecek. Yönlendirme yapılan klasör sanal makine içindeki path’iyle girilmelidir.

Pekiyi, bu makineye sorguyu bu domain ile nasıl göndereceğim? Yani browser’dan homestead.app domainini girdiğimde nasıl sanal makineme gideceğim? Çok basit, işletim sisteminize uygun bir şekilde (linux için, /etc/hosts) hosts dosyanızı açın, içine bir satır ekleyin

192.168.10.10    homestead.app

192.168.10.10 Homestead.yaml dosyasında belirlediğimiz ve default gelen sanal makine yerel ip’si.

Hepsi bu, artık browser’ınızdan homestead.app yazarak yerel sanal makinenize ulaşabilirsiniz. Artık geliştirmenize canlı ortamda, adeta bir digitalocean droplet’inde yapıyormuş gibi devam edebilirsiniz.

Bu yazıyı paylaş

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir