Mac OS X Developer Tools’u kaldırmak

$ sudo /Developer/Library/uninstall-devtools --mode=all
Password:
Start time: Sun Dec 12 01:03:08 EET 2010
Started uninstalling versioned non-relocatable developer tools content.
Shutting down distcc...
Analyzing devtools package: 'com.apple.pkg.VersionedDeveloperToolsSystemSupportLeo'...
Analyzing package: 'BSD.pkg'...
......

Söze gerek yok

MacOS X Terminal renkleri nasıl tanımlanır ve değiştirilir?

MacOS X  Terminal.app da default gelen terminal çok kullanışsız. Terminali ilk açtığınızda beyaz zeminli tüm yazılar siyah renkte, kod renklendirme dediğimiz durum tanımsız (undefined) olarak gelir. Öncelikle Terminal.app i açıp, File -> Preferences -> Startup sekmesinden On startup, open new window with settings kısmını Pro olarak değiştirin. Aynı pencerede Settings kısmından da bazı özelleştirmeleri yapabilirsiniz. Son olarak Shell menüsünden Use Settings as Default u seçin.

İki komutla temel renklendirme işlemlerini yapalım, sonra detaylara gireriz.

echo "export CLICOLOR=1" >> $HOME/.profile
echo "export LSCOLORS=GxFxCxDxBxegedabagDcad" >> $HOME/.profile

Command + Q Tuş kombinasyonu ile terminali kapatıp tekrar açıyoruz, ls -la komutunu verin, evet artık renkli terminal var.

Salatalık özü cilt kreminden önceki ve sonraki hali -P
(daha&helliip;)

lselect ve OpenTerminalHere

lselect Finder için mükemmel bir tool. Basitçe yaptığı işlem aktif Finder penceresinde vereceğiniz bir regexp satırına uyan bütün dosya ve dizinleri seçmek. *.png veya *[0-9].??? gibi desenlerle bir dizinde select yapabilmek işleri kolaylaştırıyor -D

http://anoved.net/files/lselect-toolbar-app.zip

Link bir gün kırılırsa diye local mirror koydum. Snow leopardda denedim sorun yok, leopard ve tiger da deneyip yorum olarak eklerseniz sevinirim.

Daha önce bahsettiğim Finder için terminal butonunda eğer terminal penceresi açıksa, yeni bir pencere açıyordu. Buradan ve buradan yararlanarak bu zip dosyasını hazırladım. Diğer script de olan 2. pencere açma hatası ve terminal açıldıktan sonra görünen cd komutu yok. Eğer Terminal penceresi açıksa yeni bir terminal penceresi açıyor.

Scriptlerin nasıl kurulacağını Finder için TextMate Butonu yazısında söylemiştim.

MacOS X ve BIND ile yasaklı sitelere kesin çözüm

Gün geçtikçe Türkiye’nin kullanabileceği internet servisleri azalıyor. Daha önce Youtube DNS ve IP Adresleri başlıklı ve The Pirate Bay’dan Sıkıntısız Torrent Kullanabilmek başlıklı yazılar yazmıştım. Fakat her yasaklı site için bu gibi bir yöntem kullanmak oldukça zahmetli ve can sıkıcı bir iş. İleride servislerde yapılacak değişiklikler sonrasında bu yöntemler etkisiz kalacaktır.

MacOS X üzerinde default gelen bind ile bu sorunu tamamen ortadan kaldırıyoruz. Terminalden aşağıdaki komutları uyguluyoruz.

$ sudo rndc-confgen > /etc/rndc.conf
$ sudo service org.isc.named start

Alternatif yöntem;

$ sudo rndc-confgen -a
$ sudo service org.isc.named start

System Preferences -> Network -> Advanced -> DNS kısmına dns adresi olarak 127.0.0.1 giriyoruz.
Bilgisayarımızı yeniden başlatıyoruz.

Detaylı bilgi için ISC sayfalarını kontrol edebilirsiniz.

Sisteminiz MacOS X değil ise, BIND kurup gerekli değişiklikleri yapıp aynı şekilde DNS bazlı yasakları aşabilirsiniz.

