gurcanozturk.com

başka türlü bir şey benim istediğim

Hackintosh RTL8187b problemi ve cozumu

Bir suredir Toshiba A200-1AH model laptopta Mac OS X 10.5.7 Leopard (iATKOS v7) kullaniyorum ancak wireless kart Intel iw4965agn olunca yapacak cok bir sey kalmiyor, cunku henuz bu kartla birlikte saglikli calisan bir Mac driveri yok. Bu nedenle Teknosa’dan Cisco/Linksys WUSBUSB54GC model (her ne kadar uzerinde model olarak WUSB54GC yazsa da kendisi WUSB54GC-B ya da WUSB54GC-EU) wireless adapter aldim. Cihaz uzerinde Version 2 yaziyor ki bu driver bakimindan oldukca onemli. Cunku v1 ve v3 RaLink RT2xxx chipseti barindirirken, v2 cihazlar Realtek 8187b chipseti barindiriyor.

Ilk olarak versiyona dikkat etmedigim icin RaLink RT73 driverlariyla deneme yaptim (v1 bir USB adapter ile de denemeler yapmistim daha once, sorunsuz calismisti yine iATKOS v7 uzerinde) ancak normaldir basarisiz oldum. Daha sonra Leopard’da System Profiler ile bakildiginda device olarak Realtek WLAN_8187b, vendor ID olarak 0×0073, produc ID olarak 0×1737 gorununce Realtek firmasinin sitesinden Mac OS X 10.4.x/10.5.x driverlarini indirip deneme yaptim, yine basarisiz oldum. Forumlarda kisa bir arastirma sonucunda, macosxhints.com forumundaki cozum bana bir fikir verdi. Benim USB adaptorum de ayni chipseti kullandigi icin ayni cozumu uyguladim ve basarili oldum.

Kisaca, yapilmasi gerekenler;
Read the rest of this entry »

Windows7 ile Mac OS X paylaşımlarına erişim

Denemek için kurduğum Windows7 ile evdeki Macmini üzerindeki ağ paylaşımlarına ulaşamadığımı farkettim. Meğer M$ hazretleri ağ paylaşımlarındaki güvenlik özelliklerini değiştirmiş. Forumlarda yaptığım aramalarda bulduğum çözüm işe yarıyor. Yapılması gereken adımlar:
Read the rest of this entry »

Networkten MP3 dinlemek/dinletmek – DAAP/iTunes

Evdeki ses çıkaran küçük PC’yi kenara atıp yerine Apple MacMini alınca, linux üzerindeki MP3 sunucum da rafa kalktı. MacMini üzerinde OSX Leopard çalıştığı için, MacMini için Digital Audio Access Protocol (DAAP) destekleyen bir sunucu arayışına girdim. Firefly bu iş için oldukça ideal, Windows, Linux, Mac OS X and Mobile OS X (iPod Touch ve iPhone) üzerinde çalışabiliyor. Ben hem Mac OSX hem de linux üzerinde kurup denedim.

Mac OS X üzerinde kurulum oldukça kolay. Normalde Mac OS X için stable release edilmiş bir dosya yok, SVN releaselarda birini http://nightlies.fireflymediaserver.org/nightlies/svn-1696/Firefly-svn-1696.dmg adresinden indirip sisteminize kurun. System Preferences app ile ayarlarını yapabilirsiniz.

Linux’ta kurulum için http://www.fireflymediaserver.org/download.php adresinden stable bir release download edebilirsiniz. Kaynak kodu açıp kurduktan sonra, contrib dizinindeki yapılandırma dosyasını /etc altına kopyalamanız gerekiyor.

cd /usr/local/src
wget http://garr.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.4.2.tar.gz
tar -zxvf mt-daapd-0.2.4.2.tar.gz
cd mt-daapd-0.2.4.2
./configure
make
make install
cp contrib/mt-daapd.conf /etc

Daha sonra bu dosyada gerekli birkaç ayarı yaptıktan sonra sunucunuzu çalıştırın.
Yapılandırma dosyası oldukça küçük ve basit. Örnek olarak içeriği şu şekilde olmalıdır.

web_root /usr/share/mt-daapd/admin-root
port 3689
admin_pw mypass
db_dir /var/cache/mt-daapd
mp3_dir /download/gurcan-mp3/
servername GurcanMusicServer
runas nobody
playlist /etc/mt-daapd.playlist
extensions .mp3,.m4a,.m4p

