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

irfaN | Apple, MySQL, PHP | Saturday, June 30th, 2007

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 (Graphical User Interface – Grafiksel Kullanıcı Arayüzü)’ye ihtiyacım var. Çok tercih edilen, özgür, php tabanlı PHP My Admin 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. Saçma sapan detaylara girmeyeceğim. İndirdiğiniz dosyanın içerisindeki paketi sisteminize 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: hedehodo
Re-enter new password: hedehodo

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 ! -)

Wget For Mac OS X Tiger

irfaN | Apple | Sunday, June 17th, 2007

MacOSX Tiger bilindiği üzere GNU/gcc kullanabiliyor. Zaten şu günlerde Apple; “Özgür yazılımları kullanarak milyon dolarlar kazanan, özgür yazılıma, etiğe, ahlaka sığmayacak WWDC’lar düzenleyen şirket” manasına geliyor.

Konu özgür yazılım ve Apple olunca aklıma dün yazdığım ‘Steve Ekmek Yediği Tasa Pisliyor’ başlıklı yazı geldi, sinirlerim tavana vurdu bu vakitte. (Günlerden Pazar, saat 05:21)

Uzun zamandır ‘Bu sisteme GNU yazılımlarını derleyebilirmiyim?’ sorusuna cevap arıyordum.

Bu akşam #turklug‘dan sevgili hüseyin ile sohbet ederken ‘Apple altında wget nasıl?’ diye sordum. Bana bu adresdeki MacOS’a port edilmiş Wget-1.10.2.pkg.zip paketini önerdi.

Bu işimi görür, fakat aradığım bu değildi. Başkası almış wget’i OSX’e port etmiş. E peki port edilmemiş bir paket lazım olursa ne yapacam ? Bir süre googling yaptıktan sonra Bu adrese ulaştım. Bana bu adresteki wget-1.10.2.tar.gz isimli dosyayı öneriyor.
Dosyayı çekip açtıktan sonra,

1
2
3
$ ./configure
$ make
$ sudo make install

Evet bunlar GNU/Linux’da kullanılan derleme komutları, OSX de aynı bu şekilde sanırım tüm GNU yazılımlarını derleyebiliriz.

Bilmiyodum, öğrenmiş oldum.. Yazıyım dedim..

Mac OSX Tiger’da Klavye Kestirmesi Düzenlemek

irfaN | Apple | Sunday, June 17th, 2007

Tiger’la birlikte gelen sorunlardan biri de Türkçe Carbon betiğini yükledikten sonra bazı klavye kestirmelerinin (M$ diliyle kısayollarının) bozulması. Bazı kestirmeler evrenseldir ve değiştirmek hiç de mantıklı değildir.

Aslında benim bilgisayar kullanırken dikkat ettiğim hususlardan biri de bu. Herhangi bir programın orjinal kestirmelerini değiştirmek yerine onlara alışmayı tercih ederim. Her OS kurulumunda yeni kısayol tanımlamak, var olan kısayolları yedeklemek, başka bilgisayara geçtiğinizde yabancılık çekmemek için bu iyi bir yoldur.

Mac OSX Tiger’a Türkçe Carbon betiğini kurduktan sonra ‘Get Info’ kestirmesinin standartta Elma+İ tuşu olması gerekirken, Elma+0 a dönmüş olması muhtemeldir. Veya pencere geçişi için kullanılan ‘Elma+>’ tuş kombinasyonunun ‘Elma+w’ gibi saçma bir hal almış olabilir.

Düzeltmek için ‘System Preferences> Keyboard & Mouse> Keyboard Shortcuts’ bölümünden aşağıdaki minik ‘+’ tuşuna tıkladıktan sonra ‘Application’ (Programlar) listesinden Finder’i seçiyoruz ve ‘Menu Title’ (Menü Başlığı) olarak ‘Get Info’ yazıyoruz. Keyboard Shortcut (Klavye kestirmesi) olarakda ‘Elma+İ’ tuş kombinasyonuna basıyoruz. Add (Ekle) butonuna tıkladığımızda herşeyin düzelmiş olması gerekiyor.

Biraz önce böyle olmadı ve namussuz beni bayaa uğraştırdı. ‘Get Info’ yerine ‘Info’ yazmayı, Finder’i seçtiğim yeri boş bırakmayı falan denedim, yok yine olmadı. Farklı kestirme atamayı denedim, yine olmadı..

Çözüm, oturumu kapatıp tekrar açmakmış -) Az önce öğrenmiş oldum -)

Aynı şekilde Türkçe Carbon betiğini yükledikten sonra Finder’da bir dosya ismi içerisinde türkçe karakter geçiyorsa saçmalıyordu. OSX’i yeniden başlatmak da yetmiyor, oturumu kapatıp, tekrar açmak gerekiyor.

Bazen çok küçük detaylar gözden kaçabiliyor -)