The Pirate Bay’dan Sıkıntısız Torrent Kullanabilmek

Aşağıdaki belge geçerliliğini zamanla yitirebilir. Sorunsuz ve kesin çözüm için Macos X ve Bind ile yasaklı sitelere kesin çözüm yazısını okuyabilirsiniz.

Kısım 1 :  Tanım ve Temel Bilgiler

Bilindiği üzere süper hızlı internet sağlayıcımız, saçma kanunlar sayesinde bize olur olmaz yasaklar uygulamakta. Daha önce Youtube DNS ve IP adresleri diye bir yazı yazmıştım. Bu sefer, balık yemesini değil balık tutmasını yazacam -P Hatta çok abartıp, çok başlangıç düzey yazacağım, neyi nasıl yapacağınızı biliyorsanız, sadece IP adreslerini almak için yazının doğrudan sonuna gidebilirsiniz.

The Pirate Bay torrentlerini bir şekilde edinseniz bile, torrent istemciniz  hata kodu döndürebilir. Aşağıdaki ayarları yaptıktan sonra, hem The Pirate Bay a sansürlere takılmadan girebilecek, hemde sıkıntısız torrent indirebileceksiniz.

Bilindiği üzere TTNet’in sansür uygulamasında yaptıkları şey sadece yasaklamak istedikleri sitenin IP adreslerini DNS sunucularından kaldırıp, yasaklandığına dair uyarı çıkan sayfaya yönlendirmek. Her bilgisayar DNS çözümlemesinde önce kendi hosts dosyasına bakar, eğer hosts dosyasında bir alan adı için bir host tanımlanmışsa, öncelikle o hostu tercih eder, tanımlanmamışsa sisteme tanımlı olan DNS sunucusuna aradığı hostu çözümlemesini ister.

(daha&helliip;)

Finder için Terminal Butonu

Benim için Terminal.app Dock’da bulunması gereken ilk simgedir. Finder ile bulunduğum yerde Terminal açma fikri tamda aradığımdı -) Terminali çalıştıracaksınız ve o dizinde işlerinizi tamamlayıp, kapatacaksınız. cd komutunu unutun -P

terminal-button1

Bir önceki yazıyı bulduğum yerile aynı yerde rastladım bu butona. Butonun asıl sahibi burası

Fakat burada verilen butonun iconu MacOS Tiger 10.4.x için hazırlanmış, burada da nasıl Leopard için iconu değiştirebileceğiniz açıklanmış. Leopard kullandığım için ben buradaki icon değiştirmesini yaptım.

Önce kurulumu anlatalım,
MacOS Leopard 10.5 için veya MacOS Tiger 10.4 için size uygun olan .zip dosyasını edinin. .zip in içerisinden çıkan dosyayı ~/Library/Scripts altına taşıyın. Daha sonra tut-sürükle ile Finder araç çubuğunda bulunmasını istediğiniz yere bırakın.
Hepsi bu kadar. Artık hangi Finder penceresinde Terminal penceresine tıklarsanız, açılacak terminaliniz otomatik olarak dizin değiştirecektir.

Tek bir sıkıntısı var, eğer Terminal çalışır durumda değilse, otomatik olarak bir kez terminal pencere açıyor ve ardından buton ikinci pencereyi açıyor. Terminal çalışır durumdayken böyle bir soruna rastlamadım. Terminal in Preferences > Startup bölümünde ‘On startup, open new window with settings‘ diye bir bölüm var ama orası sadece açılacak olan terminalin ayarlarını değiştirmesini sağlıyor. Açılışta tek pencere açılmasını nasıl sağlayacağımı bulamadım.

Finder için TextMate Butonu

Her ne kadar Türkçe karakter sorunlarından dolayı canımı sıksada hala TextMate benim için on numara bir editör. Desteklediği diller saymakla bitmez, konu bu olmadığı için desteklediği dilleri görmek isteyenleri TextMate sayfasına gönderelim.

TextMate iconunu Finder Toolbarda görmek isteyenlerle devam ediyoruz..

terminal-button

