18 Aralık 2009 Cuma

Slicehost VPS kurulumu

Farkettim ki uzun süredir blogumu ihmal ediyorum. Bu durumun nedeni yoğunlaşan çalışmalar diyerek, kendimi temize çıkarmaya çalışsam da, pek başarılı olamayacağımın farkındayım. Günah çıkarma seansını kısa kesip, konumuza geçebilirim.

Son günlerde fazlasıyla haşır neşir olduğum slicehost, slice dediğimiz VPS'leri satın alırken bana büyük zorluklar çıkarmış olsa da, slicehost destek takımının iyi niyetli yardımlarıyla bu zorlukların üstesinden gelmeyi başardık.

Önce VPS'in ne olduğunu bilmeyenler için bir link verelim ki, herkes yazının ne içeriğini anlayabilsin: VPS (wikipedia)

Bu konuyu da hallettiğimize göre kurulum işlemlerine geçebiliriz. Yazının bundan sonraki kısmına geçmeden önce, sizin slicehost'tan bir slice satın almayı başarabilmiş olduğunuzu ve linux yönetimi konusunda bilginiz olduğunu varsayıyorum.

Ben VPS'imde ubuntu 9.10 (karmic) ve ruby 1.9.1 kullanmayı tercih ettim. Diğer linux dağıtımları ve farklı ruby versiyonlarında işlemler benzer olmakla birlikte farklılıklar gösterebilir, dikkatli olunuz.

Öncelikle VPS'imizin genel kurulum işlemlerini tamamlayacağız daha sonra da Rails için gerekli işlemleri tamamlayacağız. VPS'imize root olarak bağlanarak çalışmaya başlıyoruz:
ssh xxx.yyy.zzz.qqq -lroot
Burada xxx.yyy.zzz.qqq olarak geçen VPSinizin IP adresidir.
  1. Şifremizi de girdikten sonra yeni bir kullanıcı açarak işlemlerimize devam ediyoruz:
    adduser airy
    airy, benim kullanıcı adı olarak belirlediğim isimdir, siz bunu kendinize göre değiştirmeyi unutmayın. Kullandığınız bilgisayardaki kullanıcı ismi ile aynı olması, şifre girmeden güvenli bağlanırken işimize yarayacaktır, unutmayın.

  2. Sırada sudo olabilmek için gerekli olan visudo ayarında. root kullanıcısı olarak visudo komutunu çalıştırıyoruz ve gelen dosyanın en altına şu satırı ekliyoruz.
    airy ALL=(ALL) ALL
    Tekrar hatırlatıyorum, buradaki airy benim kullanıcı adımdır, kendi kullanıcı adınızı kullanmayı unutmayın.

  3. Şifresiz güvenli ssh bağlantısı için önce kendimize bir ssh anahtarı üretmemiz gerekiyor. daha sonra bu anahtarı VPSinizdeki yerine koymanız ve ssh sunucu yazılımının ayarlarını yapmanız gerekiyor. Bakalım:
    Öncelikle kullandığımız makinada bir ssh anahtarı hazırlayalım. Daha önce kendinize bir anahtar hazırlamışsanız bu işlemi tekrar yapmanıza gerek yok.
    ssh-keygen -t dsa
    Bu işlemi tamamladıktan sonra, anahtarımızın public (bunu türkçeleştirmeyi reddediyorum, isterseniz sözlüğe bakabilirsiniz) parçasını, VPSimize yükleyeceğiz. Bunun için kendi makinamızda secure copy komutunu kullanıyoruz:
    scp ~/.ssh/id_rsa.pub airy@xxx.yyy.zzz.qqq:/home/airy/
    Burada kendi kullanıcı adınızı ve ip adresinizi kullanmayı unutmayınız. Tekrar sunucumuza geçerek işlemlere devam edebiliriz. Anahtarımızı yerine koyup, gerekli dosya ayarlarını yapabiliriz:
    mkdir /home/airy/.ssh
    mv /home/airy/id_rsa.pub /home/airy/.ssh/authorized_keys
    chown -R airy:airy /home/airy/.ssh
    chmod 700 /home/airy/.ssh
    chmod 600 /home/airy/.ssh/authorized_keys
    Artık ssh sunucusu yazılımında gerekli ayarlarımızı yapabiliriz.Bunun için /etc/ssh/sshd_config dosyasında aşağıdaki değişiklikleri yapıyoruz.
    PermitRootLogin no
    PasswordAuthentication no
    X11Forwarding no
    UsePAM no
    UseDNS no
    AllowUsers airy
    Ve ssh sunucu yazılımını tekrar başlatıyoruz:
    /etc/init.d/ssh restart
    Bu işlemden sonra sunucumuza sadece kendi kullanıcı adımız ile ssh bağlantısı kurabiliriz. root olarak yapmamız gereken işlemler için sudo komutunu kullanmayı unutmayınız.

  4. Sırada firewall ayarlarımız var.
    Bunun için benim kendi sunucularımda kullandığım ayarları kullanabilirsiniz: http://gist.github.com/259447. Bu dosyayı /etc/iptables.test.rules olarak VPSinize kaydettikten sonra şu komutlar çalıştırın:
    sudo iptables-restore < /etc/iptables.test.rules
    sudo iptables-save > /etc/iptables.up.rules
    VPSiniz her çalıştığında bu ayarların geçerli olması için ise /etc/network/interfaces dosyası içerisinde iface lo inet loopback satırının altına şu satırı ekleyin:
    pre-up iptables-restore < /etc/iptables.up.rules
    Firewall ayarlarımız da bu şekilde tamamlanmış oldu.

  5. Dil ayarlarını yapmak için iki komut kullanıyoruz:
    sudo locale-gen en_US.UTF-8
    sudo /usr/sbin/update-locale LANG=en_US.UTF-8
    Ben sunucularımda ingilizce kullandığım için, ayarlarımı en_US.UTF-8 olarak yaptım.

  6. Sırada sunucumuzda kullandığımız linux dağıtımını güncelleyebiliriz. Bunun için şu komutları kullanıyoruz:
    sudo apt-get update
    sudo apt-get dist-upgrade
