Pazartesi, Kasım 4, 2024

Debian Üzerine rTorrent ve Plex Server Kurulumu

yüksek çözünürlüklü debian logosu

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:8888olacak 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.

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:32400diyoruz. Ardından 2. Yönlendirme olan Floodu yönlendirelim. İlkinde Plexin yönlendirmesini yaptık. Kaynak portu olarak 3000 giriyoruz. Hedef olarak ise localhost:3000yazı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.