Simon Dorfman tarafından yazılan bu küçük kod parçasını daha 24 saattir kullanıyorum. Tek kelimeyle bayıldım!

Bu OpenInTextMate.zip dosyasını bilgisayarınıza indirdikten sonra herhangi bir yere açın. Burada tavsiye edilen “/Applications/Scripts” altına .zip’in içerisinden çıkan OpenInTextMate.app dosyasını yükleyin. Ben ~/Library/Scripts altına yükledim. Daha sonra dosyayı tutup sürükleyerek Finder araç çubuğunuzda bulunmasını istediğiniz yere bırakın.

Bir finder penceresi açın ve bir dosyayı veya klasörü seçip TextMate iconuna tıklayın. Artık Dock’dan TextMate iconunu kaldırma zamanı geldi sanırım -)

.Zip İçin Yedek Yansı

MacOSX Tiger’da mysql_connect() Sorunsalı

Dün kurduğum phpMyAdmin‘den sonra config.php dosyamda bulunan

mysql_connect('localhost','root','PASSWORD') or die ("Veritabanı hatası. Hata mesajı :" .mysql_error());

satırımın çalışmadığının farkına vardım. Dosyayı çalıştırdığım zaman şöyle bir hata aldım :

Can't connect to local MySQL server through socket '/var/mysql/mysql.sock' (2)

Bu sorun /etc/php.ini dosyasında mysql socket yolunun belirtilmediğinden veya yanlış belirtildiğinden kaynaklanıyor.
/Application/Utilities/Terminal programını çalıştırıyoruz, $ sudo nano /etc/php.ini komutunu verdikten sonra dosya içerisinde aramak için Ctrl + W tuş kombinasyonunu kullanıyoruz. Pencerenin hemen altında açılan satıra, mysql.default_socket yazıp enter e basıyoruz. Satırımız bulunmuşsa ve = işaretinin karşısı boş ise hemen buraya /tmp/mysql.sock yazıyoruz. Satırımız bulunamamış ise [MySQL] parafının altında herhangi bir yere mysql.default_socket = /tmp/mysql.sock satırını ekliyoruz.

Fn+F2 veya Ctrl+X tuş kombinasyonlarından birini kullanarak dosyamızı kapatıyoruz. Kaydedeyim mi sorusuna ‘Y’ tuşu ile cevap veriyoruz.

Son olarak MySQL ve Apache‘yi yeniden başlatıyoruz.

Yeniden başlatmak için;
Elma menüsünden System Preferences‘i açıp, Other başlığı altındaki MySQL simgesine tıklıyoruz. Stop MySQL Server butonuna tıklayıp, root şifremizi giriyoruz. Bi kaç saniye bekleyip, MySQL sunucusunun durduğundan emin olduktan sonra Start MySQL Server butonuna tekrar tıklayıp MySQL sunucusunu başlatıyoruz.

Üst kısımdaki Show All butonuna tıklayarak ana menüye dönüyoruz. Sharing bölümünden Personel Web Sharing‘e de yukarıdaki gibi önce Stop, sonra Start ediyoruz. Bu sayede Apache Web Sunucumuz da durdurup, tekrar başlatmış oluyoruz.

Hepsi bu kadar -) Artık PHP mysql_connect() function’ımız tertemiz çalışıyor.

MacOSX Tiger’ı MySQL ve PhpMyAdmin için evcilleştirmek

Uzun süredir geliştirdiğim PHP+MySQL projeleri debian üzerinde ağdan test ediyordum. Evde küçük bir bilgisayarı kendi projeleriniz için SQL server yapmak gerçekten mantıklı bir iş. Kullandığınız bilgisayarınızın tüm işlemci gücü size kalır. Evden dışarı çıkınca PowerBook G4’ümde MySQL kurulu olmadığı için aksamalar oluyordu.

Geçtiğimiz günlerde MySQL kurmuştum. Birde Web tabanlı GUI’ye ihtiyacım var. Çok tercih edilen, özgür, php tabanlı PHPMyAdmin tam aradığım ve yıllardır kullandığım bir yazılım. Bugün de PhpMyAdmin kurulumu yaptım.

