Geçenlerde OVH adlı firmanın muadili olan ve gene OVH’nın olan SoYouStart adlı mekandan bir adet 32 GB sunucu almak istedim. Aldımda 6 TB diskimiz var ben bunu hem download sunucusu hem media center yaparım dedim belki ilerleyen zamanlarda farklı özelliklerde eklerim.
Şimdi ilk rtorrent ve yönetim ekipmanını kuralım. Daha sonra Plex kurulumunu yapalım.
wget https://downloads.plex.tv/plex-media-server/1.5.6.3790-4613ce077/plexmediaserver_1.5.6.3790-4613ce077_amd64.deb
dpkg -i plexmediaserver_1.5.6.3790-4613ce077_amd64.deb
Kurulumu tamamlandıktan sonra sistemde otomatik olarak servisleri çalışmaya başlayacak bunu anlayabilmek için ise
netstat -ntp
Direk :32400 ile biten bir çıktı görmeniz lazım bir sürü kapı arasından bulmaya çalışabilirsiniz.
Bu arkadaşımızın direk olarak kullanılabilir adresi localhost:8888
olacak daha doğrusu biz sonrasında halledeceğiz
Geldik rtorrent kurulumuna ve bunun webden yönetim için kullanacağımız nodejs tabanlı Flooda
apt-get install rtorrent
Kurmuş olduğumuz rtorrent
için kullanıcı oluşturmaya geldi sıra
adduser --disabled-password rtorrent
Bu kullanıcıyı oluştururken şifre tanımlaması yapmayacağım diyoruz. Gerek yok çünkü
Şimdi sıra geldi SCGI bağlantı noktasını ayarlamaya bunu ayarlamamız gerekiyor çünkü ayarlamazsak Flood iletişim kuramaz.
Nano /home/rtorrent/.rtorrent.rc
İçerisine aşağıdaki eklemeleri yapıyoruz.
# Where rTorrent saves the downloaded files
directory = /srv/torrent/downloads
# Where rTorrent saves the session
session = /srv/torrent/.session
# Which ports rTorrent can use (Make sure to open them in your router)
port_range = 50000-50000
port_random = no
# Check the hash after the end of the download
check_hash = yes
# Enable DHT (for torrents without trackers)
dht = auto
dht_port = 6881
peer_exchange = yes
# Authorize UDP trackers
use_udp_trackers = yes
# Enable encryption when possible
encryption = allow_incoming,try_outgoing,enable_retry
# SCGI port, used to communicate with Flood
scgi_port = 127.0.0.1:5000
Dosyaların ineceği alanı ve oturum bilgileri için alanları açıyoruz.
mkdir /srv/torrent
mkdir /srv/torrent/downloads
mkdir /srv/torrent/.session
Bu tüm dizinler için izinleri veriyoruz.
chmod 775 -R /srv/torrent
chown rtorrent:rtorrent -R /srv/torrent
chown rtorrent:rtorrent /home/rtorrent/.rtorrent.rc
Son olarakta systemD kardeş için bir adet dosya oluşturacağız. Başlatma ve durdurma için
nano /etc/systemd/system/rtorrent.service
İçerisine aşağıdaki komutları direk ekliyorsunuz.
[Unit]
Description=rTorrent
After=network.target
[Service]
User=rtorrent
Type=forking
KillMode=none
ExecStart=/usr/bin/screen -d -m -fa -S rtorrent /usr/bin/rtorrent
ExecStop=/usr/bin/killall -w -s 2 /usr/bin/rtorrent
WorkingDirectory=%h
[Install]
WantedBy=default.target
Ön yükleme aşamasında çalışsın diye gerekeni yapıyoruz.
systemctl enable rtorrent.service
Başlatma işlemini gerçekleştiriyoruz.
systemctl start rtorrent
Flood Kurulumu
Şimdi rtorrent kurulumumuz tamamlandı geldik Flood kurulumuna oldukça basit bir kuruluma sahip
Nodejs ninde 6.9 ve üstü bir sürüm yüklü olması gerekiyor ki düzgün çalışsın onlarıda şu şekilde kuruyoruz.
sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash -
sudo apt-get install -y nodejs
Şimdi github deposundan direk olarak uygulamaya ait dosyaları çekiyoruz.
apt-get install git
cd /srv/torrent
git clone https://github.com/jfurrow/flood.git
Şimdi github deposunda bulunan config
dosyasını düzeltmemiz gerekiyor ismini değiştireceğiz başka bir şey bulunmuyor.
cd flood
cp config.template.js config.js
Ve son olarak Flood için kurulum parametresini çalıştırıyoruz ve gerekenler otomatik olarak kuruluyor.
npm install --production
Floodu başlatma
systemD için gereken dosyasını düzenlemeden önce kullanıcısını oluşturuyoruz.
adduser --disabled-password flood
İzinleri belirliyoruz
chown -R flood:flood /srv/torrent/flood/
İzinler ve kullanıcıyı oluşturduk şimdi direk olarak systemD için gereken dosyayı düzenliyoruz.
nano /etc/systemd/system/flood.service
Ve içerisine aşağıdakileri ekliyoruz.
[Service]
WorkingDirectory=/srv/torrent/flood
ExecStart=/usr/bin/npm start
Restart=always
StandardOutput=syslog
StandardError=syslog
SyslogIdentifier=notell
User=flood
Group=flood
Environment=NODE_ENV=production
[Install]
WantedBy=multi-user.target
Sistem açılırken başlasın diye gereken parametreyi veriyoruz.
systemctl enable flood
Ve sonunda Flood adlı uygulamayı başlatacağız.
systemctl start flood
Şimdi ne yaptım rtorrent kurulumunu yaptım ve ardından onu kullanmak için web arayüzü flood kurduk. Plex media server uygulamasının kurulumunu yaparakta indirdiğimiz film, dizi, müzik artık her neyse kolaylıkla izleme ve dinleme imkanı sağladık.
Ama bu arkadaşları dışarıya açmadık hepsi şuan lokalde çalışıyor. Lokalden dışarıya açmak için ise şu şekilde bir yol izlemek daha mantıklı diye düşünüyorum.
Misal sunucunuz var bir şeyler kurdunuz remote olarak bağlanmak istiyorsunuz ama millet giremesin diyorsunuz bunun için SSH tunnel işe yarar
— Mertcan GÖKGÖZ (@mertcangokgoz) June 9, 2017
Twitterda yukarıdakini yazmıştım. İşte taktik olarak onu kullanabiliriz. Şöyle yapalım
Windows için;
PuTTy açıp Connection > SSH > Tunnels
sekmesine geçiyorsunuz. Kaynak portu olarak 8888 giriyoruz. Hedef olarak ise localhost:32400
diyoruz. Ardından 2. Yönlendirme olan Floodu yönlendirelim. İlkinde Plexin yönlendirmesini yaptık. Kaynak portu olarak 3000 giriyoruz. Hedef olarak ise localhost:3000
yazıyorsunuz. Her ikisinide add
butonunu aracılığı ile ekleyeceğinizi unutmayın.
Linux ve Mac OSX için;
ssh <server.address> -L 8888:localhost:32400
ssh <server.address> -L 3000:localhost:3000
Herşey hazırsa tarayıcınıza gidip bağlantılar aracılığı ile işlemlerinizi yapabilirsiniz.
Flood >> localhost:3000
Plex >> localhost:8888
Olarak giriş yapacaksınız. Flood’a ilk giriş yaptığınızda ise sistem otomatik olarak sizi hesap oluşturma alanına yönlendirecek.