OSX İşletim Sistemine PHP, MySQL, Apache Kurulumu

Apple'ın OSX Mavericks işletim sistemi aslında Unix temelli hatta İntel işlemcili makineler için geliştirilmiş olan BSD - Unix  İşletim sistemi açık kaynak kodları temel alınarak geliştirilmiştir. Tabi ki Free BSD - Unix'in kullanıcı arayüzü MacOSX veya OSX kadar görsel değildir, Apple birçok kütüphane ekleyerek ve görsel arayüzünü yeniden geliştirmiştir. Bugün birçok alanda da Free BSD Unix'in kullandığına şahit oluyoruz, Router'ların içindeki işletim sisteminden, Firewall'ların içindeki işletim sistemlerine kadar birçok donanım içindeki işletim sistemi Free BSD değiştirilerek oluşturulmuştur. Apple'ın Free BSD Unix'i seçmesinin nedeni de son derece sağlam ve güvenli bir alt yapıya sahip olmasındandır.

Burada verilecek komutlar aslında Unix temelli komutlar olacağından birçok Linux dağıtımı altındaki komutlarla da benzerlik göstermektedir.

Aslında hemen her Linux dağıtımının ve OSX içinde MySQL, PHP ve Apache üçlüsü gelmektedir,  fakat aktif değildir, kullanıcı isterse kendisi aktif yapabilir, istemezse yapmaz. İhtiyacı olmayan neden PHP, MySQL, Apache'i aktif yapsın ki, isteyenin  kullanıcının yapması daha doğru.

Bu arada PHP, MySQL, Apache üçlüsünü MAMP ya da XAMPP paketleri ile kurabilrsiniz, fakat bu paketleri kurduktan sonra PHP'nin veya MySQL'in sürüm güncellemeleri oldukça uğraştırıcı hale gelebiliyor.

Şimdi konumuza geçelim ve OSX işletim sisteminde Finder - Diğer - Terminal'den konsol ekranını açalım.  Bilindiği gibi Windows'ta Administrator olmadan gelişmiş komutları yazamazsınız. Linux dağıtımlarının çoğunda da System User (Sistem Kullanıcısı) olmadan esaslı komutları veremezsiniz. System User kelimeleri kısaca su diye kısaltılır. Konsoldan sistemi ilgilendiren komutları vermek için de;

sudo su - 

komutu verilir. Bu komutu verdikten sonra aşağıdaki ekran görüntüsünde görüldüğü gibi root kullanıcıda oturum açmış olacaksınız. Peki neden konsola girdiğimizde direkt root kullanıcı açılmıyor, cevabı basit, yetkisiz kullanıcıların önemli komutları vermemesi ve acemi kullanıcıların yanlışlıkla sistemi çökertmemeleri için. 

























Bu aşamadan sonra Apache, MySQL ve PHP'nin versiyonlarını aşağıdaki komutları vererek öğrenebilirsiniz.

Apache versiyon öğrenme
apachectl -v

Örneğin yukarıdaki komutu verince aşağıdaki gibi bir görüntü alacaksınız ve sunucudaki Apache'nin 2.2.24 versiyonuna sahip olduğunu öğreneceksiniz.
Server version: Apache/2.2.24 (Unix)
Server built:   Aug 24 2013 21:10:43

 
Bilgisayarınızda MySQL klasörünün nerede olduğunu bulmak için komutunu verebilirsiniz.
$find / -type f -name "mysql"

Örneğin bu arama sonucunda MySQL klasörünün benim bilgisayarımda aşağıdaki klasörde bulundu.
/usr/local/mysql-5.6.15-osx10.7-x86_64/bin/mysql 


MySQL Version öğrenme
 mysql -v

Bu komuttan sonra aşağıdaki gibi bir mesajla MySQL versiyonunu öğreneceksiniz.
Server version: 5.6.15 MySQL Community Server (GPL)
 
 PHP Versiyon öğrenme
 php -v

Bu komuttan sonra da aşağıdaki gibi bir mesaj  ile PHP versiyonunu öğreneceksiniz, ben de 5.4.17 versiyonu varmış.
PHP 5.4.17 (cli) (built: Aug 25 2013 02:03:38)
Copyright (c) 1997-2013 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2013 Zend Technologies


Şimdi PHP dosyalarının yorumlanabilmesi için ilk önce Apache web sunucusunu başlatmamız gerekiyor. apachectl komutu yanına farklı parametreler alarak bu işlemi yapmaktadır.

Apache web sunucusunu başlatmak için; 
apachectl start

Apache web sunucusunu tekrar başlatmak için;
apachectl restart

Apache web sunucusunu durdurmak için;
apachectl stop

Eğer bilgisayarınızda apache web sunucusu zaten çalışıyorsa org.apache.httpd: Already loaded mesajı verecektir, yani zaten apache yüklü anlamında bir mesajdır.

Test için Safari, Chrome veya başka bir tarayıcıyı açıp adres kısmına;
http://localhost 
yazın, aşağıdaki gibi bir pencere açılıyorsa, It works yani çalışıyor demektir.




































Nano editörü tıpkı Windows içinde gelen Notepad gibi hem Linux hem de MacOSX ortamında çok kullanılan bir editördür. Komut satırında nano yazdıktan sonra editörün açmasını istediğiniz dosyayı yazabilirsiniz. Nano yoksa vi editöründe de açabilirsiniz, ama ben şahsen vi editörünü alışmadığım kısayollarından dolayı sevmiyorum. Yani kısaca;

nano /etc/apache2/httpd.conf