OSX Tiger kurulumlar sırasında beni pek üzmedi. Umarım sizide üzmez -)

MySQL Kurulumu :
Öncelikle MySQL’i bu adresden ediniyoruz. Gereksiz detaylara girmeyeceğim. İndirdiğiniz dosyanın içerisindeki paketi kurun.

Application > Utilites > Terminal programını açıyoruz ve sudo nano /etc/profile komutunu veriyoruz. /etc/profile dosyasının içerisi ‘nano’ metin editörü ile gösterilmeden hemen önce sizden ‘Sistem Yöneticisi Şifresi’ yani ‘root password’ isteyecektir. Şifrenizi girin ve Enter’a basın.

Daha sonra

PATH="/bin:/sbin:/usr/bin:/usr/sbin"

satırını bulun ve başına # işareti koyun.

# PATH="/bin:/sbin:/usr/bin:/usr/sbin"

şeklini alacaktır.

Kapattığımız satırın hemen altına

PATH="/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/mysql/bin"

satırını ekliyoruz. Kaydedip çıkmak için Fn + F2 veya Ctrl+X tuş kombinasyonlarından birini kullanabilirsiniz. Size kaydetmek isteyip istemediğinizi soracaktır, Y tuşuna basarakda kaydetmek istediğinizi onaylayın.

Son olarak terminalimizden mysql_secure_installation komutunu veriyoruz.

Enter current password for root (enter for none): 
OK, successfully used password, moving on...
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
Set root password? [Y/n] Y
New password: 
Re-enter new password:

MySQL root parolamızı yazmak için Y tuşuna basıyoruz arkasından iki kez root şifremizi yazıyoruz.

Password updated successfully!
Reloading privilege tables..
... Success!
By default, a MySQL installation has an anonymous user, allowing anyone
to log into MySQL without having to have a user account created for
them.  This is intended only for testing, and to make the installation
go a bit smoother.  You should remove them before moving into a
production environment.
Remove anonymous users? [Y/n] Y

Burada Y tuşuna basarak, misafir kullanıcının MySQL e erişimini kaldırıyoruz.

... Success!
Normally, root should only be allowed to connect from 'localhost'.  This
ensures that someone cannot guess at the root password from the network.
Disallow root login remotely? [Y/n] Y

Y tuşuna basarak uzak root girişini kapatıyoruz.

… Success!
By default, MySQL comes with a database named 'test' that anyone can
access.  This is also intended only for testing, and should be removed
before moving into a production environment.
Remove test database and access to it? [Y/n] Y

Yine Y tuşuna basarak test veritabanı ve yetkilerini kaldırıyoruz.

- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
Reloading the privilege tables will ensure that all changes made so far
will take effect immediately.
Reload privilege tables now? [Y/n] Y

Y tuşuna basarak MySQL’in çalışması için gerekli tabloyu yeniden yüklüyoruz.

... Success!
Cleaning up...
All done!  If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!

MySQL kurulumumuz bu kadar. Şimdi bir test edelim bakalım, kurulumumuz doğru bir şekilde tamamlanmış mı.

$ mysqladmin -u root -p status

komutunu verip arkasından şifremizi girdikten sonra, şuna benzer bir çıktı almamız gerekiyor.

Uptime: 6067  Threads: 1  Questions: 188  Slow queries: 0  Opens: 21  Flush tables: 1  Open tables: 15  Queries per second avg: 0.031

MySQL kurulumu bu kadar -) Şimdi yötecek araca ihtiyacımız var.

PhpMyAdmin Kurulumu

PhpMyAdmin kurulumu çok detaylı. Fazla detaya girmek istemiyorum. Bu yazının sonunda işinizi görecek bi tane config dosyası vereceğim -)

Öncelikle PhpMyAdmin‘i ediniyoruz. Daha sonra gelen sıkıştırılmış veya arşivlenmiş dosyayı açıyoruz. İçerisinden çıkan tüm dosyaları /Users/KULLANICI_ADI/Sites altına kopyalıyoruz. Sizin benim localhost adresim /Users/north/Sites olduğu için ben buraya kopyalıyorum. Siz özel bir değişiklik yapmadıysanız büyük ihtimalle sizin içinde burası doğru adres olacaktır.

