Mamp ile Macosx üzerinde php apache ve mysql olayları

2 farklı şekilde mamp olayına bakış.

Selamlar saygılar…bu yazıda alıntı olarak 2 farklı seçenek kullanarak mamp mysql php apache  ile macosx leopard bir sistem üzerinde işlemler yapacağız.Php nin büyülü deryasına 1 adımdaha yaklaşacağız.

1.seçenek

Bir çok yerde benzeri kurulumlar anlatılıyor. Ben en basit şekilde, sisteminize dokunmadan kurulumu yazmaya çalışacam.

Bu sayfa hazırlanırken ki mevcut versionlar:
Mac OS X : 10.5.7
Mamp : 1.7.2 (ve içerisinde gelen php pear apache mysql versionları)
Symfony : 1.2.8

MAMP

Mac OS X altında MAMP çok yaygın kullanılan (Macosx Apache Mysql Php) nin baş harflerinden oluşan komple bir pakettir. Son sürümü mamp.info adresinden edinebilirsiniz. Diğer programların kurulumu gibi .dmg yi sisteme mount edip ve içerisindeki .app klasörünü /Application/ klasörüne atıyoruz.

Mamp’ı çalıştırıp ‘Preferences’ butonuna tıklıyoruz ve ayarlarını aşağıdaki şekilde yapıyoruz:

UYARI 1 ! MAMP ın aşağıdaki ayarlarda sorunsuz çalışması için System Preferences -> HTTP Sharing kısmının kapalı olduğundan emin olun. MAMP altındaki Apache ve Mysql’i tabii ki farklı portlarda da çalıştırabilirsiniz. Eğer farklı portlar tercih ederseniz dökümanın ilerisinde de o portları kullanmanız gerektiğini unutmayın!

UYARI 2 ! Unix türevi (Mac OS X, Linux, BSD) işletim sistemleri 1024 den daha küçük portlarda program çalıştırabilmek için root şifresine ihtiyaç duyarlar. Buradaki ayarları yaptıktan sonra MAMP her açılışta root şifresi (yönetici şifresi) isteyecektir. Eğer yönetici şifrenizi bilmiyorsanız normal kullanıcı şifrenizi deneyin veya MAMP altındaki Apache yi 1024 den daha yüksek (8080 veya 8888 numaralı portlar özelliksiz olmasına rağmen kolay hatırlayabilmek için genelde tercih edilir) bir portta çalıştırın.

mamp-port

mamp-php

mamp-http-root

Symfony

Symfony kurulumu için öncelikle php.ini den php nin memory_limit değerini yükseltmemiz ve bir kaç özelliği de aktif etmemiz gerekiyor.

$ nano /Applications/MAMP/conf/php5/php.ini

komutunu verdikten sonra Ctrl + W tuş kombinasyonuna basarak memory_limit yazıp enter a basıyoruz. Bulduğumuz memory_limit satırının karşısındaki değeri 32M yapıyoruz.
Aynı şekilde Ctrl+W tuş kombinasyonlarıyla short_open_tag ve magic_quotes_gpc satırlarını bulup karşılarındaki değerleri “Off” olarak değiştiriyoruz. zend_extension=”/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so” satırının başındaki ; işaretini kaldırıyoruz.

Bu satırların önceki halleri :

memory_limit = 8M
short_open_tag = On
magic_quotes_gpc = On
; zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so"

Bu satırların sonraki halleri :

memory_limit = 32M
short_open_tag = Off
magic_quotes_gpc = Off
zend_extension="/Applications/MAMP/bin/php5/lib/php/extensions/no-debug-non-zts-20050922/eaccelerator.so"

Düzenlemeleri yaptıktan sonra Ctrl + X tuş kombinasyonuna sonra Y harfine sonra da enter a basarak kaydedip çıkıyoruz.