Bu dosyayı açtıktan sonra Ara-Bul'dan php kelimesini arattırıp, php kütüphanesini yükleyen satırı bulmamız gerekli. Nano editöründe Kontrol + W tuşu ile Search yani arama satırı açılacaktır. php yazıp Enter'a bastığınızda php geçen satırlar bulunacaktır. Nano editörü içinde Yukarı - Aşağı yön tuşları ile hareket edebilirsiniz. Aşağıdakine benzer bir satır göreceksiniz. 

# LoadModule php5_module libexec/apache2/libphp5.so) 

Bu satırın önündeki # işaretini kaldırıp, Kontrol + X tuşuna basınız ve gelen soru için Y yani Yes tuşuna basıp Enter'a basınız.

Tekrar apache web sunucusunu apachectl restart diyerek başlatınız. 

OSX işletim Sisteminden Uygulama veya Program Kaldırmak

NOT: Bilgisayarınıza yüklediğiniz XAMPP gibi bir uygulama varsa kaldırmak için aşağıdaki komutu verebilirsiniz. Burada rm komutunu kullanarak Uygulamalar(Applications) klasöründeki xammp uygulamasını kaldırıyoruz. 
sudo rm -rf /Applications/xampp

Örneğin MySQL'i tamamen kaldırmak isterseniz aşağıdaki komutu yazmanız gerekir.
sudo rm -rf /usr/local/mysql-5.6.15-osx10.7-x86_64

OSX İşletim Sistemine sıfırdan MySQL Kurmak

1) Aşağıdaki adrese girip MacOSX için, tabi siz hangi versiyonu kullanıyorsanız ona göre MySQL 
sürümünü indirebilirsiniz. MacOSX için DMG uzantılı dosyalar kurulum dosyalarıdır.  Benim indirdiğim MySQL 5.6.20 şu an 160 MB büyüklüğünde bir kurulum dosyası, kurulduğunda 670 MB civarı bir yer kaplıyor.

MySQL İndirme Linki
http://dev.mysql.com/downloads/mysql/

2) DMG uzantılı dosya indikten sonra üstüne çift tıklayınız. Eğer MySQL düzgün kurulduysa /usr/local/mysql-kurulan-versiyon şeklinde bir klasör göreceksiniz. Normalde MySQL DMG paketini kurduğunuzda içinde MySQL Startup Item gelir ve MySQL bilgisayarınızı başlattığınızda otomatik başlar. MySQL'in bilgisayarınızı başlattığınızda otomatik olarak başlayıp başlamayacağını kontrol etmek için /etc/hostconfig dosyasına cat komutu ile bakın, eğer içinde MYSQLCOM=-YES-  yazıyorsa otomatik başlayacaktır, MYSQLCOM=-NO- ise başlamayacaktır.














MySQL'in sistemde kurulup kurulmadığını kontrol etmenin diğer bir yolu LaunchPad - Sistem Tercihleri menüsünden gelen pencerede aşağıdaki gibi MySQL logosunu göreceksiniz, üzerine tıkladığınızda çalışıyorsa MySQL etkindir.





































vi /etc/apache2/extra/httpd-vhosts.conf
Bu işlemlerden sonra gelelim PHP'nin ayarlarına, aslında oldukça basit.

1) Önce nano /etc/apache2/httpd.conf dosyasını nano editörü ile açıyoruz.

2) Bu dosyada aşağıdaki satırı bulup önünde # işareti varsa kaldırıyoruz.
Include /private/etc/apache2/extra/httpd-vhosts.conf

etc/apache2/extra/
3) /etc/apache/extra klasörüne girip aşağıdaki dosyayı açıyoruz.
nano httpd-vhosts.conf

vi /etc/apache2/extra/httpd-vhosts.conf
İçini aşağıdaki şekilde değiştiriyoruz. Benim bilgisayarımın adı akaremac, siz kendinize göre değiştirebilirsiniz.

<VirtualHost *:80>
  DocumentRoot "/Library/WebServer/Documents"
</VirtualHost>

<VirtualHost *:80>
        DocumentRoot "/Users/akaremac/Documents/workspace/dev"
        ServerName akaremac.local
        ErrorLog "/private/var/log/apache2/akaremac.local-error_log"
        CustomLog "/private/var/log/apache2/akaremac.local-access_log" common

<Directory "/Users/akaremac/Documents/workspace/dev">
      AllowOverride All
      Order allow,deny
      Allow from all
</Directory>
</VirtualHost>


Bu sanalhost ayarından sonra apachectl restart komutu ile Apache web sunucumuzu yeniden başatıyoruz. Ayrıca aşağıdaki komutla DNS belleğini de temizliyoruz.

dscacheutil -flushcache
dscacheutil -flushcache

TEST AŞAMASI

Hemen bir php uzantılı, örneğin index.php dosyası hazırlayıp içine de aşağıdaki kodları yazabilirsiniz.
<?php phpinfo(); ?>

Kaydedeceğimiz yer, Library/WebServer/Documents klasörüdür. Türkçe OSX'de ise, Kitaplık/WebServer/Documents klasörüdür. Ekran görüntüsü aşağıdadır.


























Sonra http://akaremac.local/index.php linkini tarayıcıda yazarak test edebilirsiniz.

İyi günler...


KAYNAKLAR

1) MacOSX'e MySQL Kurmak
http://dev.mysql.com/doc/refman/5.0/en/macosx-installation.html

2) MySQL İndirme Linki (Tüm Platformlar)
http://dev.mysql.com/downloads/mysql/

3) MacOSX MySQL, PHP, Apache Ayarları
http://jason.pureconcepts.net/2012/10/install-apache-php-mysql-mac-os-x/

4) Install MySQL on MacOSX
http://abbeyworkshop.com/howto/osx/osxMysqlInstall/index.html
  Bookmark and Share