Debian

Installatie

Debian is een Linux distributie die je kunt uitvoeren op je NAS. Deze distributie wordt dan gestart binnen de basis linux omgeving van je NAS. Met Debian kan je meer programma's uitvoeren dan met de basis linux. Dit is bijvoorbeeld nodig om HellaNZB gestart te krijgen. Hieronder volgt een uitleg van de installatie.

1. Maak een directory aan voor Debian en open deze

# cd /mnt/HD_a2/

# mkdir debian

# cd debian

2. Download de 'Etch' distributie (deze is enigszins voor geconfigureerd)

# wget http://dev.skcserver.de/dns323/etch.tar

3. Pak deze vervolgens uit.

# tar -xf etch.tar

4. Start nu de Debian distributie met het commando chroot.

# chroot etch /bin/bash

Je bent nu in de Debian distributie. Eén en ander moet gebeuren voor de configuratie.

5. Bewerk je resolv.conf bestand. Deze dient om ervoor te zorgen dat je verbindingen naar je netwerk en internet juist gerouteerd worden. (In dit voorbeeld wordt vi als editor gebruikt, dit kan natuurlijk ook met notepad++ in /debian/etch/etc/ of Joe)

# vi /etc/resolv.conf

Zet in dit bestand het ip adres van je router, bijvoorbeeld:

>> search wan
>> nameserver 192.168.2.1

6. Updaten met apt-get:

apt-get is het commando om packages voor debian te downloaden. Het is raadzaam de lijst met downloadable packages te updaten.

# apt-get update

Misschien krijg je zogenaamde CPG errors. CPG errors zijn foutmeldingen die te maken hebben met de authenticatie methodiek die een aantal Debian package servers gebruiken. De standaard ingestelde package server zou geen problemen moeten geven. Eventuele CPG errors los je op door onderstaand commando uit te voeren. Vul natuurlijk de key in die op jouw scherm komt (bijv. NO_PUBKEY H293993D4U86TYR) Voer commando's uit na iedere CPG error. Check je foutloosheid, totdat '# apt-get update' geen CPG errors meer geeft.

# apt-get install debian-archive-keyring
# gpg --keyserver wwwkeys.eu.pgp.net --recv-keys H293993D4U86TYR
# gpg --armor --export H293993D4U86TYR | apt-key add -
# apt-get update

7. Image maken

Allereerst maken we van de kleine debian versie die we nu hebben een image:

# apt-get install cdebootstrap
# cdebootstrap -aarm etch etch ftp://ftp.ie.debian.org/debian

8 Comprimeer de nieuwe etch directory

# tar cf deb_ch3snas.tar etch

9. Verlaat de Debian omgeving

# exit

10. Je bent nu weer in de basis omgeving. Verwijder het eerder gedownloade etch.tar bestand en kopieer het net nieuw gemaakte. Verwijder vervolgens de etch directory.

# rm etch.tar
# cp etch/deb_ch3snas.tar etch.tar
# rm -Rf etch

11. Pak vervolgens je eigen versie weer uit (check of je nog in de ../debian/ folder staat!)

# tar -xf etch.tar

12. Start je zelgemaakt Debian omgeving op

# chroot etch /bin/bash

13.Voer stap 5 nogmaals uit

14. Maak een hosts bestand aan, hierin wordt je local naam aan je ip adres gelinkt:

# vi /etc/hosts

Voeg de volgende regels toe (aan de hand van je eigen situatie natuurlijk, het IP adres en naam van je NAS)

>> 127.0.0.1 localhost
>> 192.168.2.1 CH3SNAS

15. Voer stap 6 opnieuw uit.

16. De basis-installatie van deze Debian versie gaat er vanuit dat je gebruikt maakt van free mirrors waar je je bestanden vandaan haalt. Op deze mirrors staat enkel software packages die licentie-technisch geen kosten met zich meebrengen. Hier is op zich niets mis mee, gezien het feit dat je licentie-technisch niet in de problemen komt. Echter om RAR te gebruiken moeten we gebruik maken van een non-free mirror. RAR is nodig voor HellaNZB. Mocht je HellaNZB niet willen installeren is het niet nodig deze stap uit te voeren.

!! Bij het aanpassen naar een non-free mirror ben je natuurlijk zelf verantwoordelijk voor het afnemen van licenties, bijvoorbeeld voor RAR !!

