Ubuntu LAMP server kurulumu

LAMP, bir web sunucusunun temel bileşenleri olan Linux, Apache, Mysql ve PHP bileşenlerinin ilk harflerinden oluşan bir kısaltmadır. Linux web sunucusunun üzerinde çalıştırılacağı işletim sistemi, Apache linux işletim sisteminde çalışacak web sunucusu, Mysql web sitelerinin kullanacağı ilişkisel veri tabanı ve PHP de web sitelerinin kodlanmasında kullanılan sunucu tabanlı programlama dili olarak tanımlanabilir.

Günümüzde en çok tercih edilen Linux dağıtımı olan Ubuntu’ da lamp server ı tek bir komutla kurabilirsiniz. Bunun için konsole programını  açarak aşağıdaki komutu yazın ve çalıştırın.

[bash]sudo apt-get install lamp-server^[/bash]

Bu komutu çalıştırdıktan sonra gerekli paketler indirilecek ve kurulacaktır. Kurulum sırasında MYSQL sunucusu yetkili kullanıcısına(root) bir şifre tanımlamanızı isteyecektir.

mysqlroot

istediğiniz şifreyi yazarak enter a basın ve karşınıza gelen şifre doğrulama ekranına şifreyi  tekrar yazarak enter a basın. Şifrei tanımladıktan sonra geri kalan paketlerde kurulacak ve LAMP SERVER kurulmuş olacaktır.

Web tarayıcınızda adres çubuğuna “localhost” yazdığınızda karşınıza aşağıdaki sayfa geliyorsa apache kurulumunu z tamamlanmış demektir.

apacheiswork

Artık /var/www/html/ dizinine sitenizin dosyalarını kopyalayarak sitenizi localhost adresinde çalıştırabilirsiniz.

Devam

PHP de ”(Boşluk) ve null farkı

Bilgisayar açısından her değerin bir karşılığı vardır.Bu durumdan dolayı boş değişken diye bir değişkenden söz edildiği zaman bu değişkenin değeri null olarak tanımlanmış  demektir. Ama bir çok yazılımcı boş değişken tanımlamak istediklerinde ‘ ‘ değerini kullanılıyorlar.Bu kullanım yanlış bir kullanım şekli olmuş oluyor. bu iki değerin nasıl farklı sonuçlar verdiğini görmek için aşağıdaki kodları inceleyebilirsiniz.

[php]
$a=”;
$b=null;

if(isset($a)): echo "isset ” = true <br>"; else: echo "isset ” = false <br>"; endif;
if(isset($b)): echo "isset null = true <br>"; else: echo "isset null = false <br>"; endif;
echo "<br>";
if(empty($a)): echo "empty ” = true <br>"; else: echo "empty ” = false <br>"; endif;
if(empty($b)): echo "empty null = true <br>"; else: echo "empty null = false <br>"; endif;
echo "<br>";
if(is_null($a)): echo "is_null ” = true <br>"; else: echo "is_null ” = false <br>"; endif;
if(is_null($b)): echo "is_null null = true <br>"; else: echo "is_null null = false <br>"; endif;
echo "<br>";
if($a==$b): echo "”==null true <br>"; else: echo "”==null false <br>"; endif;
if($a===$b): echo "”===null true <br>"; else: echo "”===null false <br>"; endif;[/php]

Çıktı :

isset ” = true
isset null = false

empty ” = true
empty null = true

is_null ” = false
is_null null = true

”==null true
”===null false

Devam

Laravel – Laravel Kurulumu

Laravel son zamanlarda adını sıkca duyurmayı başaran ve hızlı  yükselişi ile dikkat çeken bir framework.Bu hızlı  yükselişi benim de dikkatimi  çekti  ve Codeigniter framework  yerine Laravel’i incelemeye başladım.

Nedir ?

Laravel etkileyici ve zarif söz dizimine sahip bir web uygulama çatısıdır (framework’tür). Geliştiriciliğin gerçekte eğlenceli, üretken deneyimlere dayanarak yerine getirilmesi gerektiğine inanır.Laravel birçok web uygulamasında kullanılan yetkilendirme, rotalama, oturum yönetimi ve kaşeleme gibi ortak görevleri kolaylaştırarak geliştiriciliğin zorluklarını ortadan kaldırmak amacını gütmektedir.

Laravel, geliştiriciler için, uygulama işlevselliğinden ödün vermeden geliştirme aşamasını memnuniyet verici hale getirmeyi amaç edinmiştir. En iyi kodu mutlu geliştiriciler yazar. Bu hedef için Ruby on Rails, ASP.NET MVC, ve Sinatra dilleri de dahil olmak üzere, diğer çatılardaki güzel özellikler bir araya getirilmeye çalışılmıştır.

Laravel büyük ve kapsamlı uygulamalar için gereken araçları içeren erişilebilir ve aynı zamanda güçlü bir çatıdır. Mükemmel ters kontrol kapsayıcısı, etkileyici göç sistemi ve sağlam yerleşik ünite test desteği size geliştirmeyi amaçladığınız uygulama için gerekli araçları sağlayacaktır.
Kaynak:Laravel 4 Türkçe Dokümantasyon

