تثبيت rTorrent وواجهة ruTorrent على سيرفر Synology

لتوضيح الفرق في البداية الـ rTorrent هو برنامج التورنت الاساسي ويعمل على منصات لينُكس بشكل عام على الطرفية ونتعامل معه من خلال الاوامر الكتابية ولتشغيل واجهة رسومية نحتاج تركيب ruTorrent وهي واجهة ويب للتحكم في برنامج التورنت بشكل كامل من خلال المتصفح مثلما تستعمل اليوتورنت على الويندوز او غيره.

الشرح معقد بعض الشيء لمن لم يتعامل مع الطرفية من قبل, إقرأ الاسطر والاوامر بعناية وانتبه للملحوظات في التدوينة قبل تنفيذ الاوامر ان وجد لذلك خذلك فنجان قهوة واشتغل بهدوء  (_0


تم تحديث التدوينة 2017 , اغلب الخطوات والي تصدع بالراس عشان تسويها ماعاد نحتاجها.

هذا الموضوع راح يغنينا عن التثبيت اليدوي ونقدر ننزل rutorrent بكل سهولة

تثبيت bootstrap و IPKG

في البداية نحتاج نثبت IPKG وتقدر تقول انه متجر لتثبيت الحزم والبرامج ومنه نقدر نثبت برنامج التورنت او اي سكربت.

نتصل للسيرفر من خلال SSH ونذهب لمجلد tmp الرئيسي بكتابة هذا السطر

cd /volume1/@tmp

ننزل ملف بوتستراب متوافق مع معالج سيرفرنا من هذه الصفحة  بالسطر التالي

wget http://ipkg.nslu2-linux.org/feeds/optware/syno-i686/cross/unstable/syno-i686-bootstrap_1.2-7_i686.xsh

لاحظ ان السطر السابق يتكون من امر wget ورابط نسخة البوتستراب و انا اخترت نسخة لمعالجات intel atom وهي اكثر معالجات تستخدمها شركة synology واذا كان معالجك يختلف اختر رابط النسخة المتوافقه وضعه بعد كلمة wget

بعد تنزيل الملف نعطيه صلاحية التنفيذ

chmod +x syno-i686-bootstrap_1.2-7_i686.xsh

السطر السابق يتكون من امر صلاحية التنفيذ chmod +x و اسم ملف البوتستراب

الان نعمل تشغيل للملف

sh syno-i686-bootstrap_1.2-7_i686.xsh

والان نحذف الملف بعد تثبيته

rm syno-i686-bootstrap_1.2-7_i686.xsh

ثم نعمل تحديث للحزم من خلال

ipkg update
ipkg upgrade

 

خطوة اضافية: في بعض الاجهزة بعد التحديث الاخير لنظام تشغيل السيرفر 5.0 تحصل مشكلة اذا عملت اعادة تشغيل للسيرفر راح ينحذف البوتستراب الي عملناه وتضطر تحذفه وتعمله من جديد! (_3  لقينا حل لهذي المشكلة بسيط جدا نعدل على ملف /root/.profile ونضيف علامة الهاش # امام السطرين

"PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin"
"PATH=/sbin..."

فتصير كذا

#"PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/syno/sbin:/usr/syno/bin:/usr/local/sbin:/usr/local/bin"
#"PATH=/sbin..."

نسوي هالخطوة من خلال سطر الاوامر عن طريق محرر النصوص VI, فنكتب هذا الامر

vi /root/.profile

الان احنا في وضع محرر النصوص وبنعدل على ملف .profile نضغط حرف i من الكيبورد علشان ندخل لوضع التعديل ثم بالاسهم من الكيبورد نبحث عن السطرين المعنية ونضع امامهم علامة الهاش
و نخرج من وضع التعديل بالضغط على زر الهروب esc و عمل حفظ واغلاق بضغط shift+ZZ ضغطتين على حرف ZZ لازم كبتل


 

تثبيت xmlrpc-c

تحديث 2017 : روح للخطوة التالية

برنامج rTorrent يحتاج لحزمة xmlrpc-c وهي موجودة مسبقاً مع النظام ولكن حسب المطورين هي ليست متوافقة مع التورنت و نحتاج لحذفها ونثبت اصدار متوافق مع rTorrent

نحذف xmlrpc الموجود

ipkg remove xmlrpc-c

ونثبت حزمة لعمل كومبايل للـ xmlrpc

ipkg install gcc svn optware-devel libcurl-dev

والان نثبت الاصدار المتوافق من الـ xmlrpc

svn checkout http://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/stable xmlrpc-c
cd xmlrpc-c
C_INCLUDE_PATH=/opt/include ./configure --prefix=/opt
make
make install

الان ممكن تحصل مشكلة اذا كان موجود في النتائج مثل هالاسطر فأنت في عداد الموتى! اخذت اسبوعين وتعبت علشان  تنحل  (_36

make[3]: Entering directory `/root/xmlrpc-c/lib/expat/xmltok'
rm -f nametab.h
../gennmtab/gennmtab >nametab.h
/opt/bin/bash: line 1: 30352 Segmentation fault (core dumped) ../gennmtab/gennmtab > nametab.h
make[3]: *** [nametab.h] Error 139
make[3]: *** Deleting file `nametab.h'
make[3]: Leaving directory `/root/xmlrpc-c/lib/expat/xmltok'
make[2]: *** [xmltok/all] Error 2
make[2]: Leaving directory `/root/xmlrpc-c/lib/expat'
make[1]: *** [expat/all] Error 2
make[1]: Leaving directory `/root/xmlrpc-c/lib'
make: *** [lib/all] Error 2

 

واذا ماظهر لك مثل هذي النتيجة انتقل لخطوة تثبيت rTorrent.

الحل نسوي ملف في مسار الحزمة نسميه nametab.h بهذي الطريقة:

نذهب لمسار الحزمة

cd lib/expat/xmltok

ننشيء الملف

touch nametab.h

نحرر الملف

vi nametab.h

ونضع بداخله محتوى هذا التكست, نحفظ الملف ونعود لمسار الحزمة بالسطر التالي

/cd root/xmlrpc-c

ثم نعيد تثبيت الحزمة بالسطر التالي

make
make install

 

تثبيت rTorrent

ننفذ الاسطر التالية

ipkg install rtorrent screen
mkdir -p /opt/share/torrent/session/
mkdir /opt/var/log/

الان نقوم بتحرير ملف الاعدادات بكتابة السطر التالي

vi /opt/etc/rtorrent.conf

ونضيف هذا السطر في اي مكان داخل الملف

scgi_port = 127.0.0.1:5050

الان نقوم بتحرير هذا الملف ايضاً

vi /opt/etc/init.d/S99rtorrent

نحذف علامة الهاش من امام السطر السابع ونعدل العبارة لتصبح

dirlayout=CUSTOM

نعدل الدالة التالية checkcnfg() بإضافة علامة الهاش لتصبح هكذا

#for i in `echo "$PATH" | tr ':' '\n'` ; do
# if [ -f $i/$NAME ] ; then
exists=1
# break
# fi
#done

نعدل دالة d_start() بإضافة علامة الهاش امام كل الاسطر التي تبدأ بـ “su -c” ثم نضيف السطر الآتي في آخر الدالة

su -c "screen -dmS ${srnname} rtorrent ${options} 2>$logfile"

نحفظ الملف ثم نعيد تشغيل البرنامج بتنفيذ

/opt/etc/init.d/S99rtorrent restart

 

تثبيت سيرفر lighttpd

تحديث 2017 : روح للخطوة التالية من الان ما في حاجة لهذا الشي

lighttpd هو سيرفر ويب لتشغيل اي تطبيق يعمل كويب من خلال المتصفح وهو اساسي لتركيب الواجهة نثبته بالسطر التالي

ipkg install lighttpd php-fcgi

ونحرر الملف التالي

vi /opt/etc/lighttpd/lighttpd.conf

بداخل هذا الملف نجد دالة اسمها server.event-handler ونغير قيمتها إلى poll لتصبح بالشكل التالي

server.event-handler = "poll"

ودالة آخرى اسمها server.modules نضيف لها القيمتين التالية بدون علامة الهاش

"mod_cgi" , "mod_scgi"

واخيرا نضيف هذه الاسطر في اي مكان داخل الملف

scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"host" => "127.0.0.1",
"port" => 5050,
"check-local" => "disable"
)))

وننهي تحرير الملف ثم نكتب في سطر الاوامر

/opt/etc/init.d/S80lighttpd restart

 

تثبيت واجهة ruTorrent

نكتب التالي في سطر الاوامر سوياً

cd /www
svn export http://rutorrent.googlecode.com/svn/trunk/rutorrent

وبعد الانتهاء نعمل تحرير ملف الاعدادت

vi /www/rutorrent/conf/config.php

ونبحث عن هذه الدالة scgi_port = ونجد قيمتها 5000 نغيرها الى 5050 لتصبح

$scgi_port = 5050;

واخيرا تم الانتهاء بقي نثبت اضافات الواجهة بهذا السطر سوياً

cd /www/rutorrent/
svn export --force http://rutorrent.googlecode.com/svn/trunk/plugins

ممكن تواجهك مشكلة بوجود السطر التالي في الواجهة

Check $scgi_port and $scgi_host settings in config.php and scgi_port in rTorrent configuration file

تأكد من عمل السابق بشكل دقيق وتابع المصدر لتفاصيل اكثر وتتبع المشكلات “Troubleshooting”  هنا.