NOT : Eğer version değişikliklerinden dolayı bu düzenlemeleri yaptığınız halde problem yaşıyorsanız Symfony sayfalarında PHP ayarlarınızı kontrol edebileceğiniz check_configuration.php dosyasını bulabilirsiniz. Symfony 1.2.8 sürümünü MAMP harici bir sisteme kurmaya çalışıyorsanız php.ini konfigürasyon scriptini şuradan edinebilirsiniz:

Symfony 1.2.8 için php.ini kontrol scripti

Scripti herhangi bir yere açtıktan sonra scriptin bulunduğu dizine cd komutu yardımıyla giderek;


$ /Applications/MAMP/bin/php5/bin/php check_configuration.php

komutunu verin. Eğer aşağıdaki gibi bir çıktı görüyorsanız php.ini ayarlarınız sorunsuz demektir:

********************************
* *
* symfony requirements check *
* *
********************************

php.ini used by PHP: /Applications/MAMP/conf/php5/php.ini

** WARNING **
* The PHP CLI can use a different php.ini file
* than the one used with your web server.
* If this is the case, please launch this
* utility from your web server.
** WARNING **

** Mandatory requirements **

OK PHP version is at least 5.2.4

** Optional checks **

OK PDO is installed
OK PDO has some drivers installed: sqlite2, sqlite, pgsql, mysql
OK PHP-XML module is installed
OK XSL module is installed
OK The token_get_all() function is available
OK The mb_strlen() function is available
OK The iconv() function is available
OK The utf8_decode() is available
OK A PHP accelerator is installed
OK php.ini has short_open_tag set to off
OK php.ini has magic_quotes_gpc set to off
OK php.ini has register_globals set to off
OK php.ini has session.auto_start set to off
OK PHP version is not 5.2.9

php.ini dosyamızı ayarladığımıza göre sıra geldi PEAR işlemlerine. Sisteminizde kurulu pear ve/veya php zaten vardır. Biz bunlara hiç dokunmayacağız. İleride onları kullanmak zorunda kalabilirsiniz veya farklı php sürümünü farklı konfigürasyonlarla kullanmanız gerekebilir.

$ cd /Applications/MAMP/bin/php5/bin/
$ ./pear channel-discover pear.symfony-project.com

komutlarını verdikten sonra

Adding Channel "pear.symfony-project.com" succeeded
Discovery of channel "pear.symfony-project.com" succeeded

çıktısını veya işlemin hatasız tamamlandığını söyleyen benzer bir çıktı görmeniz gerekiyor.
Şimdi symfony i pear yardımıyla kuralım.

$ ./pear install symfony/symfony-1.2.8

yine işlemin hatasız tamamlandığını söyleyen

install ok: channel://pear.symfony-project.com/symfony-1.2.8

gibi bir çıktı görmeniz gerekiyor. Şimdi symfony için link oluşturalım;

$ sudo ln -sf /Applications/MAMP/bin/php5/bin/symfony /usr/bin/symfony

komutunu yazdıktan sonra root şifrenizi giriyorsunuz, /usr/bin/ altına symfony isimli linkimiz oluşuyor. Kurulumu bitirdik sayılır, şimdi yeni bir proje oluşturup test edelim. Ben http kök için /Users/irfan/Sites/ dizinini kullanıyorum.

$ cd ~/Sites/
$ mkdir sftest
$ cd sftest
$ symfony generate:project sftest

Proje için oluşturulan dosya ve dizinlerin çıktılarını göreceksiniz. Şimdi projemizin sağlıklı çalışması için Apache ve hosts dosyamızda küçük bir iki ayar yapacağız.

Apache Ayarları

$ nano /Applications/MAMP/conf/apache/httpd.conf

komutu ile httpd.conf u açıp aşağıdaki satırları kendinize göre düzenleyip dosyanın sonuna ekleyin.
Değiştirmeniz gereken direktifler DocumentRoot, Directory, ServerName veya daha fazlası (Örneğin Apache portu) olabilir.

