24 Aralık 2014 Çarşamba

Ubuntu Sunucuya Seedbox Kurmak

Özellikle ratio/oran sistemiyle çalışan torrent sitelerinden yararlanıyorsanız seedbox sahibi olmak elzem. Seed.st, Seedhost.eu gibi ücretli ve hazır servisler var olmasına rağmen her ay yenilenen hizmetler olduklarından dolayı toplama vurduğumuzda oldukça tuzlu olabiliyorlar. Bu hizmetlerin yerine kendi VPS/VDS sunucumuza seedbox kurarak çok daha cüzdan dostu bir şekilde seedbox sahibi olmak mümkün. DigitalOcean da güvenilirliği ve ucuz fiyatlarıyla bu iş için biçilmiş kaftan.

DigitalOcean'a kayıt olduktan sonra ilk olarak kredi kartı ya da PayPal aracılığıyla hesabınıza kredi aktarmanız gerekiyor. Ancak eğer öğrenci iseniz ve .edu uzantılı üniversite e-posta adresiniz varsa ücretsiz olarak $100'lık bir krediye sahip olabilirsiniz. Bunun için GitHub'a üniversite e-posta adresiniz ile üye olmanız (eğer mevcut üyeliğiniz varsa üniversite e-posta adresinizi ikincil e-posta adresi olarak da ekleyebilirsiniz) ve GitHub Student Developer Pack'teki DigitalOcean kodunu sitede yer alan promo code kısmından hesabınıza eklemeniz gerekmekte.

DigitalOcean'a kredi ekledikten sonra Create Droplet seçeneği ile bir sunucu yaratıyoruz. Eğer sıradan bir torrent kullanıcısı iseniz aylık $5'lık paketi seçmenizi öneririm. Sunucu bölgesi olarak ise Türkiyeye en yakın konum olduğundan dolayı Amsterdam'ı, işletim sistemi olarak ise Ubuntu 14.04 sürümünün x64 mimarisini seçmelisiniz. Sunucumuzu oluşturduktan sonra kayıt olduğumuz e-posta adresimize sunucumuzun IP adresinin ve bu adrese girmek için gereken kullanıcı adı ve şifre bilgilerinin yer aldığı bir e-posta gelecektir. Bu aşamadan sonra sunucumuzla olan bağlantımızı Putty ile gerçekleştireceğiz.

Putty'i açtıktan sonra Host Name (or IP adress) kutucuğuna e-posta adresimize gelen IP adresini yazıyoruz ve sunucumuza bağlanıyoruz. Bağlandıktan sonra e-posta adresimize gelen kullanıcı adımızı yazıyoruz, sonrasında ise şifremizi yazıyoruz. Daha sonrasında sunucu güvenliği için yeni bir şifre belirlememiz istenecek. Bu işlemi de yaptıktan sonra asıl işimize bakabiliriz.

Öncelikle apt-get update komutu ile sunucumuzu güncelleyelim ve apt-get upgrade komutu ile de yükseltme yapalım. Bu kodları elle yazmak yerine kopyalayıp sağ tık ile Putty'e yapıştırabilirsiniz.

Ben kendi sunucuma akıllı telefonum üzerinden uygulamayla, bilgisayarım üzerinden de programla kontrol edebildiğim için daha pratik olduğunu düşündüğüm Transmission'ı kurduğumdan dolayı anlatımımı da bu yönde devam ettireceğim.

Transmission'ı sunucumuza indirmek ve kurmak için

sudo apt-get install transmission-daemon

komutunu uygulayalım. Kurulum bittikten sonra da

sudo nano /etc/transmission-daemon/settings.json

komutuyla ayar dosyasını açalım. Ayarların yer aldığı uzunca bir liste karşımıza çıktı. Burada birkaç değeri düzeltmemiz gerekecek.
  • blocklist-enabled parametresini true olarak değiştirelim.
  • blocklist-url parametresindeki adresin yerine http://list.iblocklist.com/?list=bt_level1&fileformat=p2p&archiveformat=gz adresini ekleyelim.
  • rpc-authentication-required parametresini true olarak değiştirelim.
  • rpc-enabled parametresini true olarak değiştirelim.
  • rpc-password parametresine şifremizi girelim.
  • rpc-username parametresine kullanıcı adımızı girelim.
  • rpc-whitelist-enabled parametresini false olarak değiştirelim.