Sunucu kurulum işlemlerimiz bu şekilde tamamlanmış oldu. Komutlarda bir yazım hatası olmaması için çok dikkatli davrandım ama bir hata varsa lütfen bana haber verin ki düzeltebileyim.

2 Kasım 2009 Pazartesi

Linux kurulumu için USB hafıza nasıl hazırlanır?

Bu akşam, Belçika'da bulunan bir arkadaşımın netbookuna USB hafıza ile Kubuntu Netbook Edition kurmasına yardımcı oldum. Hazır işlemi yapmışken, sıcağı sıcağına, bir de yazı yazayım ki, bu bilgi paylaşılabilir hale gelsin diye düşündüm ve oturdum klavyenin başına...

Ben, bu netbook denilen cihazlardan hiç hazzetmiyorum. Bir bilgisayarın avantajlarını taşınabilir şekilde sunmak amacıyla tasarlanmış bu aygıtlar, bana, oldukça kullanışsız geliyor. Hem bir diz üstü bilgisayarın yeteneklerinden yoksun, hem de bir avuç içi cihazın taşınabilirliğine sahip değil. Ne deve, ne kuş. Kişisel olarak benim tercihim, 300-400gr. daha ağır olan bir notebook olur, her iki cihazı da taşımak için de çantaya ihtiyacımız olduğunu düşünürsek, 300gr. sözü bile edilmeyecek bir fark. Neyse, kişisel yorumları çok uzatmadan devam edeyim.

Netbooklar, daha hafif olmaları için optik sürücüsüz tasarlanıyorlar ya, işte o yüzden herhangi bir açılış/yükleme CDsi kullanma şansımız olmuyor. Onun yerine USB hafıza kullanmamız gerekiyor. Bu yazının sonunda siz de bu hazırlığın aslında ne kadar kolay olduğunu göreceksini. Aynı işlemler, masaüstü yada diz üstü bilgisayarınız için hazırlayacağınız USB açılış/yükleme sistemi için geçerlidir.

Gelelim işlemlere. Öncelikle linux yada windows yüklü çalışan bir bilgisayara ihtiyacımız var. Bu bilgisayara kullanmak istediğimiz linux dağıtımının kurulum CD imajını ve unetbootin isimli programı indiriyoruz. Bu arada USB hafızamızı da FAT32 dosya sistemi ile formatlamayı unutmuyoruz.

Unetbootin programını çalıştırıyoruz. Bu program oldukça yetenekli olsa da, ben sadece en basit ve hızlı kullanımı anlatacağım. İsteyenler, programın sitesinden diğer özellikleri nasıl kullanacağın öğrenebilir. Ekranın orta kısmında yer alan Diskimage seçeneğini seçiyoruz. İmaj tipini ISO olarak bırakıyoruz. Aynı satırın sağındaki düğmeye tıklayarak açılan diyalog yardımı ile kuracağımız linuxun kurulum CD imajını seçiyoruz. Sol alt köşedeki Drive seçim kutusundan USB hafızamızı seçiyoruz ve OK tuşuna basıyoruz. Bir kaç dakika içinde USB hafızamız hazır hale geliyor.

