fredag 30 november 2012

Nu fungerar nyheterna igen.

Märkte att mitt rss-flöde med nyheter slutat fungera och bara visade mina blogginlägg. Nu fungerar allt som innan igen.

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

fredag 6 juli 2012

Partitonera GPT-diskar med fdisk

Om du försöker använda fdisk på en disk med GPT (dvs, inte MBR), kommer fdisk att säga The util fdisk doesn't support GPT. Use GNU Parted.

Om man inte vill använda gparted är en lösning att rensa bort GPT-informationen från disken och därefter formatera den med fdisk.

GPT-datan kan tas bort med hjälp av sgdisk och zap-kommandot. Exempelvis:
sgdisk --zap /dev/sdb

Läsfel med LVM på extern disk.

Efter mycket försök fram och tillbaka vill jag varna andra, LVM fungerar inte bra med externa diskar.

Exempelvis fick jag fel som read failed after 0 of 4096 fastän det inte var något fel på disken.

Enligt ArchWiki ska en lösning på detta vara att avmontera disken, koppla ur den ett par minuter och koppla in den igen. När jag gjorde detta kunde jag läsa ett par filer innan jag fick läsfel åter igen.

Min rekommendation är att koppla in disken internt, för mig fungerade det direkt utan några problem alls.

Extern disk hittas som USB 1.1 i linux

Jag märkte att mina externa 2.5"-diskar ofta hittades som USB 1.1 istället för USB 2.0.
Detta märks främst på att överföringshastigheten blir runt 1000kb/s, men man kan även se det genom att köra lsusb.

Detta problemet får jag inte i Windows utan endast i Linux, i mitt fall Ubuntu Server, men problemet verkar vara kernel-relaterat.

Ursprunget till problemet verkar vara att Linux-kerneln försöker identifiera USB-enheten innan hårddisken hunnit spinna upp. När detta misslyckas faller den tillbaka på USB 1.1.

En enkel lösning är om du har en sladd med två USB-kontakter, där den ena är för extra ström och den andra för data. Koppla först in sladden för ström, låt disken spinna upp och koppla där efter in kontakten för data.

Om du inte har en sådan kabel bör en lösning vara att koppla in disken redan vid boot, då hinner den spinna upp och vara redo när du drar igång ditt OS.

söndag 1 juli 2012

Adblock inaktiveras i Firefox 13

Efter att Firefox uppgraderats till version 13 i min OSX Lion-maskin märkte jag att adblock inte längre fungerade. Om man gick in på addons i Firefox såg allt rätt ut, adblock visades som installerat och aktiverat.

Lösningen var att inaktivera adblock och sedan aktivera det igen. Jag behövde inte starta om Firefox efteråt.

måndag 14 maj 2012

Sätta locale för mosh i Ubuntu

Mosh är en pålitlig UDP-baserad lösning som kan användas när SSH kopplar ner eller har för hög fördröjning för att kunna användas. Bra användningsområden är exempelvis på en dålig 3g-länk.

Mosh kräver UTF-8, något som kan ställa till en del strul under Ubuntu.

För mig var lösningen att modifiera /etc/default/locale så den innehöll följande rader:
LANG="en_US.UTF-8"
LANGUAGE="en_US:en"
LC_ALL=en_US.UTF-8

Där efter kör jag locale-gen

Om du nu kör locale ska samtliga variabler vara satta.