Мар
13
Опубликовано svip в Сб, 03/13/2010 - 19:38
Для ubuntu 9.10 Karmic Kola
sudo apt-get install build-dep apache2.2-common apache2-utils autoconf automake autotools-dev binutils build-essential bzip2 ca-certificates comerr-dev cpp cpp-4.1 dpkg-dev file g++ g++-4.1 gawk gcc gcc-4.1 libapache2-mod-php5 libapr1 libaprutil1 libc6-dev libcurl3 libcurl4-openssl-dev libexpat1 libidn11 libidn11-dev libkdb5-4 libkrb5-dev libmagic1 libncurses5-dev libneon26 libpcre3 libpq5 libsigc++-2.0-dev libsqlite0 libsqlite3-0 libssl-dev libssp0-dev libstdc++6-4.1-dev libsvn1 libtool libxml2 lighttpd linux-libc-dev lynx m4 make mime-support ntp ntpdate openssl patch perl perl-modules php5 php5-cgi php5-common php5-sqlite php5-cli pkg-config screen sqlite subversion ucf zlib1g-dev php5-xmlrpc libapache2-mod-scgi
Редактируем апач
sudo nano /etc/apache2/sites-enabled/000-default
Добавляем после “< /VirtualHost >”
LoadModule scgi_module /usr/lib/apache2/modules/mod_scgi.so SCGIMount /RPC2 127.0.0.1:5000
Перезапускаем апач
sudo /etc/init.d/apache2 restart
Качаем рторрент из свн:
svn co svn://rakshasa.no/libtorrent/trunk/libtorrent svn co svn://rakshasa.no/libtorrent/trunk/rtorrent
или просто качаем архив
wget _http://libtorrent.rakshasa.no/downloads/libtorrent-0.12.5.tar.gz wget _http://libtorrent.rakshasa.no/downloads/rtorrent-0.8.5.tar.gz
Распаковываем архив
tar -xvzf libtorrent-0.12.5.tar.gz tar -xvzf rtorrent-0.8.5.tar.gz rm *.tar.gz
качаем xmlrpc-c
svn co https://xmlrpc-c.svn.sourceforge.net/svnroot/xmlrpc-c/advanced/
Собираем xmlrpc
cd advanced ./configure –disable-cplusplus make sudo make install
Собираем libtorrent
cd <to libtorrent directory> ./autogen.sh ./configure –prefix=/usr make sudo make install
Собираем rtorrent
cd <to rtorrent directory> ./autogen.sh ./configure –with-xmlrpc-c
Если в выводу видем:
# make sure you see “checking for XMLRPC…. OK” near the end of the outputted text”то поддержка xmlrpc установлена, иначе ищем ошибки описанные в конце статьи
дособираем рторрент
make sudo make install
Запускаем rtorrent
sudo ldconfigДалее ставим веб-морду rutorrent:
cd /var/www/ sudo wget <a href="http://rutorrent.googlecode.com/files/rutorrent-2.9.tar.gz<br /> sudo" title="http://rutorrent.googlecode.com/files/rutorrent-2.9.tar.gz<br /> sudo">http://rutorrent.googlecode.com/files/rutorrent-2.9.tar.gz<br /> sudo</a> tar -xvzf rutorrent-2.9.tar.gz sudo rm *.tar.gz sudo chmod 777 rutorrent
настраиваем конфиг rtorrent
cd ~ nano .rtorrent.rc
#This s is an example resource file for rTorrent. Copy to # ~/.rtorrent.rc and enable/modify the options as needed. Remember to # uncomment the options you wish to enable. # Maximum and minimum number of peers to connect to per torrent. min_peers = 40 max_peers = 300 # Same as above but for seeding completed torrents (-1 = same as downloading) min_peers_seed = 10 max_peers_seed = 350 # Maximum number of simultanious uploads per torrent. max_uploads = 15 # Global upload and download rate in KiB. "0" for unlimited. download_rate = 10000 upload_rate = 15000 # Default directory to save the downloaded torrents. directory = /home/admin/downloads # Default session directory. Make sure you don't run multiple instance # of rtorrent using the same session directory. Perhaps using a # relative path? session = /home/admin/.session # Watch a directory for new torrents, and stop those that have been # deleted. schedule = watch_directory,5,5,load_start=/home/admin/torrents/*.torrent #schedule = untied_directory,5,5,stop_untied= # Close torrents when diskspace is low. #schedule = low_diskspace,5,60,close_low_diskspace=500M # Stop torrents when reaching upload ratio in percent, # when also reaching total upload in bytes, or when # reaching final upload ratio in percent. # example: stop at ratio 2.0 with at least 200 MB uploaded, or else ratio 20.0 #schedule = ratio,60,60,stop_on_ratio=200,200M,2000 # The ip address reported to the tracker. #ip = 127.0.0.1 #ip = rakshasa.no # The ip address the listening socket and outgoing connections is # bound to. #bind = 127.0.0.1 #bind = rakshasa.no # Port range to use for listening. port_range = 62788-62900 scgi_port = localhost:5000 # Start opening ports at a random position within the port range. #port_random = no # Check hash for finished torrents. Might be usefull until the bug is # fixed that causes lack of diskspace not to be properly reported. check_hash = no # Set whetever the client should try to connect to UDP trackers. #use_udp_trackers = yes # Alternative calls to bind and ip that should handle dynamic ip's. #schedule = ip_tick,0,1800,ip=rakshasa #schedule = bind_tick,0,1800,bind=rakshasa # Encryption options, set to none (default) or any combination of the following: # allow_incoming, try_outgoing, require, require_RC4, enable_retry, prefer_plaintext # The example value allows incoming encrypted connections, starts unencrypted # outgoing connections but retries with encryption if they fail, preferring # plaintext to RC4 encryption after the encrypted handshake encryption = allow_incoming,enable_retry,prefer_plaintext # encryption = allow_incoming,try_outgoing # Do not modify the following parameters unless you know what you're doing. # Hash read-ahead controls how many MB to request the kernel to read # ahead. If the value is too low the disk may not be fully utilized, # while if too high the kernel might not be able to keep the read # pages in memory thus end up trashing. hash_read_ahead = 64 # Interval between attempts to check the hash, in milliseconds. hash_interval = 2 # Number of attempts to check the hash while using the mincore status, # before forcing. Overworked systems might need lower values to get a # decent hash checking rate. hash_max_tries = 2 # Max number of files to keep open simultaniously. max_open_files = 256 # Number of sockets to simultaneously keep open. #max_open_sockets = <no default> # Example of scheduling commands: Switch between two ip's every 5 # seconds. #schedule = "ip_tick1,5,10,ip=torretta" #schedule = "ip_tick2,10,10,ip=lampedusa" # Remove a scheduled event. #schedule_remove = "ip_tick1" dht = disable max_memory_usage = 800M
Создаем папки и даем права на них
mkdir download mkdir torrent mkdir .session chmod 777 download chmod 777 torrent chmod 777 .sesson
Зупаскаем скрипт и сам рторрент
screen rtorrent
rtorrentЕсли при сборке rtoorent выкидывает ошибки и не компилится с поддержкой xmlrpc то делаем:
sudo apt-get remove libtorrent7 --purge sudo apt-get remove rtorrent --purge sudo apt-get remove libxmlrpc-c3-dev --purge
далее в папке с исходниками рторрент
make clean sudo ldconfig
и далее с самого начала статьи.