Hazırladığımız bu USB hafızanın açılış menüsü, kurulum CD imajındakinden farklı oluyor. Ben CDdeki menüyü tercih ettiğim için, bu menüyü dört küçük işlem yaparak kaldırıyorum:
  1. USB hafızamızın ana dizininde bulunan, syslinux.cfg dosyasını siliyoruz.
  2. Gene aynı yerde bulunan ISOLINUX dizininin adını SYSLINUX olarak değiştiriyoruz.
  3. Adını değiştirdiğimiz bu dizin içerisinde bulunan isolinux.cfg dosyasının adını syslinux.cfg olarak değiştiriyoruz.
  4. Gene aynı yerde bulunan, isolinux.bin dosyasının adını syslinux.bin olarak değiştiriyoruz.
Güle güle kullanın. Artık taşınabilir ve kurulabilir bir linuxunuz var. Unutmadan ekleyeyim, hem ubuntunun hem de kubuntunun Karmic Koala sürümünde bu işi yapan bir program hazır geliyor. Elinizde çalışır halde bir Karmic Koala varsa, USB hafızanızı hazırlamak için "USB Startup Disk Creator" programını da kullanabilirsiniz.

* Unetbootin programına http://unetbootin.sourceforge.net adresinden ulaşabilirsiniz.

1 Kasım 2009 Pazar

ruby 1.9.1 ve rubygems nasıl iş oldu!

Yeni kurmuş olduğum Kubuntu Karmic Koala üzerine, Ruby on Rails kurarak çalışmalarıma kaldığım yerden devam etmek istedim. Ama evdeki hesap çarşıya uymadı.

Daha önceden hazırlamış olduğum bir script dosyam vardı. Bu dosya, kullanmadığım programları kaldırıp, kullandığım programları kuruyor. Tabii ki, scripti kullanmadan önce paketlerin versiyon numaralarını değiştirdim.

Scriptin bu yazıya konu olan kısmı şöyle:
sudo apt-get install build-essential ruby1.9.1-full
sudo apt-get install libsqlite3 libsqlite3-dev rubygems1.9
sudo gem install sqlite3-ruby rails thin --no-rdoc --no-ri
Tüm bu komutlardan sonra, nurtopu gibi bir RoR sistemi hazır, beni bekliyordu. Hemen kontrol için bir proje açtım, Thin webserverını çalıştırdım, Firefox ile bağlandım. Projenin HTML ile hazırlanmış olan hoşgeldiniz sayfası geldi karşıma, çok güzel. Projenin çalıştığı ortamı gösteren linke bir tıkladım, o da ne!
We're sorry, but something went wrong.
Bu işte bir sorun var! Hemen log dosyasını kontrol ettim, görünüşe göre sqlite3 veritabanına bağlanmakta kullanılan kütüphane yüklenememişti. Konsoldan kontrol ettim:
$ ruby -e "require 'rubygems'; require 'sqlite3'"
-e:1:in `require': no such file to load -- sqlite3 (LoadError)
from -e:1:in `
'
Bir araştırma ve deneme-yanılma mesaisinden sonra sorunun kaynağı belli oldu. Ruby yorumcusu, gem kütüphanelerini bulamıyordu. GEM_PATH değişkenin boş olduğunu farkettim ve değişkeni tanımladım:
$ export GEM_PATH=/usr/lib/ruby1.9.1/gems/1.9.1
Konsoldan tekrar kontrol ettim. Voila! Sorun çözülmüştü. Profil dosyama bu satırı ekledim ki, makinamı her açtığımda tekrar bu değişkeni tanımlamak zorunda kalmayayım. Artık mutlu ve mesut bir şekilde, bir kaç saatini harcamış olduğum çalışmama devam edebilirim.

31 Ekim 2009 Cumartesi

Mamullerimizde domuz geni kullanılmamıştır.

26 ekim 2009 tarihli resmi gazetede yayınlanan yönetmelik ile genetik yapısı değiştirilmiş organizmaların (GDO) Türkiye'ye girişin yolu açıldı.