Aşağıdaki satırları düzenlemek için uğraşmak istemiyorsanız yeni oluşturduğunuz proje içerisinde config/vhost.sample dosyasını düzenleyerek de kullanabilirsiniz.


# sftest projem icin http.conf satırları
NameVirtualHost 127.0.0.1:80
Listen 127.0.0.1:80
<VirtualHost 127.0.0.1:80>
ServerName sftest
DocumentRoot "/Users/irfan/Sites/sftest/web"
DirectoryIndex index.php
<Directory "/Users/irfan/Sites/sftest/web">
AllowOverride All
Allow from All
</Directory>
Alias /sf "/Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf"
<Directory "/Applications/MAMP/bin/php5/lib/php/data/symfony/web/sf">
AllowOverride All
Allow from All
</Directory>
</VirtualHost>

DNS Resolve Ayarları
Buraya kadar herşey yolunda gittiyse

$ sudo nano /etc/hosts

komutuyla hosts dosyanızı açın ve içerisine

127.0.0.1 sftest

satırını ekleyin.

Sona Doğru..
MAMP çalışıyor ise Stop Servers butonuna basarak servisleri durdurun. Daha sonra Start Serversbutonuna basarak başlatın. MAMP çalışmıyor ise çalıştırın. Tarayıcınızla http://sftest adresine girin. Aşağıdaki gibi 404 Not Found hatası alıyorsanız herşey yolunda demektir -) Korkmayın bu hatayı da gidereceğiz -)

Not Found
The requested URL /index.php was not found on this server.
Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2 Server at sftest Port 80

Şimdi projemizi oluşturduğumuz klasöre geri dönüp base app ı (temel sistemi) kuruyoruz.

$ cd ~/Sites/sftest
$ symfony generate:app base

Hepsi bu kadar. Tarayıcınızda açtığınız http://sftest/ sayfasını yeniden yükleyin ve aşağıdaki mutlu son -)

symfony-ana-ekran

Burada symfony hakkında herşeyi anlatabilecek kadar ne zamanım ne de enerjim var.http://www.symfony-project.org/ adresini daha güncel bilgiler için mutlaka inceleyin.

2.seçenek

Bir Macintosh kullanıcısı iseniz ve tasarladığınız siteleri bütün dünya’ya göstermeden önce bilgisayarınız da yerel olarak sadece kendiniz bakmak istiyorsanız bilgisayarınız da bazı ayarlar yaparak onu yerel bir sunucuya çevirmeniz gerekli. “.html” uzantılı sayfaları basitçe, istediğiniz tarayıcı ile çalıştırarak görüntüleyebilirsiniz. Ama sizin de bildiğiniz gibi PHP ve diğer programlama türleri için bilgisayarınızda yerel bir sunucu oluşturmalısınız.

Normal de Mac OS X’de Apache Server ile beraberinde PHP de dahil yüklü olarak gelir. Sonuç olarak size sadece Mysql’i yüklemek kalır. Fakat karşınıza öyle durumlar çıkabilir ki uyumsuzluk sorunlarından dolayı sunucunuzu tam olarak yapılandıramayabilirsiniz. Örneğin şu anda Mysql’in Mac OS X 10.5(Leopard) için geçerli bir sürümü bulunmuyor. Apache ve PHP sorunsuzca çalışıyor fakat Mysql ancak resmi olmayan, başka Mac OS X kullanıcıları tarafından geliştirilen çözümler ile çalıştırılabiliniyor.

Aslında bu sayfada da daha önceden başka bir Mac OS X kullanıcısının sunduğu çözümün türkçesi vardı. Çözüm ne kadar işe yarasa da bir yer de başarısızdı. Tamam, eninde sonunda Mysql çalıştırılabiliniyordu fakat aynı zamanda çok da uğraştırıyordu. Ve dahası Mac OS X’in sistem dosyalarıyla oynayacağınızdan en ufak bir hatanız sisteminize zarar verebiliyordu. Bu yüzden bu yolu ben de pek beğenmiyordum ama elim bağlı olduğundan başka bir seçenğim yoktu. Taki dün RSS haberlerinin birinde “MAMP” adlı bir yazılıma rastlayana kadar.

