03.Symfony Framework – Ön Hazırlık ve Kurulum

03.Symfony Framework – Ön Hazırlık ve Kurulum

Symfony 4.0, için bazı gereksinimleri karşılamanız gerekir. Bunlardan birincisi ve en önemlisi PHP 7.1.3 veya üstü. Test ortamınızda/bilgisayarınızda yada sunucunuzda PHP 7.1.3 kurulu olmalıdır. Eğer PHP 7.1.3 kurulu değil ise ve kurmak istiyorsanız ve de İşletim Sisteminiz de Windows ise size XamPP ı öneririm.(WamP değil!). Verdiğim linkten XamPP ın sitesine gidebilir, size uygun olan sürümü indirebilirsiniz. 23.04.2018 tarihi itibariyle XamPP ta en güncel sürüm 7.2.4 / PHP 7.2.4 sürümüdür. Ben bunu kuracağım. ( XamPP Sitesine Gitmek İçin Tıklayın ) — (Symfony Sistem Gereksinimleri Görüntülemek İçin Resmi Sitesine Bakabilirsiniz.)


Bir önce ki yazımda Symfony Framework e giriş yapmıştık. Bir web uygulaması geliştirmeden önce, bilgisayarımıza kurmamız gereken programlar hakkında kısa bilgi vermiş, size Symfony ve Symfony Dizin yapısını tanıtmıştım. Bu yazıyı okumadan önce bilgisayarınız da PHPStorm, XamPP yada türevi bir web sunucusu, Composer ve olmazsa olmaz Notepad++ ve GIT kurulu olmalı. Eğer bu programlar kurulu ve hali hazırda düzgün çalışıyor ise devam edebiliriz.


01. XamPP Sunucu Ayarları

Burada bir kaç ayar yapacağız. Öncelikle resmi büyütmek için tıklayın. Numaraları göreceksiniz.

 
1 : 1 yazan yere tıklayın, Editör yazan kısma gelin.
2 : 2 yazan yere gelin, Editör yazan kısma NotePad++ ın konumu ayarlayın. Aşağıda ki Save yazan yere tıklayın.
 

02. XamPP ve PHP Ayarları

PHP ile ilgili yapmamız gereken bir kaç ayar var. Yukarıda ki resimde 3 ile gösterilen yere tıklayın. Tıkladıktan sonra açılan listeden PHP (php.ini) yazan yere tıklayın. Böylece PHP.INI dosyası açılacak. Aşağıda verilen kısımları bulun ve aşağıda verilen şekilde değiştirin.

date.timezone = Europe/Istanbul
upload_max_filesize = 8M
max_execution_time = 30
max_input_vars = 5000
memory_limit = 512M
realpath_cache_size = 8M

 

03. XamPP ve MySQL Ayarları

MySQL yada MariaDB yi kurduğunuz da, eğer hiç bir ayar yapmazsanız, varsayılan karakter seti, latin türü olacaktır. İş işten geçtikten sonra bunu değiştirmek zahmetli olacaktır ve gereksiz vakit kaybına sebep olacaktır. Web geliştiricilerinin Symfony ile uygulama geliştirirken yaptıkları en sık hata da budur, veritabanlarında varsayılan chatset ve collaction u ayarlamayı unutmalarıdır.
Symfony ‘nin Resmi Sitesine bakarsanız eğer, size varsayılan olarak utf8mb4 kullanmanızı öneriyor. Fakat biz ayarlarımızı utf8 olarak yapacağız.


Yukarıda ki resimde 4 ile gösterilen yere tıklayın. Tıkladıktan sonra açılan listeden my.ini yazan yere tıklayın. Böylece MY.INI dosyası açılacak. MY.INI içerisinde [mysqld] ve [client] yazan satırları bulun, aşağıda verilen satırları uygun yerlere yapıştırın. İşleminiz bittiğin de aşağıda ki gibi görünmelidir.
 

[client]
default-character-set = utf8 