Steve Ekmek Yediği Tasa Pisliyor

irfaN | Apple | Saturday, June 16th, 2007

Geçtiğimiz pazartesi günü Apple CEO’su Steve Jobs WWDC‘de sahnedeydi. Evet, bir çok eski Mac’cinin dediği gibi Apple artık eski Apple değil. Steve, M$ patronu Bill’i geçti. Steve Jobs sadece şov yapmak için sahne alıyor. Müşterilerine palavralar uyduruyor, iPhone gibi bir alet yüzünden Mac OSX Leopard‘ın gecikmesi umurlarında bile değil. Defalarca onlarca sitede yazıldı bunlar.

Keşke bu kadarla kalsa, bakın Mozilla COO’su John, Steve Jobs’un şovunda güzel bir ayrıntıyı yakalamış.

steve_1

Bu şovdaki birinci sahne. Yakın zamanda Safari For Windows‘un beta sürümü duyurulmuştu. Safari şimdiye kadar %5 kullanım oranını pek aşamadı. Steve’in planı web tarayıcı savaşlarına da katılmak.

Aslında tarayıcı savaşına katılmaktan ziyade, tarayıcı piyasasındaki IE ye rakip Firefox ve diğerlerini tamamen ortadan kaldırmak. İkinci grafiğe bakalım şimdi;

steve_2

Şimdi bunun adına “ekmek yediği tasa sıçmak” derler.

Firefox bilindiği üzere özgür yazılım. Peki Apple’ın Tiger’ı, yakın zamanda çıkmasını beklediğimiz (yine bir sebepden dolayı gecikmezse) Leopard’ı inceleyelim. Bu adamlar bu sistemleri nasıl yapmışlar.

Safari : Konqueror (KHTML) motoru kullanıyor (Özgür Yazılım)
Web server : Apache (Özgür Yazılım)
Web Programlama Dili : PHP (Özgür Yazılım)
Sistem Kontrol : sysctl (Özgür Yazılım)
Sistem Çekirdeği : BSD (Berkeley Software Dist. – Özgür Yazılım)
Sistem Güvenliği : ipfw (Özgür Yazılım)
Sistem Log : syslog (Özgür Yazılım)
Derleyici : gcc (Özgür Yazılım)
Spotlight : locate (Özgür Yazılım)
MTA (Mail Transfer Agent) : postfix (Özgür Yazılım)
perl : Özgür yazılım
…..
…….
………

Bre utanmaz, senin ucu bucağı bilinmez servetini Özgür Yazılım ayakta tutuyor. Sen hala ayakta kalıyorsan bu özgür yazılım sayesinde. Sen kalkıp özgür yazılım ürünlerinden dünyanın %15′inin kullandığı Firefox’un tahtına Safari ile oturmak istiyorsun.

IE’nin yüzdesi değişmeyecek, Firefox, Opera ve diğerlerini piyasadan sileceksin.

Yok yok, bu Steve iyice azıttı.

IE Transparan PNG Sorunu

irfaN | İnternet | Thursday, June 14th, 2007

Bu sorun, daha öncedende web geliştiren hemen hemen herkesin başından geçmiştir. Geri kalmış Internet Explorer PNG dosyalarını (PNG nin özgür olması nedeniyle midir bilinmez) tam olarak desteklemiyor. Safari, Mozilla, Fireox gibi bir çok tarayıcı 24 bit transparan PNG dosyasını olduğu gibi gösterme yeteneğine sahipken, M$ Internet Explorer zemine grilik atıyor.

Elimizdeki resim 150 x 150 px ebadında, 24 bit transparan zemine sahip bir PNG dosyası olsun. CSS dosyamıza #hucre isminde bir CSS id tanımlayalım ve kodumuzu yazalım;

1
2
3
4
5
6
#hucre {
width:150px;
height:150px;
background: transparent url(image.png) !important; background: transparent;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(enabled=true , sizingMethod=scale src='image.png');
}

Artık Internet Explorer de PNG dosyamızı transparan bir şekilde tanıycaktır. Ben bu şekilde sorun yaşamadım. Hala sorununuz devam ediyorsa aşağıdaki satırları da CSS dosyanıza eklemenizde fayda var.

1
2
3
4
* html #hucre a {
position: relative; }
*+html #hucre a {
position: relative; }

Google Analytics Yeni Arayüzü

irfaN | Google, İnternet | Saturday, June 2nd, 2007

Google Analytics arayüzünde ciddi değişiklikler yapmış. İncelemeye fırsatım olmadı, şöyle bir göz attım. Kullanım olarak fazla bir değişiklik/kolaylık dikkatimi çekmedi. Fakat görsel olarak bayaa hoş olmuş diyebilirim.

Ekran Görüntüsü:
google_analytics

Cekirdek; WordPress | Gorsel; Roy Tanck | Ev Sponsoru - Hosting degil! bildigin ev - ; SnefeRu