LARAVEL KURULUMU

PHP framework (anaçatı) denilince son zamanlarda ilk akla gelen kararlı yapısı ve hızı ile şüphesiz ki Laravel‘dir. Bu nedendir ki yapılan anketlerde 2014 ve 2015’in en çok kullanılan ve beğenilen anaçatısı olarak seçilmiştir. Benim de uygulamalarımı geliştirirken kullandığım Laravel’in kurulumunu ve tabi Laravel için gerekli Composer kurulumunu bazı püf noktaları ile beraber bu yazıda bulabilirsiniz.

Composer Kurulumu

Öncelikle kullanmış olduğumuz Linux dağıtımının terminalini açarak aşağıdaki komutu çalıştırıyoruz.

Bu kod ile Composer kurulmuş olacak ve /home/kullanıcı dizininizde .composer isimli klasör ortaya çıkacaktır. Buradaki püf nokta kurulumu sudo komutu ile yaptığımız için .composer klasörünün sahibi root olacaktır. Bu da sonraki aşamalarda Laravel’i kurarken (cache oluşturmada) sorun çıkartmaktadır. Bu sorunu çözmek için .composer klasörünün sahibini ve grubunu şu komut ile doğru şekilde ayarlayabilirsiniz.

Laravel Kurulumu

Laravel kurulumuna geçmeden önce bir püf noktayı belirtmekte fayda var. Kuruluma geçmeden önce mutlaka document root klasörüne yani websitenizin dosyalarının bulunduğu klasöre geçiniz. Benim için bu klasör

Aşağıdaki komutları sıra ile girerek Laravel için gerekli paketleri indiriyoruz.

Laravel ile yeni bir projeyi (mesela proje ismimiz YakuterCMS olsun) şu komuta ile kuruyoruz.

Not 1: Farklı Linux dağıtımlarında klasör yapısı da değişebiliyor. Bu nedenle yukarıdaki komutu çalıştırdıktan sonra -bash: laravel: command not found bir hata mesajı alıyorsanız şu komutu çalıştırdıktan sonra tekrar yukarıdaki komutu deneyiniz.

Not2: Eğer burada [RuntimeException] The Zip PHP extension is not installed. Please install it and try again. gibi bir hata alırsanız aşağıdaki komut ile PHP için gerekli paketi kurabilirsiniz.

Not3: Eğer burada …the requested PHP extension mbstring is missing from your system. gibi bir hata alırsanız aşağıdaki komut ile PHP için gerekli mbstring paketini kurabilirsiniz.

Laravel’i kurmakla kurulum henüz tamamlanmış olmuyor. Bazı dosya ve klasörlere gerekli izinler verilmeli. Bunu da laravel proje klasörünün içinde şu komutları sırasıyla girerek yapabilirsiniz.

Artık kurulumumuz tamamlandı. Tarayıcınızda http://localhost/YakuterCMS/public/ adresine girdiğinizde LARAVEL yazısını görüyorsanız kurulum sorunsuz tamamlanmıştır.

Püf Nokta: Diyelim ki her şeyi sorunsuz yaptığınızı düşünüyorsunuz ancak yine de LARAVEL yazısını göremiyorsunuz. O zaman php hata gösterimini aktif hale getirerek hatayı görebilir ve ona göre çözüm üretebilirsiniz. PHP hata gösterimini kullandığımız projede açmak için en kısa yol laravel proje klasörünüzün içinde /app/Http/routes.php dosyasını açıp aşağıdaki kodu dosyanın sonuna eklemek

Böylece hataları görebilirsiniz ancak daha detaylı bir hata gösterimi için php.ini dosyanızdaki display_errors değerini aşağıdaki gibi ayarlamanız gerekmektedir.

Laravel kurulumu ile ilgili söyleyeceklerim bu kadar. Unutmadan şunu da eklemeliyim ki kurulum tamamlandıktan sonra proje klasörünüzdeki .env dosyanızı projenize göre düzenlemelisiniz. Kurulumla ilgili yaşadığınız sıkıntıları yorumlarınızda paylaşırsanız yine yardımcı olmaya çalışırım.

Sevgiler, saygılar…

