Visar inlägg med etikett rtorrent. Visa alla inlägg
Visar inlägg med etikett rtorrent. Visa alla inlägg

söndag 11 december 2016

error while loading shared libraries: libtorrent.so.19

After compiling rtorrent on Ubuntu 16.04 I got the following error message:
rtorrent: error while loading shared libraries: libtorrent.so.19: cannot open shared object file: No such file or directory

The solution was to add the following to /etc/ld.so.conf
include /usr/local/lib

Then after doing that run
ldconfig

Source: Ubuntu Forums

lördag 29 november 2014

Kompilering av rtorrent i Ubuntu 14.10

Okej, då var det dags för ännu en guide till hur man kompilerar rtorrent, denna gången under Ubuntu Server 14.10.
En hel del nya problem (som vanligt), men nu finns åtminstone allt som behövs via git eller apt-get!

Vi börjar med att installera dependencies
apt-get install g++ automake make libcppunit-dev libcurl4-nss-dev libncurses5-dev libsigc++-2.0-dev libtool libxmlrpc-core-c3-dev pkg-config libssl-dev

Sedan är det dags att klona ut och kompilera källkoden.

Installalation av c-ares
git clone https://github.com/bagder/c-ares.git
cd c-ares
./configure
make
sudo make install

Installation av curl
git clone https://github.com/bagder/curl.git
cd curl
./buildconf
./configure --enable-ares --with-ssl
make
sudo make install

Installation av libtorrent
git clone https://github.com/rakshasa/libtorrent.git
cd libtorrent
./autogen.sh (obs felmeddelande!)
./autogen.sh
./configure
make
sudo make install

Installation av rtorrent
git clone https://github.com/rakshasa/rtorrent.git
cd rtorrent
./autogen.sh (obs felmeddelande!)
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install

När jag nu kör rtorrent med min befintliga konfigurationsfil får jag felmeddelanden;
Command "use_udp_trackers" does not exist.
Command "peer_exchange" does not exist.

Än så länge har jag inte listat ut varför, så jag startar rtorrent med "rtorrent -D", för att hantera deprecated-kommandon i konfigurationsfilen. Men både peer_exhange och use_udp_trackers är med i exempelkonfigurationen, så jag förstår inte vad som går snett.

Att köra med ./autogen.sh två gånger är inte standard, men det löser problemet som uppstår.
Första gången man kör skapas nämligen inte ltmain.sh, men andra gången man kör skapas den.

Så här ser det ut första gången:
sniglom@ubuntu ./autogen.sh
aclocal...
autoheader...
libtoolize... using libtoolize
automake...
configure.ac:10: installing './compile'
configure.ac:10: installing './config.guess'
configure.ac:10: installing './config.sub'
configure.ac:5: installing './install-sh'
configure.ac:10: error: required file './ltmain.sh' not found
configure.ac:5: installing './missing'
src/Makefile.am: installing './depcomp'
parallel-tests: installing './test-driver'

Här finns info om ltmain.sh som saknas:
http://www.gnu.org/software/automake/manual/html_node/Error-required-file-ltmain_002esh-not-found.html
http://stackoverflow.com/questions/22603163/automake-error-ltmain-sh-not-found

Men som jag förstår de två ovanstående länkarna ska det räcka att köra med autoreconf -i eller libtoolize, det gör det alltså inte. Däremot kan man köra autoreconf -i två gånger, för att installera ltmain.sh, men då kan man likväl köra autogen.sh två gånger.


söndag 22 juni 2014

Lägg till rtorrent som tjänst i Ubuntu

Tröttnade på att alltid manuellt behöva starta rtorrent efter omstart av servern.
Lånade ett väldigt eneklt skript man kan lägga i /etc/init.d från en annan blogg.
(För den som vill ha ett mer avancerat skript finns det ett på github)

Börja med att skapa filen /etc/init.d/rtorrent

Lägg följande skript i filen:
(glöm inte att ändra "myUser" till den användaren som du vill köra rtorrent med).
#! /bin/sh
### BEGIN INIT INFO
# Provides: rtorrent
# Required-Start:
# Required-Stop:
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: rtorrent
# Description: start rtorrent
### END INIT INFO

case "$1" in
start)
echo "Starting rtorrent..."
su myUser-c 'screen -dmS rtorrent rtorrent'
;;
stop)
echo "Stopping rtorrent..."
killall -s 2 rtorrent
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
;;
esac