Kurulum

[box type="note"]Anlatım KUBUNTU 13.10 sürüme göre yapılmıştır.[/box]

Laravel kurulumu  için  ilk önce composer kurulumuna ihtiyacınız var bunun için bu linki kullanabilirsiniz. Bu  linkten indirdiğiniz composer.phar dosyasını bilgisayarınızda her yerden kullanabilmek için /usr/local/bin dizinine composer ismiyle kopyalamanız gerekiyor. Bu  işlem için composer.phar dosyasının bulunduğu dizinde konsol açarak şu komutu çalıştırın(Dolphin kullananlar F4 tuşu ile konsol açabilirler):

[bash]sudo cp composer.phar /usr/local/bin/composer[/bash]

Bu işlemden sonra composer’i rahat bir şekilde kullanmak için dosya yetkilerini herkes tarafından erişilebilir olarak ayarlayalım. Bunun için konsolda:

[bash]cd /usr/local/bin/

sudo chmod 0777 composer[/bash]

Komutlarını çalıştırın. Composer kurulumunu  tamamladık. Şimdi  gelelim laravel kullanarak yeni bir proje oluşturmaya.

[box type="note"]Bundan sonraki işlemleri yapabilmek için bilgisayarınızda LAMP server kurulu olması gerekmektedir.[/box]

Laravel ile yeni bir proje oluşturmak için gerekli olan bir başka uygulamada “git” uygulaması “git” kurmak için:

[bash]sudo&nbsp; apt-get install git[/bash]

Komutunu  yazıyoruz. “git” kurulduktan sonra bilgisayarımızda kurulu olan apache server ın www klasörüne geliyoruz.

[bash]cd /var/www/[/bash] [box type="note"]Eğer türkçe UBUNTU kullanıyor ve php sürümünüz güncel değilse dil sorunlarından kaynaklı hatalar yaşayabilirsiniz bunun için composer komutundan önce;

[bash]export LANG=C[/bash]

komutunu çalıştırarak sorunun çözebilirsiniz.[/box]

composer ile projemizi oluşturuyoruz:

[bash]composer create-project laravel/laravel proje-ismi –prefer-dist[/bash]

Bu işlemle birlikte laravel kurulumunuz tamamlanmış demektir. Tarayıcınızdan http://localhost/proje-ismi/public adresini
açtığınızda karşınıza “You have arrived” yazısı olan bir sayfa gelir.

laravel Yukarıda gördüğünüz sayfa yerine karşınıza “Laravel requires the Mcrypt PHP extension.” uyarısı çıkıyorsa aşağıda belirttiğim adımları yapın.

PHP MCRYPT kurulumu için:

[bash]sudo apt-get instal php5-mcrypt[/bash]

sonrasında php.ini dosyasını nono editörü ile açarak [mcrypt] kısmından sonra “extension=mcrypt.so” satırını ekleyin.
php.ini dosyasının yerini;

[bash]locate php.ini[/bash]

komutu ile öğrenebilirsiniz.Nano editörü ile php.ini dosyasını açmak için;

[bash]sudo nano /etc/php5/apache2/php.ini[/bash]

php.ini dosyasında arama yapmak için Ctrl+W tuş kombinasyonunu kullanın ve “mcrypt” kelimesini  aratın. ver [mcrypt] ifadesinden sonraki “[]” içeren başlığın üstüne “extension=mcrypt.so” ifadesini  ekleyin ve kaydedin.

Sonrasında  /etc/php5/conf.d dizininde mcrypt.ini dosyası olup olmadığına bakın eğer yoksa içeriği:

[bash]; configuration for php MCrypt module
extension=mcrypt.so[/bash]

olan bir mcrypt.ini dosyasını oluşturun.
Son olarak /etc/php5/mods-available dizininde  mcrypt.ini dosyasının olup olmadığına bakın ve yoksa demin oluşturduğunuz şekilde dosyayı oluşturun.Ve aşağıdaki komut ile php mcrypt mödülünü aktif hale getirin.

[bash]sudo&nbsp; php5enmod mcrypt[/bash]

Bundan sonra laravel çalışır duruma gelmiş olacaktır. İşlemler biraz uzun ve karışık gelebilir ama ben kendi bilgisayarımda karşılaştığım bu sorunu bu işlemlerle çözdüm ve sizlerle paylaşıyorum.

Bir sonraki  yazımda projemize http://localhost/proje-ismi/public şeklinde ulaşmak yerine bir domain tanımlayarak nasıl ulaşacağımızdan bahsedeceğim.(Localhost projenize domain tanımlama)

Laravel ile ilgili daha fazla bilgiyi aşağıdaki bağlantılardan edinebilirsiniz.

[box type="tick"]Laravel Türkiye forumu[/box]

[box type="tick"]Laravel Türkçe kaynaklar[/box]

Devam

WordPress Dışındaki PHP Dosyasına WordPress Fonksiyonlarını Kullanma