DEVAMINI OKUYUN
  • Çok faydalı bir yazı olmuş,laravel hızlı ve stabil kod yapısı ile en iyi php frameworklerinden.İlk başta zor gelebiliyor,başlangıç düzeyi olan arkadaşlar rbPHP ve fat free fw kullanabilirler..

  • emre0066

    Erhan Bey merhaba. Local’de çalıştığım laravel 5.3 sürümü ile geliştirdiğim projemi yayına almak istiyorum. Fakat ben şimdiye kadar sadece shared hosting hizmeti kullandım. VDS veya Dedicated sunucuların kullanımı hakkında en ufak bir bilgi sahibi değilim. Bir sunucu üzerinde çalışmayı öğrenmek için nereden başlamalıyım nasıl ilerlemeliyim bana bir yol veya kaynak gösterirseniz çok memnun olurum.

    Aklımdaki bazı sorulardan kısaca bahsetmek isterim. Şu an günlük 4000 kullanıcının ziyaret ettiği kendim kodladığım php mysql üzerinde çalışan bir sitem var. Onunla birlikte bu yukarıda bahsettiğim Laravel projem olacak ve kısa zamanda günlük 5000 kişiye ulaşmayı hedefliyorum. Sitelerimde resim ve video kullanmıyorum. Acaba 1 cpu 2gb ram bir VDS benim işimi görür mü? Dedicated başlangıç için pahalı ve VPS’de ayrılan ram ve işlemci diğer sanal sunularla paylaştırıldığı için VDS kullanmaya karar verdim sizce iyi yapmışmıyım?

    Bunun dışında VDS’yi kiraladıktan sonra ne yapmam gerekiyor? İşletim sistemi olarak ne kullanmam gerekir? CentOS ücretsiz sanırım bu benim işimi görür mü?

    Eğer bir panel lisansı satın alırsam ve kurdurursam artık VDS yönetimi shared hosting yönetimi gibi kolaylaşır mı? Her işimi o panelden görebilir miyim? Şuana kadar hep cPanel kullandım; fakat aylık lisans ücreti pahalı gibi. Pleks panel işimi görür mü? Ya da hiç panel kullanmadan sunucuyu yönetmeyi öğrenebilir miyim acaba?

    Son olarak sunucuya Apache, PHP, MYSQL kurulumu da mı benden sorumlu? Bunları nasıl yapacağım? Eğer bu konular ile ilgili bildiğiniz türkçe veya ingilizce kaynaklar varsa gerçekten çok memnun olurum. Buraya kadar sabredip okuduğunuz için teşekkür ederim. İyi çalışmalar.

    • Emre Bey merhabalar. Öyle bir soru sordunuz ki buradan kısa bir cevap vermek istemedim ve bu konuda uzunca bir yazı yazdım. Şimdilik özelden size atıyorum. Sanırım yakında da birkaç revizyondan sonra yayınlarım :)

  • emre0066

    Erhan Bey tekrardan merhaba. Yazınızı keyifle okudum. Bu kadar detaylı ve bilgilendirici bir cevap yazdığınız için çok teşekkür ederim. Yazı uzun olunca sakin bir kafayla okumak istedim. Yoğunluktan anca vakit bulabildim. Yoksa cevabını aldı ortalıktan kayboldu gibi anlaşılmasın :)

    Proje çaplı ilk websitemi kurduğumda Türkiye lokasyonlu bir hosting hizmeti alıyordum; fakat anlık kullanıcı sayısı daha 12’ye ulaştığında sitede kapanmalar başladı. Sebebi tahmin edeceğiniz gibi bir hosting hesabı sistem kaynaklarının en fazla %25’i kullanabilir kuralı. Başka Türk firmalarda da benzer sorunlar yaşayınca Amerika’daki bir firma ile çalışmaya başladım. Şimdi ise mevcut projemde domain değişikliğine gideceğim ve içerik anlamında da köklü iyileştirmeler yapacağım. Bunları yaparken sitemi Türkiye’deki kullanıcılara hem daha hızlı erişilebilir yapmak için ve hem de SEO amaçlı olarak bu mevcut projemi Türkiye lokasyonuna taşımaya karar verdim.

    Son bir haftadır Türkiye lokasyonlu sunucu çeşitlerini araştırıyorum. Açıkçası bulut paketler başlangıç için gözüme biraz pahalı görünmüştü. Ben de VDS ile yola başlama kararı almıştım; fakat önerdiğiniz Vargonen’i inceleyince kararım değişti ve büyük ihtimal ben de bu firma ile çalışacağım.

    Aklımda bir kaç tane soru işareti daha kaldı. Müsadenizle onları da sormak isterim.

    1. İlk olarak bu bulut sisteminin sanallaştırılması VDS gibi değil mi? Bana ayrılan CPU ve RAM’i kullanmasam bile kullanıma hazır olarak bekletiliyor başkası tarafından kullanılmıyor?

    2. Digitalocean’da işin içinden çıkamazsan bir tuşla sunucuyu yeniden kurabilirsiniz demişsiniz bu özellik Vargonen’de de mevcut mu? Bulut sistemler hakkında bir bilgim yok ama VDS’nin yeniden kurulumu için ekstra ücret talep eden firmalar görmüştüm.

    3. Panel konusunda Centos Web Panel’in Centos’un geliştiricileri tarafından geliştirildiğini öğrenmiştim ve bu paneli kullanmayı düşünüyordum. Siz de VestaCP kullandığınızı söyleyince arada kaldım. Panel seçerken CPU ve RAM tüketimi dışında özellikle dikkat etmemiz gereken bir şeyler var mı acaba?

    4. Panellerden birini kurduğum taktirde LAMP sistemini kurmamıza gerek kalmıyor mu? Apache, PHP, ve MySQL bu panelle birlikte kuruluyor mu?

    5. Kurmak istediğim laravel sisteminin bazı ihtiyaç duyduğu gereksinimler var. Sitelerinde yayınlamışlar.

    – PHP >= 5.6.4
    – OpenSSL PHP Extension
    – PDO PHP Extension
    – Mbstring PHP Extension
    – Tokenizer PHP Extension
    – XML PHP Extension

    Bunlar eğer panel kullanacaksam kuracağım panelle birlikte gelen kullanmayacaksam da kuracağım LAMP sistemi ile gelen özellikler değil mi? Bir firmaya sizin bulut sunucunuz bunları destekliyor mu ya da sunucuya Laravel kurulabilir mi sorusu anlamsız olur öyle değil mi?

    6. Mevcut sitemin özel IP, diğer siteleriminde ikinci bir IP adresini ortak olarak kullanmalarını istiyorum. Bunu panel üzerinden yapabilir miyim acaba? Yoksa meşakatli bir iş midir bu?

    7. Özel IP’ye sahip sitemin SSL ile sertifikalanmasının kolay olacağını düşünüyorum. SNI teknolojisi ile de ortak IP adrese sahip sitelerin sertifikalabileceğini öğrenmiştim. Bu SNI teknolojisi yine benim kuracağım panelle mi alakalı yoksa sunucusunun kendisiyle mi alakalı acaba?

    Bu yorumum diğerinden de uzun oldu :D Ayırdığınız vakit için şimdiden çok teşekkür ederim. İyi çalışmalar.

  • Merhaba Emre Bey, elimden geldiğince cevaplamaya çalışayım.

    1. Bu sorunun yanıtını tam olarak bilemiyorum. Vargonen’den bir yetkilinin cevap yazmasını umuyorum :)

    2. Vargonen’de de sunucuyu rahatlıkla sıfırlayabilirsiniz. Tek fark Digitalocean’da bu işin otomasyona dönüşmüş olmasıdır. Vargonen’de ise 24 saat karşınızda bir müşteri temsilcisi var zaten. Müşteri temsilcisine isteğinizi iletiyorsunuz, o formatlayıp, dilediğiniz dağıtımı kurup size teslim ediyor Cloud sunucuyu.

    3. CentOS Web Panel, CentOS’un son sürümü (7) ile uyumlu değildi. Şuan güncellediler mi bilmiyorum. Bir de birkaç deneme yapmama rağmen sağlıklı çalışmadı CWP, bu yüzden de soğudum. Ancak çok iyi bir alternatif olduğunu söyleyen ciddi bir kitle var.

    4. Paneller kurulurkern Apache, MySQL, PHP, FTP, DNS, Email Sunucusu başta olmak üzere gerekli tüm bileşenleri kuruyorlar. Hatta siz önden Apache kurmuş olsanız bile panel önce bu apache’yi kaldırıp sonra kendisi kuruyor.

    5. Paneller ile birlikte bu ihtiyaçlarınız büyük oranda kurulacaktır. Ancak diyelim ki bir PHP bileşeni eksik kaldı. Sunucu zaten elinizin altında. Manuel olarak da SSH ile bağlanıp, mesela CentOS’ta PDO’yu şu komutla kurabiliyorsunuz

    # pecl install pdo

    Doğal olarak dediğiniz gibi firmaya sormanın anlamı yok çünkü artık sunucunun neyi destekleyip neyi desteklemediği sizin elinizde. Tam kontrol durumu yani ;)

    6. Tüm panellerde IP yönetimi kolaydır çünkü hepsi DNS sunucusu ile birlikte kurulurlar. Fakat şu var ki sunucunuzda sabit bir IP her zaman vardır ve istediğiniz kadar siteyi bu IP üzerinde barındırabilirsiniz. Ancak sipariş aşamasında sunucunuza birden çok sabit IP bağlanmasını talep edebilirsiniz. Elbette bir fiyat farkı olacaktır. Fakat böylece sunucunuzun 2 tane sabit IP’si olur. Bir tanesini esas siteniz için kullanırsınız SEO açısından. Diğeriyle de isterseniz hosting şirketi kurun, hosting dağıtın. (Düşünmedim değil :) )

    7. Bu soru için de pasaparola Vargonen diyorum.

    Umarım yanıtlayabilmişimdir.

  • emre0066

    Verdiğiniz cevaplar çok teşekkür ederim. Kafamdaki bir çok soru işaretini giderdim. Kalanları da firma ile çözerim diye umuyorum artık :)

    Yarın ilk işim sunucumu kiralayıp bir yerden başlamak olacak. Her şeyin üstesinden gelip sitemi yayına aldığım gün size de haber edeceğim. Şimdilik benden bu kadar. Görüşmek üzere.

    • Merakla bekliyorum Cloud dan yayın yapmanızı :)

  • Mehmet Çınar

    Erhan bey selamlar,

    Laravel ile yazılmış bir scripti, https geçirmek istiyoruz ancak form olan sayfalarda butonlar çalışmıyor yani giriş yap butonu etkisiz eleman oluyor.

    Yazılım geliştirici değilim ancak yazılımcıya ulaşamıyoruz bilginiz varsa yardımcı olurmusunuz ?

    Teşekkürler.