Sunucuyu /etc/init.d/mt-daapd komutuyla calıştırdıktan sonra sıra geldi sunucuya bağlanmaya. Herhangi bir DAAP destekleyen müzik dinleme programı kullanabilirsiniz. Bu programlarda DAAP protokolünün özelliği olarak otomatik olarak DAAP sunucu ismi çıkıyor ekrana.

*Bazı programlarda (Winamp, SongBird, amaroK) DAAP desteği vermek için ekstra plugin gerekebilir. Bunları da clientiniza eklemeniz gerekiyor.
Benim favorim SongBird

Client olarak birkac öneri;
Linux – amaroK, SongBird
Windows – iTunes, SongBird
Mac OS X – iTunes
Windows Mobile 6 – WifiTunes
Apple iPhone – iTunes

Artık tüm ağınızdan hatta benim gibi, firewalldan 3689. porta gerekli izinleri verirseniz, işyerinizden evinizdeki MacMini üzerindeki müziğinizi bile dinleyebilirsiniz :)

Aynı sunucu üzerinde PHP4 ile PHP5 kurulumu

Genelde yaşadığım problemlerden biridir: PHP4 ile gelen XML fonksiyonlarını kullanarak yazılmış bir PHP yazılımı, PHP5 çalıştıran bir sunucuda çalışmaz, hatalarla uğraşmak programı yeniden yazmaktan zor gelir. Programı yeniden yazmak ise ölümdür. Bu durumda en mantıklı çözüm, ya iki ayrı web sunucu kullanmak (farklı portlarda çalışan iki ayrı web server instance) veya PHP4 ve PHP5′i aynı sunucuya yüklemek.

İşte aynı sunucu üzerinde ikinci bir web sunucu çalıştırmadan, aynı web sunucu üzerinde hem PHP4 hem PHP5 kullanabilmek için yapılacaklar. Sunucu olarak RHEL 5/CentOS 5 kullandığım için bu dağıtıma göre anlattım.
Read the rest of this entry »

Ubuntu ile 4GB ram

32 bit islemci ile calisan sisteminize 4GB ram taktiniz, BIOS 4GB diyor Ubuntu 3GB. Hangisine inanacagiz?

32bit islemcilerde en fazla 4GB bellek adreslenebileceginden dolayi, sisteminiz 3 GB olarak calisir, bunu asmak icin Physical Address Extension (PAE) eklentisi olan bir kernel kullanmalisiniz. Bunun icin Ubuntu sisteminizde asagidaki komutlari calistirip sisteminizi yeniden baslatmaniz yeterli olacaktir.

sudo apt-get install linux-headers-server linux-image-server linux-server linux-restricted-modules-server

Kabul, server kernel biraz yavas :)

Slave: received end packet from server, apparent master shutdown:

Diyelim ki 1 master ve 2 slave sunucudan olusan mysql replikasyonu yaptiniz, ama slave sunucunun mysqld loglarinda surekli olarak “Slave: received end packet from server, apparent master shutdown:” goruyorsunuz, replication delay_time ise NULL gorunuyor sebepsiz yere. Problem ne ?

Aslinda cok basitmis problem, 2 slave sunucuda da ayni ID numarasini verirseniz, bu hatayi aliyorsunuz, tum sunucularin my.cnf dosyasinda server-id degiskenini farkli yapmalisiniz.

Phpmyadmin error: “Cannot start session without errors”

RHEL 5 uzerinde, phpmyadmin kurup web sunucu olarak apache2 yerine lighttpd kullanmaya karar verirseniz, dikkat etmeniz gereken bir nokta var:

Kurulum sonrasi, phpmyadmine web uzerinden erismeye calistiginizda,

“Cannot start session without errors, please check errors given in your PHP and/or webserver log file and configure your PHP installation properly.”

gibi hata aldiysaniz, sorun php session bilgilerini tutacak olan dizinin kullanici haklarini, hangi akla hizmetse lighttpd yerine apache kullanicisi olarak ayarlamasi. Bu durumda da lighttpd, session bilgisini dizine yazamadigi icin hata veriyor.

Cozum oldukca basit;

/var/lib/php/session/ dizininin kullanici hakkini apache degil lighttpd yapmlisiniz. Daha sonra gerekirse bu dizine yazma hakkini 777 yapin. Gerekli komutlar;

chown lighttpd.lighttpd -R /var/lib/php/session/
chmod -R 777 /var/lib/php/session/