Klasörümüzün ismini phpmyadmin olarak değiştirelim ki kolaylıkla ulaşabilelim. Kurulum sonrası http://localhost/~USER/phpmyadmin/ adresinden phpMyAdmin’e ulaşabileceğiz. (USER yerine sizin kullanıcı adınız.)

Kurulumu ana dizindeki config.sample.inc.php dosyasını el ile düzenledikten sonra config.inc.php adıyla kaydederek yapabileceğiniz gibi, kurulum scriptini de kullanabilirsiniz.
Kurulum Scriptini Kullanmak İstiyorsanız

Öncelikle ana dizinde yetkileri 777 olan config adında boş bir klasör oluşturun. Kurulum scriptimiz bu klasörü arayacaktır. Bulamazsa veya yetkileri doğru değilse kayıt yapamayacağı için yapacağınız tüm ayarlar boşa gidecektir. Kurulum betiğini (scriptini) çalıştırmak için http://localhost/~USER/phpmyadmin/scripts/setup.php dosyasını web tarayıcınızla açmanız yeterli olacaktır.
Aşağıdaki ekran görüntüsündeki gibi bir ekranla karşılaşacaksınız.
phpmyadmin-1

Buradan gerekli ayarları yaparak PhpMyAdmin’i kurabilirsiniz.

Son olarak;

Hazır config.inc.php dosyası (phpMYAdmin 2.10.2 sürümü için):

Aşağıdaki config dosyasında bi kaç ufak yeri değiştirerek kullanabilirsiniz. Değiştirmeniz gereken yerlerin yanlarında gerekli açıklamalar yazıyor.
Server portu, soketi gibi değiştirilebilir yerler var. MySQL kurulumunu yukarıda anlattığım gibi kurduysanız ve ‘ön tanımlı’ ayarları değiştirmediyseniz bu config dosyası işinizi görecektir.

<?php
  $i = 0;
  $i++;
  $cfg['Servers'][$i]['host'] = 'localhost';
  $cfg['Servers'][$i]['extension'] = 'mysql';
  $cfg['Servers'][$i]['port'] = '3306';
  $cfg['Servers'][$i]['socket'] = '/tmp/mysql.sock';
  $cfg['Servers'][$i]['connect_type'] = 'socket';
  $cfg['Servers'][$i]['compress'] = false;
  $cfg['Servers'][$i]['controluser'] = 'root';
  $cfg['Servers'][$i]['controlpass'] = 'PAROLA'; // PAROLA yazan yere kendi şifrenizi yazın.
  $cfg['Servers'][$i]['auth_type'] = 'config';
  $cfg['Servers'][$i]['user'] = 'root';
  $cfg['Servers'][$i]['password'] = 'PAROLA'; // PAROLA yazan yere kendi şifrenizi yazın.
  $cfg['Servers'][$i]['SignonURL'] = 'http://localhost/~USER/phpmyadmin/'; // USER yazan yerlere kendi kullanıcı adınızı yazın. phpMyAdmin'in konumu değişik ise tamamen kendi bilgisayarınıza göre konumu yazabilirsiniz.
  $cfg['Servers'][$i]['LogoutURL'] = 'http://localhost/~USER/phpmyadmin/'; // USER yazan yerlere kendi kullanıcı adınızı yazın. phpMyAdmin'in konumu değişik ise tamamen kendi bilgisayarınıza göre konumu yazabilirsiniz.
  $cfg['LeftFrameLight'] = true;
  $cfg['LeftFrameDBTree'] = true;
  $cfg['LeftFrameDBSeparator'] = '_';
  $cfg['LeftFrameTableSeparator'] = '__';
  $cfg['LeftFrameTableLevel'] = 1;
  $cfg['LeftDisplayLogo'] = true;
  $cfg['LeftDisplayServers'] = false;
  $cfg['DisplayServersList'] = false;
  $cfg['DisplayDatabasesList'] = false;
  $cfg['LeftPointerEnable'] = true;
?>

Bitti ! -)