exit 0

Ändra rättigheter på filen
sudo chmod 755 /etc/init.d/rtorrent


Uppdatera init.d
sudo update-rc.d rtorrent defaults

Nu ska du kunna köra
sudo service rtorrent start



Källa forums.debian.net

söndag 11 augusti 2013

Uppgradering av ruTorrent

I detta inlägg ska jag gå igenom hur man hämtar hem senaste versionen av ruTorrent samt återställer sin gamla konfiguration.

Jag börjar med att hämta ut senaste versionen via svn
svn checkout http://rutorrent.googlecode.com/svn/trunk/ rutorrent

I SVN-repot ligger plugin-filerna inte inuti rutorrent-installationen, det får vi lösa.
cd rutorrent
mv plugins rutorrent/
cd rutorrent
mv * ..
rm -rf rutorrent

Nu behöver vi hämta konfigurationen från vår gamla ruTorrent-installation. I mitt fall ligger den i www.
cp -r /var/www/rutorrent/conf .

Jag behöver också kopiera konfigurationen från mina plugins
cp -r /var/www/rutorrent/share .

Jag flyttar nu bort min gamla installation och lägger den nya på plats.
sudo mv /var/www/rutorrent ~/rutorrent.old
cd ..
sudo mv rutorrent /var/www/rutorrent
chown -r www-data:www-data /var/www/rutorrent

Om allt gått vägen ska din nya installation vara på plats!

rTorrent fryser

Jag har tidigare beskrivit hur man installerar rTorrent tillsammans med ruTorrent. Efter något års användande märkte jag att rTorrent började frysa mer och mer. Men det var svårt att lista ut varför, lasten var alltid låg och rTorrent kunde frysa även direkt efter omstart och när nätverkstrafiken var låg.

Efter en del sökande hittade jag till slut svaret. rTorrent förlitar sig på cURL, som i sin tur inte kan göra DNS-uppslagningar asynkront. Resultatet är att rTorrent hänger sig så fort den försöker göra en DNS-uppslagning som tar tid.

Lösningen är att kompilera om cURL tillsammans med c-ares, där efter kompilera om libtorrent och slutligen rtorrent.


1. Installera c-ares
wget http://c-ares.haxx.se/download/c-ares-1.10.0.tar.gz
tar zxf c-ares-1.10.0
cd c-ares-1.10.0
./configure
make
sudo make install

2. Installera cURL
wget http://curl.haxx.se/download/curl-7.31.0.tar.gz
tar zxf curl-7.31.0.tar.gz
cd curl-7.31.0
./configure --enable-ares
make
sudo make install

3. Installera libtorrent
git clone https://github.com/rakshasa/libtorrent
cd libtorrent
./autogen.sh
./configure
make
sudo make install

4. Installera rtorrent
git clone svn://rakshasa.no/libtorrent/trunk/rtorrent
cd rtorrent
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install

Efter detta kör jag curl --version för att se att följande står: Features: AsynchDNS.

Om du kör ruTorrent är det möjligt att den säger följande nu:
"rss: Some functionality will be unavailable. Web-server user can't access external program (curl)."

I så fall ska du köra:
sudo apt-get install curl php5-curl

Efter det bekräftar jag åter igen att rätt version av curl körs med hjälp av curl --version.

Källa:
FileShareFreak
Ubuntu Forums
Rutorrent Forums

söndag 30 september 2012

ruTorrent i Ubuntu server

Uppdatering: Jag rekommenderar att du installerar rTorrent tillsammans med c-ares för att det inte ska frysa när många torrentar körs. För instruktioner om c-ares se mitt nya inlägg.

ruTorrent är en webbaserad frontend till rtorrent. Tanken är att den ska vara extremt lik uTorrent. ruTorrent är huvudsakligen skriven i php och kommunicerar med rtorrent genom xmlrpc-c.

Jag har installerat ruTorrent tillsammans med lighttpd, vilket är något ovanligare än Apache.

Vi börjar med att installera lighttpd och php
sudo apt-get install lighttpd php5 php5-common php5-cli php5-cgi php5-curl
Då de flesta distributioner inte kompilerar in rpc-stöd i rTorrent blir nästa steg att ladda hem och kompilera libtorrent samt rtorrent.

Vi börjar med att installera nödvändiga paket.