MAMP’i kısaca anlatmak gerekirse MAMP; Apche, PHP ve Mysql yazılımlarının toplandığı bir paket. Ve Mysql’in uyumsuzluk sorunları da MAMP’in uzmanları tarafından giderilmiş. Böylece sadece bir yazılım yükleyerek Apache, PHP ve Mysql’i sorunsuzca, basit yoldan yüklemiş oluyorsunuz. Uyumsuzluk sorunlarında sistem dosyaları ile oynamak zorunda kalmıyorsunuz.

Dahası MAMP’in bir başka artısı da PHP 4 ve 5′i bir arada sunması. Ne gerek var demeyin. Eğer PHP üzerinden kodlar geliştiren biriyseniz bu şekilde kodlarınızın uyumluluğunu deneyebilirsiniz.

MAMP’in resmi sitesine buradan ulaşabilirsiniz. Sitedeki “download” bölümünden MAMP’in iki sürümünden birini indirerek MAMP’i bilgisayarınıza kurabilirsiniz. Eğer Apache, PHP ve Mysql ile ilgili ayarlamalar yapmamak, sadece bu üçünün basitçe çalışmasını istiyorsanız giriş seviyesi için yazılmış olan MAMP tam sizin için. Üstelik bedava. Ama eğer Apache, PHP ve Mysql ile oynamalar yapacak, kodlarınızın uyumluluğunu deneyeceksiniz o zaman size MAMP Pro gerekecektir. Yalnız şunu belirtmeliyim ki MAMP Pro’nun lisansı ücretli.

Kendinize uygun MAMP sürümünü indirdikten sonra yükleme dosyasını açın ve MAMP klasörünü “Applications” klasörüne kopyalayın. Yoksa MAMP “Applications” altında değil iken çalışmayacaktır. Eğer MAMP Pro’yu indirdiyseniz hem MAMP hem de MAMP Pro klasörünü “Applications” altına kopyalayın. Ama kullanırken MAMP Pro’yu başlatın.

MAMP çalıştığı zaman Apache, PHP ve Mysql otomatik olarak çalışmaya başlar. MAMP’in kontrol ekranından bu yazılımların aktivitelerini kontrol edebilirsiniz.

MAMP ile sitenizi görüntüleyeceğiniz zaman dosyaları MAMP klasörü altında yer alan “htdocs” adlı klasöre yerleştirin. MAMP Pro kullanıyor olsanız bile buraya yerleştirmelisiniz. Tarayıcınızda da adres çubuğuna localhost:8888 yazın. Eğer Apache’nin port numarasını değiştirdiyseniz 8888 yerine kendi koyduğunuz port numarasını yazmalısınız. Böylece sitenizi yerel sunucunuz da görüntüleyebilirsiniz.

Veritabanı ile ilgili işlemlere gelince. MAMP beraberin de phpMyAdmin ve SQLiteManager gibi yazılımları da getiriyor. Bu MAMP ile kuracağınız sunucunun başka artılarından biri. Eğer MAMP kullanıyorsanız kontrol ekranında “Open start page” butonuna MAMP PRO kullanıyorsanız sağ üst kısımda bulunan “Web Start” butonuna basarak MAMP’in MySql ve diğerleri için oluşturulmuş kontrol paneline gidebilirsiniz. Burada Mysql ve diğerleri ile ilgili ayarları yapabilir ve kurulumlar için gerekli bilgilere ulaşabilirsiniz.

her 2 yazıda alıntıdır.adresleri bilinmemekle beraber tüm hakları eser sahiplerine aittir.kaybolmaması ve insanları bilgilendirmek ve kişisel not defterimde yer alması adına burada yayınlanmaktadır.

Bir cevap yazın

E-posta hesabınız yayımlanmayacak.