# vi /etc/hosts

Pas de "deb ftp://ftp.ie.debian.org/debian etch main" regel aan:

>> deb ftp://ftp.nl.debian.org/debian stable main contrib non-free

17.Vervolgens Debian upgraden.

# apt-get update
# apt-get dist-upgrade

Creëer een password voor je root gebruiker. Voer na het commando twee keer je gewenste wachtwoord in. (noot: het gebruiken van je root gebruiker voor allerlei acties wordt over het algemeen niet aanbevolen. Misschien nog nuttig om je hierover in te lezen op het moment dat je je NAS ook op één of andere manier naar de buitenwereld openzet.)

# passwd root

18. Het is nuttig om via SSH je Debian omgeving te kunnen benaderen, bijvoorbeeld direct van buitenaf. Installatie met dit commando

# apt-get install ssh

19. Voeg de volgende regel toe aan je fun_plug bestand om SSH te laden bij de start van je NAS

>> cd /mnt/HD_a2/debian && chroot etch /etc/init.d/ssh start >> /var/log/ssh.log 2

Debian is nu klaar voor gebruik! In het hoofstuk HellaNZB wordt uitgelegd hoe je een proces in deze omgeving kan starten. Je kan Debian altijd vanuit de basis telnet omgeving starten door het volgende commando in de debian directory uit te voeren: # chroot etch /bin/bash


HellaNZB (Debian only)

HellaNZB is een Usnet client welke makkelijk te configureren is. Je kan hiermee .nzb downloaden, parren en unrarren. Zelf heb ik ervoor gekozen alleen te downloaden en parren. Dit kun je naar eigen wens veranderen in het configuratiebestand.

1. Voor de installatie dien je drie compontenten te installeren, waaronder unrar. Unrar is overigens niet gratis en zal je moeten licenseren op een gegeven moment. Voor onderstaande commandos in de Debian omgeving uit:

#apt-get install unrar
#apt-get install par2
#apt-get install hellanzb

2. Na de installatie moet de config file aangepast worden. Deze vind je in /etc/hellanzb.conf Bewerk deze met vi of iets anders. In de config file zijn een aantal regels belangrijk. Allereerst natuurlijk het 'define server' blok. Dit spreekt redelijk voor zich. Pas de PREFIX_DIR regel aan op de volgende manier:

>> Hellanzb.PREFIX_DIR = '/.hellanzb/'

3. Zoek de volgende lijn op: "#Hellanzb.UMASK = 0022" Haal het # weg en wijzig zoals onderstaand. Dit zorgt ervoor dat de HellaNZB in Daemon mode de nieuw aangemaakt bestanden en directories op de goede manier rechten geeft

>> Hellanzb.UMASK = 0000

4. In deze map kan je .nzb bestanden zetten die dan direct verwerkt worden door HellaNZB. Je kan HellaNZB nu starten door het commando # hellanzb te geven. Je kan dan testen of dit werkt, door een .nzb bestand in de daemon.queue directory te zetten. De output komt terecht in de directory "/.hellanzb/done" Vergeet niet HellaNZB netjes af te sluiten door shutdown te geven in het venster. Het kan even duren voordat dit daadwerkelijk gebeurt.

6. Voeg de volgende regel toe aan je fun_plug bestand om HellaNZB als daemon (-D optie) te laden bij de start van je NAS (basis linux omgeving)

>> cd /mnt/HD_a2/debian && chroot etch /usr/bin/hellanzb -D >> /var/log/hellanzb.log

7. Ga na de herstart binnen Debian naar de directory "/.hellanzb/nzb" Hier vind je een een folder die "daemon.queue heet". Omdat deze map standaard niet de juiste rechten heeft veranderen we dit.

# CHMOD 777 daemon.queue

Light HTTP daemon (lighttpd) (Debian only)

Light HTTP daemon is een webserver, welke o.a. PHP ondersteund. Deze hebben we nodig om Zussaweb te kunnen draaien (een HellaNZB web interface). De server kan natuurlijk ook voor andere doeleinden gebruikt worden.

1. Installeer de lighttpd webserver en benodigde packages.

# apt-get install lighttpd
# apt-get install php5-cgi
# apt-get install libterm-readline-gnu-perl