[mysqld]
# Version 5.5.3 introduced "utf8mb4", which is recommended
collation-server     = utf8_unicode_ci
character-set-server = utf8

 
Böylece varsayılan karakter setimizi de ayarlamış olduk. Artık Symfony i kurabiliriz.

04. Symfony Kurulumu

Biz Symfony Framework ünü Composer ile kuracağız. Burada 4 şeye karar vereceğiz.
1. Projemizin adı. Ben proje adı için Kitap dedim.

2. Projemizin Yolu. Projenizi nereye kurmak istediğimize karar vereceğiz. Benim kurulum yapacağım dizin E:\Projects. Sizde nereyi uygun görürseniz o klasöre gidin.

3. Symfony sürümü. Kısaca Symfony 3x mi kuracağız, Symfony 4x mi kuracağız?. Bu yazıyı ilk yazdığımda tüm herşeyi Symfony 3x e göre anlatmıştım. Yeni sürümde epey değişiklik var. Bizde güncel kalmak ve teknolojiyi takip edebilmek adına Symfony 4x sürümünü kuracağız.

4. Tür. Symfony de bir de Tür mü var demeyin. Bir önceki yazımda sizlere Symfony uygulama türlerinden bahsettim. Dilerseniz o yazımı okuyabilirsiniz. Biz Symfony Website Skeleton u kuracağız.


Örnek projemizi kuracağınız yere karar verdiyseniz, ve o klasöre gittiyseniz, Shift tuşuna basılı tutun, Mouse ‘un sağ tuşuna tıklayın ve “Open Command Window Here” yazan yere tıklayın. Benim işletim sistemim İngilizce, sizin Türkçe ise, “Komut Penceresini Burada Aç” gibi birşey olabilir. Buraya tıklayın ve aşağıda verdiğim kodu komut satıra yapıştırıp, Enter tuşuna basın. Böylece Symfony Framework ümüz kurulacak.


composer create-project symfony/website-skeleton Kitap

Dikkat ettiyseniz yazmanız gereken komutta Kitap diye bir kelime var. Bu bize özel. Kısaca anlamı da şu; Kitap diye bir dizin oluşturacak ve Symfony ile ilgili herşeyi bu dizinin altına atacak. Bir nevi projenizin adı gibi düşününebilirsiniz.

Yukarıda ki komutu yazıp, Enter tuşuna basarsanız eğer, composer sizi bir süre bekletecek, daha sonra da Website Skeleton için gerekli tüm uygulamaları kuracak.

05. XamPP Apache Ayarları

Aşağıda ki resim de 3 ile gösterilen yere tıklayın, açılan listeden < Browse > [Apache] yazan yere tıklayın.

Böylelikle XamPP ta Apache nin kurulduğu dizine gideceksiniz. conf diye bir dizin görmelisiniz. Bu dizinin içine girin. conf dizinin içerisinde extra adlı bir dizin daha var, bu dizinin de içerisine girin. Ulaşmak istediğimiz dosya burada httpd-vhosts.conf dosyasını NotePad++ ile açın. Dilerseniz bir yedek alın, herşeyi silin ve aşağıda ki satırları yapıştırın.



 

<VirtualHost *:80>
    ServerName symfonydemo.com
    ServerAlias www.symfonydemo.com

    DocumentRoot E:/Projects/Kitap/public
    
	<Directory E:/Projects/Kitap/public>
        AllowOverride None
        Require all granted

        <IfModule mod_rewrite.c>
            Options -MultiViews
            RewriteEngine On
            RewriteCond %{REQUEST_FILENAME} !-f
            RewriteRule ^(.*)$ index.php [QSA,L]
        </IfModule>
    </Directory>

    <Directory E:/Projects/Kitap/public/bundles>
        <IfModule mod_rewrite.c>
            RewriteEngine Off
        </IfModule>
    </Directory>
	
    ErrorLog E:/Projects/Kitap/var/log/project_error.log
    CustomLog E:/Projects/Kitap/var/log/project_access.log combined