Prof. Dr. Tayfun Özkaya'nın "GDO’lu besinlerle zehirlenme özğürlüğü başlıyor…" başlıklı incelemesi, nasıl bir tehlikeyle karşı karşıya olduğumuzu çok güzel özetliyor.

AKP hükümetinin, GDO ile ilgili olarak bir yasa yerine, yönetmelik çıkarması, bu konudaki niyetlerini açıkça ortaya koyuyor. Daha önce de örneklerini gördüğümüz gibi, dava açıldıkça ve kaybedildikçe yönetmelik üzerinde değişiklik yapılacak ve bu süreç boyunca GDO ve GDO ürünleri pazarda yerini alacak. Geri dönülemez noktaya gelindiğinde, önlerindeki bütün engelleri temizlemiş olarak, istedikleri şekilde yasayı çıkaracaklar.

Benim kafama takılan asıl nokta ise madde 5.8.
GDO suz ürünlerin etiketinde ürünün GDO suz olduğuna dair ifadeler bulunamaz.
ABD'de GDO üzerine çalışan şirketlerin, rekabet dezavantajlarını ortadan kaldırmak için ilgili yasaya koydurmaya çalıştıkları bu madde, her nasılsa bizim yönetmeliğe girmiş. Halkın, bilgi edinme hakkının ihlali anlamına gelen bu madde, tabağımızdaki besinin ne olduğunu yada nasıl bir kaynaktan sağlandığını öğrenemeyeceğimiz anlamına geliyor.

GDO devlerinden Monsanto'nun domuzun patentini alma girişimini de düşünürsek; benim asıl merak ettiğim, AKP oylarının büyük çoğunluğunu sağlayan, dini duyarlılıkları yüksek insanların, domuz genleri eklenmiş organizmaları yada bu organizmalardan elde edilen ürünleri yemek zorunda bırakıldıklarını farkettiklerinde tepkileri ne olacak?

* Görselin orjinali, sanatçısı tarafından 300$ fiyatla satılmaktadır

30 Ekim 2009 Cuma

Ubuntu Karmic Koala (9.10) çıktı

Dün, bir gece yarısı operasyonuyla kubuntu 9.04 (Jaunty Jackalope) kurulu makinamı, Karmic Koala'ya terfi ettirdim. Genelde yaptığımın dışında, bu defa sistemimi yükseltmek yerine, yeni baştan kurmayı tercih ettim.

Gözüme çarpan ilk değişiklik, Jaunty'de beni çok üzmüş olan, grub'ın ext4 dosya sisteminden açılış yapamama sorununun çözülmüş olduğu idi. Genel olarak sistem performansı da artmış.

Ayrıca, eski plasma widgetlarının problemleri giderilmiş. Yeni eklenen widgetlar ise beni çok memnun etti. Özellikle identi.ca ve twitter ile çalışan mikro blogging, sosyal ağlar için facebook ve openDesktop, görevler ve yapılacak işler için Remember The Milk ve hava durumu için Weather Forecast sevinçle bağrıma bastığım widgetler oldular.

Firefox installer ile firefox kurulumu tek tıklamayla gerçekleşiyor, ayrıca flash eklentisini kurmaya da gerek kalmıyor.

Her yeni sürümde, linux'un artık sadece benim gibi fanatiklerin değil, her seviyede kullanıcının istek ve ihtiyaçlarına hitap ettiğini görmek gurur verici.

Hoşgeldin karmic koala

* Kubuntu Karmic Koala'yı kubuntu resmi sitesinden indirebilirsiniz.

24 Eylül 2009 Perşembe

linux, PSP ve yedek halleri

Bugün, bir an salaklığıma denk geldi ve yedek almadan PSPmin hafıza kartına bastım formatı. Bir değil, iki değil. Bu iş böyle olmaz diyerek bir yedek mekanizması aramaya başladım. Tabii ben gene olağan salaklığımla yedek almak üzere hazırlayacağım script dosyasını da çalıştırmayı unuturum diyerek, kendiliğinden çalışacak bir çözüm üzerine odaklandım. Kısa bir araştırmadan sonra şu linklere ulaştım:
mevcut örneklerden de faydalanarak kendime bir udev kuralı ve yedek alma scripti hazırladım. Hazırladığım scripte http://github.com/airy/My-PSP-Backup-Script adresinden ulaşabilirsiniz.

Hafıza kartınızı usb üzerinden bilgisayarınıza bağladığınız da udev kuralı devreye giriyor ve yedek alma scriptini çalıştırıyor. Yedek alma scripti de dd ile (günde bir defa olmak üzere) yedek alıyor.