Na het installeren wordt de daemon automatisch gestart. Deze zal dan een foutmelding geven dat poort 80 in gebruik is. Dit komt doordat de webserver van de NAS zelf al draait (je configuratie schermen) Negeer dit even.

Foutmelding na installatie van packages

2. Nu moet de configuratie geschreven en geactiveerd worden. Voer onderstaande commandos uit.

# /bin/cp /etc/lighttpd/conf-available/10-fastcgi.conf /etc/lighttpd/conf-available/10-fastcgi-php5.conf
# /bin/sed -i -e 's/php4/php5/g' /etc/lighttpd/conf-available/10-fastcgi-php5.conf
# /usr/sbin/lighty-enable-mod fastcgi-php5

3. Open het configuratie bestand:

# vi /etc/lighttpd/lighttpd.conf

4. Haal het # weg voor de volgende regel: "# server.port = 81"

# server.port = 81

5. Laad lighttpd met het volgende commando (proces wordt eerst gestopt, voor het geval je 'm al had draaien)

# /etc/init.d/lighttpd force-reload

6. Ga nu naar het IP adres van je NAS op poort 81 (bijv. http://192.168.x.x:81). Je krijgt een placeholder pagina te zien. Je HTTP daemon met PHP support draait nu, dit is nodig voor de volgende stap.

7. Voeg de volgende regel toe aan je fun_plug bestand om lighttp als daemon te laden bij de start van je NAS. (basis linux omgeving)

>> cd /mnt/HD_a2/debian && chroot etch /usr/sbin/lighttpd -f /etc/lighttpd/lighttpd.conf

Zussaweb (HellaNZB web interface) (Debian only)

Het zou wel makkelijk zijn als je je Hellanzb downloads kon beheren met een web-based interface. Een prettige interface is Zussaweb. Hier volgt een beschrijving van de installatie

1. Ga naar de www directory van lighttpd en download Zussaweb

# cd/var/www # wget http://garr.dl.sourceforge.net/sourceforge/zussaweb/zussaweb03.tar.gz
# tar -xf zussaweb03.tar.gz

2. Aanpassen van de config file. Open het settings.php bestand

# cd zussaweb
# vi settings.php

3. Pas opties aan zoals te zien in onderstaande screendump

Zussaweb -> Settings.php

In de huidige versie van Zussaweb zit nog een kleine bug. Zie onderstaande screendump

De Zussaweb interface, nu nog met foutmelding

Dit los je op door het bestand functions.php te openen en daar de regel "disk_free_space.." aan te passen naar onderstaand voorbeeld.

Het Zussaweb functions.php bestand

Vanaf nu kan je je interface benaderen via http://192.168.x.x:81/zussaweb/ Je hoeft Zussaweb niet te starten, het is immers een webpagina die vanzelf toegankelijk wordt met lighttpd.

Slimserver (Debian only)

Voor het gebruik van slimserver op je NAS dien je de volgende stappen uit te voeren.

1. Installeer slimserver (installeer alle gerelateerde packages, en eventueel de firmware voor je squeezebox)

# apt-get update
# apt-get install slimserver

2. Pas de configuratie pagina aan.

# vi /mnt/HD_a2/debian/etch/etc/default/slimserver

Verander het "HTTP_ADDR=192.168.x.x" naar het IP adres van de NAS en bewaar het bestand

3. Voor het automatisch opstarten van slimserver voeg je de volgende regel toe aan je funplug bestand.

>> cd /mnt/HD_a2/debian && chroot etch /etc/init.d/slimserver start >> /var/log/slimserver.log 2>&1

4. Als je Twonky en Slimserver beide geinstalleerd hebt, is het nodig om het http poort nummer aan te passen. Beide programma's gebruiken poort 9000, dus dat gaat niet werken. Dit kan het meest gemakkelijk in de slimserver configuratie. Hier moet je natuurlijk wel Twonky voor stoppen. Dit kan door 'm tijdelijk uit het funplug startup bestand te halen of het proces te killen met het killall commando.

Ga naar de configuratie van je slimserver op http://xxxx:9000 en vervolgens naar 'server settings' en 'network' . Pas hier het poortnummer aan en save. Vervolgens Twonky reanimeren door een reboot. Check of alles werkt.

5. Configureer je slimserver d.m.v. de web interface. That's it.