CTRL+X komutu ile dosyayı kapatma isteği gönderelim. Kapatılırken "Ayarlar kaydedilsin mi?" diye soracak. Yalnızca y tuşuna basıp ENTER diyerek dosyayı kaydedip kapatalım.

Şimdi

sudo service transmission-daemon reload

komutu ile Transmission'ı yeniden başlatalım. Yeniden başlattıktan sonra http://IP-ADRESİMİZ:9091 adresinden seedbox'ımıza ulaşabiliriz. Ancak seedbox'a indirdiğimiz dosyaları kendi bilgisayarımıza indirebilmek için birkaç işlem daha yapmamız gerekmekte. Eğer böyle bir beklentiniz yoksa yazının buradan sonrasını okumanıza gerek yok.

Öncelikle

sudo apt-get install lighttpd

komutu ile Lighttpd'yi indirip kuruyoruz. Ardından

sudo nano /etc/lighttpd/lighttpd.conf

komutu ile ayar dosyasını açarak buradaki server.document-root parametresindeki /var/www yerine /var/lib/transmission-daemon/downloads ibaresini ekleyelim. Ardından da dosyadaki son parametrenin altına server.port = 80 ve onun altına da server.dir-listing = "enable" parametrelerini ekleyerek dosyayı kaydedelim.

Sonrasında

sudo usermod -a -G debian-transmission www-data

komutu ile sunucuda çalışan www-data kullanıcısını debian-transmission grubuna ekleyerek indirilen dosyaları okuyabilmesini sağlayalım. Son olarak da

sudo service lighttpd restart

diyerek Lighttpd'i yeniden başlatalım. Artık indirdiğimiz dosyalar http://IP-ADRESİMİZ:80 adresinde listelenecek. Ancak IP adresimizi bilen herkes bu dosyaları görebilecektir. Son bir işlem yaparak sayfayı şifreleyelim.

İlk adımımız

sudo nano /etc/lighttpd/.passwordfile

komutu ile bir şifreleme dosyası oluşturmak. Dosyanın içerisine kullanıcıadı:şifre şablonunda kullanıcı tanımlıyoruz. Alt alta istediğimiz kadar kullanıcı tanımladıktan sonra dosyayı kaydediyoruz. Şifreyi açıkça yazdığımız için kullandığınız diğer şifrelerden farklı bir şifre yazmanızı öneririm.

Şimdi Lighttpd'in oluşturduğumuz dosyayı okuması için birkaç ayar yapmamız gerekli.

sudo nano /etc/lighttpd/lighttpd.conf

komutuyla ayar dosyasını açıp server.modules = ( ile başlayan kısma "mod_auth", parametresini ekliyoruz. Yine aynı dosyanın en altına

auth.backend = "plain"
auth.debug = 2
auth.backend.plain.userfile = "/etc/lighttpd/.passwordfile"
auth.require = (
"/" => (
"method" => "basic",
"realm" => "Sifre korumali alan",
"require" => "valid-user"
)
)


değerlerini ekleyelim ve dosyayı kaydedelim. Son olarak

sudo service lighttpd restart

komutuyla Lighttpd'i tekrar başlatalım. Bundan sonra http://IP-ADRESİMİZ:80 adresine girdiğimizde bizden şifre isteyecek.

Artık ayda $5 gibi cüzi bir ücret karşılığında tam teşekküllü bir seedbox sahibiyiz. Eğer isterseniz bilgisayarınız üzerinden işletim sisteminize uygun programlar ile ya da Android akıllı telefonunuz üzerinden Remote Transmission uygulaması ile sunucunuza bağlanarak seedbox'ınızı kontrol edebilirsiniz.

Not: Bu yazıdaki Transmission'ın ayarları ilgili kısım ramazanacar.com'daki Digital Ocean Ubuntu Server Seed Box Transmission Kurulumu başlıklı yazıdan, indirilen dosyaların listelenmesi ve bilgisayara indirilmeye hazır hale getirilmesi ile ilgili kısım ise Ekşi Duyuru kullanıcısı ne gerek var ki'nin verdiği bilgiler ile oluşturulmuştur.