لتوضيح الفرق في البداية الـ rTorrent هو برنامج التورنت الاساسي ويعمل على منصات لينُكس بشكل عام على الطرفية ونتعامل معه من خلال الاوامر الكتابية ولتشغيل واجهة رسومية نحتاج تركيب ruTorrent وهي واجهة ويب للتحكم في برنامج التورنت بشكل كامل من خلال المتصفح مثلما تستعمل اليوتورنت على الويندوز او غيره.
الشرح معقد بعض الشيء لمن لم يتعامل مع الطرفية من قبل, إقرأ الاسطر والاوامر بعناية وانتبه للملحوظات في التدوينة قبل تنفيذ الاوامر ان وجد لذلك خذلك فنجان قهوة واشتغل بهدوء
تم تحديث التدوينة 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 تحصل مشكلة اذا عملت اعادة تشغيل للسيرفر راح ينحذف البوتستراب الي عملناه وتضطر تحذفه وتعمله من جديد! لقينا حل لهذي المشكلة بسيط جدا نعدل على ملف /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
الان ممكن تحصل مشكلة اذا كان موجود في النتائج مثل هالاسطر فأنت في عداد الموتى! اخذت اسبوعين وتعبت علشان تنحل
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” هنا.