</VirtualHost>

Bu işlemi yaptıktan sonra XamPP sunucunuzu Yeniden Başlatın. Böylece ayarlarımız aktif olacak. Çalışıyorsa durdurun, tekrar başlatın. Yukarıda ki resme bakarsanız eğer, 3 numara ile gösterilen yerin solunda Start yazan yere tıklamınız yeterli. Veritabanı sunucunuz çalışmıyor ise, aynı şekilde MySQL in karşısında ki Start yazan yere tıklayın. Her iki ibarenin(Apache ve MySQL) sağında bulunan Module kısmı Açık Yeşil’e döndüyse ve PID(s) yazan yerde rakamlar görüyorsanız, sorunsuz hallettiniz demektir.

06. Windows Host Dosyası

Yukarıda ki koda bakarsanız şöyle birşey göreceksiniz.

ServerName symfonydemo.com
ServerAlias www.symfonydemo.com

Bu iki satır için, host dosyamıza bir kayıt ekleyeceğiz. C:\Windows\System32\drivers\etc dizinine gidin ve host dosyasını açın. En alt satıra gidin ve aşağıda verdiğim kodu oraya yapıştırıp, kayıt edin.

127.0.0.1	symfonydemo.com www.symfonydemo.com

Varsayılan olarak host dosyası sistem koruması altındadır, kayıt etmek istediğiniz de, size aynı dosya üzerinde yazma hakkı vermeye bilir. Kayıt edebiliyorsanız, 07. Apache Rewrite Rules kısmına geçebilirisiniz. Ama kayıt edemez iseniz, okumaya buradan devam edin.

1- Öncelikle her ihtimale karşı bu dosyanın bir adet yedeğini alın.
2- Daha sonra Masaüstü ‘nüze bu host dosyasını kopyalayın.
3- C:\Windows\System32\drivers\etc bulunan host dosyasını silin.
4- Masaüstünüz de bulunan host dosyanızı açın. Yukarıda verdiğim satırları ekleyin, kayıt edin.
5- Masaüstünüz de bulunan ve az önce yeni satırları ekledikten sonra kayıt ettiğiniz bu dosyayı C:\Windows\System32\drivers\etc dizinine kopyalayın.

Sanırım bu şekilde yapabilirsiniz.

07. Apache Rewrite Rules.

Sondan bir önce ki adım bu. Projenizin root dizinine gidin. Benim için burası E:\Projects\Kitap dizinidir. Projenizin root dizinine gittikten sonra aşağıda verdiğim komutu çalıştırın

composer require symfony/apache-pack

Yukarıda ki komut Apache/Apache2 için htaccess dosyasını indirecek, ayarlayacak ve public dizinin altına atacak. Biz yukarıda ki komutu çalıştıracağız, gerisini Symfony halledecek.

08.Test ( Şükür Bitti 🙂 )

Kullandığınız Browser ı açın ( Firefox, Chrome Opera vs ) ve http://www.symfonydemo.com/ adresine gidin. Sizi aşağıda ki gibi bir ekran karşılarsa, herşey sorunsuz çalışıyor demektir.

09.ÖZET

Sizi yukarıda ki gibi ekran karşıladıysa, herşey sorunsuz çalışıyor, ve Symfony Framework ünü başarıyla kurup, çalıştırdınız demektir. Gördüğünüz üzere Symfony kurmak azıcık uğraştırıyor olabilir 🙂 Gerçi bir çok framework böyle, bir kaç ayar yapmalısınız. Bu yazı umarım sizin için faydalı olur. Bu yazımda ki önemli kısımlar Apache ayarları, .htaccess ve, my.ini dosyanızı güncellemek. Bunları yapmasaydıkta Symfony çalışacak idi. my.ini için yaptığımız değişikliği ise, bizzat SensioLabs öneriyor. utf8mb4 hakkında daha fazla bilgi almak için burayı Tıklaya bilirsiniz.