sudo apt-get g++ install automake make libcppunit-dev libcurl4-nss-dev libncurses5-dev libsigc++-2.0-dev libtool libxmlrpc-c3-dev pkg-config

Dags för att kompilera och installera libtorrent.
wget http://libtorrent.rakshasa.no/downloads/libtorrent-0.13.2.tar.gz
tar zxf libtorrent-0.13.2.tar.gz
cd libtorrent-0.13.2
./autogen.sh
./configure
make
sudo make install

Vi fortsätter mer att installera rTorrent.
wget http://libtorrent.rakshasa.no/downloads/rtorrent-0.9.2.tar.gz
tar zxf rtorrent-0.9.2.tar.gz
cd rtorrent-0.9.2
./autogen.sh
./configure --with-xmlrpc-c
make
sudo make install

Nu behöver vi konfigurera lighttpd att använda php, lägg till följande i /etc/lighttpd/lighttpd.conf

fastcgi.server = ( ".php" => ((
"bin-path" => "/usr/bin/php-cgi",
"socket" => "/tmp/php.socket",
"max-procs" => 2,
"bin-environment" => (
"PHP_FCGI_CHILDREN" => "16",
"PHP_FCGI_MAX_REQUESTS" => "10000"
),
"bin-copy-environment" => (
"PATH", "SHELL", "USER"
),
"broken-scriptfilename" => "enable"
)))


Vi fortsätter med att lägga in rpc-stödet som krävs för att ruTorrent ska kunna kommunicera med rtorrent.
server.modules += ( "mod_scgi")

scgi.server = (
"/RPC2" =>
( "127.0.0.1" =>
(
"socket" => "/tmp/rpc.socket",
"check-local" => "disable",
"disable-time" => 0, # don't disable scgi if connection fails
)
)
)

Nu har vi kommit till att lägga ruTorrent på plats.
wget http://rutorrent.googlecode.com/files/rutorrent-3.4.tar.gz
tar zxf rutorrent-3.4.tar.gz
wget http://rutorrent.googlecode.com/files/plugins-3.4.tar.gz
tar zxf plugins-3.4.tar.gz
mv plugins rutorrent/
Dags att flytta in ruTorrent till webservern.
sudo mv rutorrent /var/www/
sudo chown -r www-data:www-data /var/www/rutorrent

ruTorrent behöver konfigureras, konfigurationsfilen finns här:
/var/www/rutorrent/conf/config.php
Ställ följande parametrar:
$scgi_port = 0;
$scgi_host = "unix:///tmp/rpc.socket";
$XMLRPCMountPoint = "/RPC2";
Om du kommer ha din download-mapp någon annanstans än på din huvudpartition (sda1) behöver du ändra $topDirectory till att peka på rätt mapp.

Skapa filstruktur för rtorrent, förslagsvis i din hemmapp
cd
mkdir rtorrent
cd rtorrent
mkdir download
mkdir watch
mkdir .session

Konfiguration av rTorrent:
cd
wget https://rtgui.googlecode.com/files/.rtorrent.rc
nano .rtorrent.rc

Parametrar som behöver ändras är:
encoding_list = UTF-8
scgi_local = /tmp/rpc.socket
schedule = chmod,0,0,"execute=chmod,777,/tmp/rpc.socket"
directory = ~/rtorrent/download

De flesta övriga inställningar går att konfigurera från ruTorrent, men det som sätts i .rtorrent.rc kommer användas som default.

Om ruTorrent ska vara öppet utifrån behöver den adressen säkras upp. Detta kan göras på följande sätt:
sudo apt-get install apache2-utils
sudo htdigest -c /etc/lighttpd/.auth "Authorized users only" mittUserName

Lägg sedan till följande i /etc/lighttpd/lighttpd.conf
server.modules += ( "mod_auth" )
auth.backend = "htdigest"
auth.backend.htdigest.userfile = "/etc/lighttpd/.auth"
auth.debug = 2
auth.require = ( "/rutorrent/" => ( "method" => "digest", "realm" => "Authorized users only", "require" => "valid-user" ) )

Dags att ladda om lighttpd
sudo service lighttpd force-reload

Har allt gått vägen ska du nu kunna nå ruTorrent med användarnamn och lösenord på http://mitthostname/rutorrent

Källa:
http://filesharefreak.com/2010/02/13/how-to-install-rtorrent-rutorrent-using-socket-ssl-authentication-on-ubuntu-or-debian