Başlıkta belirttiğim wordpress dışındaki  php  dosyalarından neyi  kastettiğimi  belirterek  yazıma başlayayım. Wordpress de eklenti ya da tema hazırlarken wordpress in yüklenme aşamasında wordpress e katılmayan dosyalardan bahsediyorum mesela bir eklentide siteye ekleyeceğiniz javascript dosyasını php ile oluşturmak istiyorsunuz , bu  dosya sayfaya sonradan ekleneceği için bu dosya içerisinde wordpress fonksiyonlarını kullanamayacaksınız.

Örnek olarak eklentinizin klasöründe bulunan default.js.php dosyasını eklentiniz ile birlikte .js dosyası  olarak  ekleyeceksiniz. Bu javascript dosyasını php ile oluşturmak için nedeniniz js ile sayfaya ekleyeceğiniz metinlerin çoklu dil  özelliğine sahip olması olabilir.Kodlarımız aşağıdaki  şekilde olursa tanımlanmayan fonksiyon şeklinde hata alırız.

[php]<?php
header( "content-type: application/x-javascript" );

__(‘çokli dile uygun metin’,’textdomain’);

?>[/php]

Bu  hatayı çözmek için wordpress ana dizininde bulunan wp-load.php dosyasını bu  dosyaya eklememiz gerekiyor yani kodlarımızı aşağıdaki  şekilde ayarlarsak sorunu  çözmüş oluruz.

[php]<?php
include "../../../wp-load.php";
header( "content-type: application/x-javascript" );

__(‘çokli dile uygun metin’,’textdomain’);

?>
[/php]

 

Devam

PHPStorm’da WordPress Kod Düzenini Kullanma

Kod  yazarken  kodlarımızın düzenli olmasına  dikkat etmeliyiz. Yazdığımız  kodların  başka yazılımcılar tarafından rahat bir şekilde okunabilmesi için belli  kurallara uyarak kodlarımızı yazmalıyız. PHP kodlarını  herhangi  bir not defteri  ile yazabiliriz ama not defteri ile kod yazmak oldukça zordur. Kodların karmaşasını  düzene sokmak onları anlaşılması kolaybir hale getirmek not defteri ile neredeyse imkansızdır. Bu  yüzden kod yazarken İDE(integrated development environment) yani  tümleşik  geliştirme ortamı kullanmalıyız.İDE bize kod yazarken otomatik  renklendirme,otomatik kod tamamlama ve otomatik kod düzenleme gibi kolaylıklar sağlar.

PHPStrom PHP üzerine yoğunlaşmış  PHP, HTML, JAVAScript geliştirme ortamıdır. PHPStrom ile kodlarımızı düzenlediğimiz  zaman  ki  bunu  kısace ALT+Shift+L tuş  kombinasyonu ile yapabiliriz, kendi bünyesinde  tanımlı olan kurallara göre düzenlemesini  yapar.Örnek  olarak :

[php]$degisken=’PHPStrom’  ;
if  ($degisken  == ‘PHPStrom’){echo $degisken;
}else{
$degisken=’PHPStrom’  ;
}[/php]

bu  şekildeki  bir kod PHPStrom ile düzenlendiğinde sonuç:

[php]$degisken = ‘PHPStrom’;
if ($degisken == ‘PHPStrom’) {
echo $degisken;
} else {
$degisken = ‘PHPStrom’;
}[/php]

şeklinde olur. Burada kısa bir  kod yazdık  ama bol satırlı  bir  dosyada bu düzenleme okunabilirliği büyük ölçüde arttırır.

Bu  şekilde  birden fazla  kod düzeni mevcut  yazılımcı bu şekilde  bir  düzene alıştığı  zaman kodları okuması  daha kolay olur. Wordpress geliştiricileri de bu  şekilde bir  kod  düzeni  kullanırlar. Fakat bu  düzen PHPStorm ile  gelen düzenden biraz farklı.Wordpress için bir  eklenti veya bir  tema  kodluyorsanız wordpress in kod düzenini  kullanmanız  çok daha doğru olur.

Peki Wordpress kod düzenini PHPStrom ile nasıl kullanacaksınız?

Hemen göstereyim :

ilk önce aşağıdaki linkten Wordpress.xml dosyasını  indirin.

[box type="download"]https://gist.github.com/Rarst/1370155/raw/df6f50813d9f69967abdbf03fa3bf38f805a8609/WordPress.xml[/box]

Sonra indirdiğiniz bu xml dosyasını Linux için:”~/.WebIdeXX/config/codestyles" dizinine kaydedin. Buradaki “XX” bir  sayıyı  belirtiyor mesela ” .WebInde60/” gibi.

PHPStrom u  açın (Açıksa kapatıp tekrar açın) File>Settings>Code Style menüsüne gelin Scheme ayarını Wordpress olark  seçin ve kaydedip  kapatın.

phpstrom codeStyleBundan  sonra PHPStrom Wordpress kod düzenine göre kodlarınızı düzenleyecek.Demin verdiğim örnek Wordpress düzenine göre şu şekilde oluyor:

[php]$degisken = ‘PHPStrom’;
if ( $degisken == ‘PHPStrom’ ) {
echo $degisken;
}
else {
$degisken = ‘PHPStrom’;
}[/php]

Kaynak:https://gist.github.com/Rarst/1370155#file-wordpress-xml

Devam