Regexp kullanarak postfix’te catch-all tanimi

Diyelim ki, mail sunucunuzda bir çok alan adı var, bunların her birinde gurcan.ozturk@domain1.tld, gurcan.ozturk@domain2.tld şeklinde tanımlar yapmak istemiyorsunuz, her domaine gelen gurcan.ozturk maillerini tek bir emailde toplamak istiyorsunuz. (catch-all işlemi) Postfix’te aşağıdaki ayarları yaparak bunu basitce sağlayabilirsiniz.

Öncelikle /etc/postfix/main.cf dosyasına aşağıdaki satırı ekleyin.

virtual_alias_maps = regexp:/etc/postfix/virtual

Daha sonra /etc/postfix/virtual dosyası içine aşağıdaki satırı ekleyin, dosya yoksa oluşturun.

/^gurcan.ozturk@/ gurcan.ozturk@domain.tld

Aşağıdaki komutları sıra ile verdikten sonra, yaptığınız ayarlama aktif olacaktır.

postmap /etc/postfıx/virtual
postfix reload

İçince gurcan gecen her emaile gelenleri toplamak için ise catch-all satırı şu şekilde olmalıdır.

/.*gurcan.*@/ gurcan.ozturk@domain.tld

Ext3 Partition buyutme

Gectigimiz gunlerde calismakta olan web sunucularimizdan birinin yenilenmesi gerekiyordu, ben de sunucu ayarlarini bastan yapmaktansa var olan sunucunun disk imajini alarak platformunu degistirmeyi dusundum. Eski sunucu HP Proliant DL380 G4 bir sunucu iken, yeni sunucu IBM xSeries x3850 bir sunucu olunca insan nasil olacak diye dusunmeden edemiyor.

Ilk olarak, eski sunucudaki disk uzerindeki partitionlarin imajini partimage ile aldim, bu amacla SysRescueCD kullandim. IBM x3850 sunucu SysRescueCD uzerindeki default kernel ile acilmiyor, “checking TSC synchronization bla bla” hatasi verip cakilip kaliyor. Bunu cozmek icin sunucuyu SysRescueCD ‘nin “altker64″ boot parametresi ile boot etmek gerekiyor.

HP sunucunun toplam disk alani 270GB iken, yeni sunucuda 415GB civarinda oldugu icin imaj dosyasini yazdiginizda, partition buyuklugu 270GB olacak ve geri kalan alani kullanamayacaksiniz. Bunu cozmek icin yine SysRescueCD kullandim.

SysRescueCD ile boot ettikten sonra partitioni buyutmek icin asagidaki komutlar yeterli olacaktir. (Burada ornek olarak partition ismi /dev/sda1 verilmistir.)

tune2fs -O^has_journal /dev/sda1
e2fsck -f /dev/sda1
resize2fs /dev/sda1 -S 5
tune2fs -j /dev/sda1

Burada, resize2fs komutunun -S (RAID-stride) parametresi olarak diskler icin kullandiginiz RAID bilgisini verdiginizde, RAID durumuna gore partition buyuklugunu ayarlayacak sizin partition buyuklugu hesap etmenize gerek kalmayacaktir. (IBM sunucuda RAID5 ayarlamis oldugum icin -S 5 parametresi verdim.)

Sunucunuzu restart ettiginizde, partitionun buyuklugu degismis olacaktir.

Debian/Ubuntu’da Netatalk ile Mac OS X’e afp baglanti yapmak

* Bu dokumandaki bilgiler Ubuntu 8.10 Intrepid Ibex dagitimi kullanilarak uygulanmistir, tahminen Debian turevi tum dagitimlar icin calisacaktir.

 

Sirkette bol miktarda bulunan Macintosh kullanicilari icin kullanilmak uzere bir “File Server” ihtiyacimiz vardi. Leopard Server mi kuralim derken, bugun Linux uzerinde Netatalk ile “AFP Sharing” yapilmasi fikri dogdu. Kisa bir Google arastirmasi sonucunda http://blog.damontimm.com/how-to-install-netatalk-afp-on-ubuntu-with-encrypted-authentication/ adresindeki blogda guzel bir dokumantasyon buldum. Ben de az once evdeki Mac Mini uzerindeki Mac OS X Leopard ile Ubuntu 8.10 Intrepid Ibex kurulu notebook arasinda test yaptim. Sonuc basarili :)
Read the rest of this entry »