Raspberry Pi Türkiye Topluluğu | Ahududu'nun tadını çıkartmak için!. Merhaba, Bugün popüler makalelerimizden rTorrent kurulumu'nu gelen isteklere göre baştan yazmak istedim. Bu güncel yolları takip ederek, derlemeye gerek kalmadan, ve de apache yerine nginx kullanarak daha temiz bir kuruluma sahip olacaksınız. Bunu yazmamdaki temel amaç, rTorrent istemcisinin eski sürümünün artık çok eskimesi, derleyicilerle yamaları kullanarak bile verimli çalışmaması, ve de güncel Raspberry Pi modellerinin (Pi Zero'nun bile) bu işlemi kaldırabilmesi, ve de yeni derlenen sürümlerin hem scgi, hem xmlrpc desteklemesinden dolayı, artık pek derlemeye gerek kalmadığını düşünmem. Ben bu makaleyi yazarken Raspberry Pi Zero kullandım. Aşağıdaki ekran görüntüsü de doğrudan Pi Zero'mdan. Yapılacaklar Raspbian dağıtımı üzerine, önce bağımlılık paketleri kurmamız lazım: Bu komutların arkasından PHP7, rtorrent, nginx ve diğer bağımlılıkları kurmuş oluyoruz. Şimdi burada user'lara dikkat etmek lazım. Eğer indirme yapacağınız klasör bir samba paylaşımı ise buna da dikkat etmelisiniz. Ben bu yazıda pi kullanıcısı ile çalıştıracağım rtorrent'i. Burada dikkat edilmesi gereken şey, pi kullanıcısının birazdan değineceğim indirme klasörlerine yazma izni olmalı, yoksa indirmeler gerçekleşmeyecek. Ben klasör olarak /media/disk1/rtorrent/downloads dedim. Makalede de buna göre anlatacağım. Şimdi bunu dikkate alarak yeni klasörleri oluşturmamız lazım Ayrıca, komutu ile /media/disk1/rtorrent klasörüne, klasörün grubu olan herkese yazma izni verebilirsiniz demek (group plus write). Bu sayede bu klasör samba user'ı altında ve pi kullanıcısıysanız, pi kullanıcısını samba grubuna ekleyerek rtorrent'in klasöre dosya yazabilmesine (indirme yapabilmesine) izin verebilirsiniz demek. bir kullanıcı'yı bir grup'a eklemek için şu komutu kullanabilirsiniz. Bu grup tanımlamasını yapınca ardından logout ve login, hatta cihazı açıp kapamanız gerekecektir. Bu komutla örneğin indirme yolu samba grubuna ait bir yol ise (harici disk takıp ağda paylaştınız mesela), pi kullanıcısının çalıştırdığı rtorrent doğrudan indirme yapabilir. Ayrıca, bu sayede 777 chmod vermektense daha güvenli çalışacaktır. Şimdi config dosyalarını uygun yerlere koymakla başlamalıyız. nginx.conf ve .rtorrent.rc dosyasını burada bulabilirsiniz: İlk olarak .rtorrent.rc ile başlayalım. Çalışacak kullanıcının home klasöründe .rtorrent.rc (başında nokta var evet) olarak kaydetmeniz lazım: Ardından nano .rtorrent.rc gibi bir komutla düzenleyebilirsiniz. İçindeki şu değerlere dikkat edin: max_memory_usage min_peers max_peers min_peers_seed max_peers_seed directory session schedule dht peer_exchange Bunlar istemciden, veya tracker'dan tracker'a değişiyor. max_memory_usage'a ben 400M (400 mb) verdim, siz ihtiyacınıza göre artırabilir veya azaltabilirsiniz. directory için de /media/disk1/rtorrent/downloads dedim örneğimdeki gibi. Aynı şekilde session için de /media/disk1/rtorrent/session dedim. İhtiyacınıza göre buraları güncelleyebilirsiniz. Şimdi terminal'de yazınca rtorrent'in açıldığını göreceksiniz. pi kullanıcısıysanız direkt rtorrent yazıp entera basabilirsiniz. Birkaç kere ctrl+q deyince kapanacaktır. Şimdi de web arayüzünü kurmamız lazım. Bunun için de aşağıdaki yolları izleyeceğiz. Web arayüzünü ben nginx ile çalıştırıp doğrudan pi kullanıcıs altına koydum, siz /srv veya /var/www gibi bir yola koyabilirsiniz. Şimdi web arayüzü için parola yapmamız lazım. Bunu da şöyle hazırlıyoruz: Bu komuttaki "pi" web arayüzü kullanıcı adı, "parola" da parolası. Şimdi web user'ı www-data'yı bizim pi grubumuza ekleyeceğiz. Bu sayede rutorrent'e share klasörüne gelen upload'ları ilgili yerlere aktarabilecek (gözat torrent yükle vs.): Bu sayede standart nginx www-data kullanıcısını bizim pi grubuna ekledik (çünkü pi klasörü altında rutorrent web arayüzü dosyaları) Şimdi de sanal terminal tmux için Raspbian'a özel dil tanımlamalarını , eğer raspi config yapamadıysa diye düzelteceğiz: Çıkan açılır menü fare ile kaydırılabilir, kutucuklar space bar tuşu ile seçilebilir. Ben EN_GB.UTF8 ve EN_US.UTF8 i seçtim, sonra tab'a basıp OK e fokuslanınca OK'e bastım. Ardından çıkan menüden de default language olarak EN_US.UTF8 seçtim. tr_TR de var, lakin tutarsızlıklar yaşadım zamanında. Bunun ardından tmux deyince sanak terminal açılacak terminal içinde. Tmux, screen benzeri, daha çok özellik olan, arkada program çalıştırma, ekranı bölme gibi pek çok özellik barındıran bir sanal terminal uygulaması. Altında yeşil çizgi varsa sanal terminali anlayabilirsiniz. yazıp enter'a basın rtorrent açılacak. Şimdi bunu çalışmalara devam etmek için arkaya atmamız lazım. Ctrl + b, ve elleri tuşlardan çekip d (detach) tuşuna basınca sanal terminalden kopacaksınız. Bu sayede bir daemon gibi rtorrent'i arkaya attık. diyerek nerede olduğuna bakalım. 0. durumdadır diyerek sıfırıncı pencereye attach oluyoruz. birkaç sefer ctrl+q diyerek rtorrent'ten çıkıp, exit diyerek tmux penceresini kapatıyoruz ve normal terminale düşüyoruz. Şimdi de rutorrent'te ip lerin gözükmesi için aşağıdaki aşamaları uygulamalısınız: Şimdi web server'ında rutorrent için bir sanal sunucu (vhost) tanımlaması yapalım: diyerek test edebilirsiniz. Eğer hata yazmıyorsa her şey düzgündür. Şimdi de web server'ı yeniden başlatarak tanımladığımız konfigürasyonu yayına alalım: Son olarak; de her açılışta rtorrent'i açacak komutu hazırlayalım: exit 0 üstüne herhangi bir yere aşağıdaki komutu ekleyin, klasörleri eğer değiştirdiyseniz güncellemeyi unutmayın: Burada rtorrent lock dosyasını olası crash'lerde sorun çıkmaması adına silip, her açılışta, adı "rtorrent" olan bir session içinde pi kullanıcısı ile rtorrent'i çalıştırdık. Buraları kendinize göre değiştirebilrisiniz. Son olarak cihazı yeniden başlatın, deyince rutorrent arayüzü sizi karşılayacak, makalede tanımladığımız kullanıcı adı ve parolayı girerek erişebileceksiniz. Not, [07.07.2018 22:57:47] rss: Some functionality will be unavailable. Webserver user can't access external program (curl). Hatasını alıyorsanız, rutorrent'teki bir bug'dan dolayı curl'ün nerede olduğunu öğretmemiz lazım Bunun için; terminal'den teyid almamız ve curl nerede onu bilmemiz lazım. diyerek bulabiliriz. muhtemelen /usr/bin/curl diyecek yoluna Ardından /home/pi/web/rutrrent/conf/config dosyası içinde gibi curl yolunu girin. Şimdi rutorrent'i kapatıp yeniden çalıştırın. Afiyet olsun ;)