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.

Hiç yorum yok:

Yorum Gönder