All In One ClearOS 6.6 NAS server, part 2/2

Welkom bij deel 2 van de All In One ClearOS NAS server. In dit deel worden media gerelateerde zaken geïnstalleerd. Naast een muziekserver wordt er ook aandacht besteed aan de installatie van software die het automatisch downloaden van films en series mogelijk maakt. Let wel, het is niet toegestaan auteursrechtelijk beschermde content te downloaden.

Logitech Media Server

Logitech Media Server (LMS) f.k.a. Squeezebox Server f.k.a. SqueezeCenter f.k.a. SlimServer is een applicatie die muziek beheert in een bibliotheek en deze kan laten afspelen op Squeezebox produkten. Overal in je huis muziek, centraal opgeslagen op je server.
Voor meer informatie, ga naar http://wiki.slimdevices.com/

LMS repository

Eerst moet er een nieuwe repository worden geïnstalleerd. Van hier uit kan LMS worden geïnstalleerd en bijgehouden (updaten). De meeste recente versie van LMS staat hier:
http://downloads.slimdevices.com/

Zoek naar de RedHat Package Manager versie (bestandsnaam eindigt met ‘rpm’) en kopieer de link. Download de rpm naar de /tmp directory.

# wget -P /tmp http://downloads.slimdevices.com/LogitechMediaServer_v7.7.5/logitechmediaserver-7.7.5-1.noarch.rpm

Dependencies

Installeer nu de dependency ‘perl-Time-HiRes’. Deze Perl module zorgt ervoor dat Perl om kan gaan met timers in het OS. Installeer ook de Free Lossless Audio Codec decoder, FLAC.

# yum -y install perl-Time-HiRes flac

Installatie

Installeer nu LMS.

# yum -y localinstall /tmp/logitechmediaserver*.noarch.rpm

Voorbeeld:

Dependencies Resolved

=====================================================================================
 Package Arch Version Repository Size
=====================================================================================
Installing:
 logitechmediaserver noarch 7.7.5-1 /logitechmediaserver-7.7.5-1.noarch 270 M

Transaction Summary
=====================================================================================
Install 1 Package(s)

Total size: 270 M
Installed size: 270 M

[...]

Installed:
 logitechmediaserver.noarch 0:7.7.5-1

Complete!

Maak de volgende aanpassing:

# cd /usr/lib64/perl5/vendor_perl/
# ln -s /usr/lib/perl5/vendor_perl/Slim Slim

LMS kan nu worden gestart met de opdracht:

# service squeezeboxserver start

Om LMS bij iedere boot van de server automatisch op te laten starten:

# chkconfig squeezeboxserver on

LMS is nu geïnstalleerd. Zoals het bericht aan het einde van de installatie ook al aangeeft, kan je met een webbrowser nu naar http://x.x.x.x:9000/ (gebruik hier je eigen server adres of hostname) gaan om LMS verder te configureren.

Configuratie van LMS wordt niet behandeld in deze handleiding.

SABnzbd

SABnzbd behoeft weinig inleiding. De usenet downloader is gemaakt met Python. Geef het een nzb bestand en hij download, checked, repareert en pakt uit. Volledig geautomatiseerd.

Repo en dependencies

Kopieer het volgende commando om de SABnzbd repo aan te maken. Deze wordt standaard enabled (enabled=1). Het gevolg is dat toekomstige updates voor SABnzbd automatisch worden geïnstalleerd. Wil je dit niet, pas dit dan aan.

Kopieer en plak onderstaande in een PuTTY sessie.

# cat << _EOF > /etc/yum.repos.d/sabnzbd.repo
[SABnzbd]
name=SABnzbd for RHEL 6 and clones - $basearch - Base
baseurl=https://dl.dropboxusercontent.com/u/14500830/SABnzbd/RHEL-CentOS/6/
failovermethod=priority
enabled=1
gpgcheck=0
_EOF

SABnzbd heeft unrar nodig om bestanden uit te pakken. Standaard is unrar niet geïnstalleerd op ClearOS 6.6. We gaan dat eerst doen.
Download de meeste recente rpm van unrar. Deze is te vinden op http://pkgs.repoforge.org/unrar.

# wget -P /tmp/ http://pkgs.repoforge.org/unrar/unrar-5.0.3-1.el6.rf.x86_64.rpm

Installeer vervolgens dit bestand:

# rpm -Uvh /tmp/unrar-5.0.3-1.el6.rf.x86_64.rpm

Installatie

Nu alle voorbereidingen getroffen zijn, kan SABnzbd als volgt worden geïnstalleerd.

# yum -y --enablerepo=clearos-core,clearos-epel install SABnzbd

Voorbeeld:

Dependencies Resolved
[...]
=====================================================================================
 Package               Arch       Version                     Repository        Size
=====================================================================================
Installing:
 SABnzbd               noarch     0.7.20-1.el6                SABnzbd          2.4 M
Installing for dependencies:
 nc                    x86_64     1.84-24.el6                 clearos           56 k
 par2cmdline           x86_64     0.4.tbb.20100203-3.el6      clearos-epel     123 k
 pyOpenSSL             x86_64     0.10-2.el6                  clearos          211 k
 python-cheetah        x86_64     2.4.1-1.el6                 clearos-core     364 k
 python-markdown       noarch     2.0.1-3.1.el6               clearos-core     117 k
 python-pygments       noarch     1.1.1-1.el6                 clearos-core     561 k
 python-setuptools     noarch     0.6.10-3.el6                clearos-core     335 k
 python-yenc           x86_64     0.4.0-1.el6                 SABnzbd           25 k
 tbb                   x86_64     2.2-3.20090809.el6          clearos-core      74 k
 unzip                 x86_64     6.0-1.el6                   clearos          148 k

Transaction Summary
=====================================================================================
Install      11 Package(s)
[...]
Complete!

SABnzbd is nu geïnstalleerd in de volgende directory /usr/share/SABnzbd/

# ls -lh /usr/share/SABnzbd/
total 280K
drwxr-xr-x  5 root root 4.0K Mar 16 16:36 cherrypy
drwxr-xr-x  2 root root 4.0K Mar 16 16:36 email
drwxr-xr-x  2 root root 4.0K Mar 16 16:36 gntp
drwxr-xr-x  2 root root 4.0K Mar 16 16:36 icons
drwxr-xr-x  8 root root 4.0K Mar 16 16:36 interfaces
drwxr-xr-x 13 root root 4.0K Mar 16 16:36 locale
drwxr-xr-x  5 root root 4.0K Mar 16 16:36 po
drwxr-xr-x  3 root root 4.0K Mar 16 16:36 sabnzbd
-rwxr-xr-x  1 root root  67K Nov 24 12:17 SABnzbd.py
-rw-r--r--  2 root root  49K Nov 24 12:17 SABnzbd.pyc
-rw-r--r--  2 root root  49K Nov 24 12:17 SABnzbd.pyo
-rwxr-xr-x  1 root root  66K Nov 21 20:41 SABnzbd.py.orig
drwxr-xr-x  2 root root 4.0K Mar 16 16:36 tools
drwxr-xr-x  2 root root 4.0K Mar 16 16:36 util

SABnzbd gebruiker


Notitie: In deze handleiding wordt één gebruikers-account gebruikt als het gaat om downloaden. Zowel SABnzbd, Sickbeard/SickRage, Couchpotato, als Headphones draaien onder de gebruiker “nzbuser”. Deze gebruiker kan in het systeem niet inloggen, het is enkel voor gebruik van applicaties. Dit heeft als voordeel dat alles wat gedownload wordt automatisch nzbuser als eigenaar heeft. Alle download applicaties hebben dus juiste rechten over de bestanden.


Maak eerst een gebruikersaccount aan waaronder SABnzbd zal gaan draaien. Wanneer je een gebruiker aanmaakt in de Webconfig van ClearOS zal deze een standaard opvolgnummertje krijgen. Dit userid is >=1000. Ik geef de voorkeur naar scheiding tussen echte gebruikers en dit soort machine accounts. Daarom maak ik de gebruiker ‘nzbuser‘ aan met userid 1100, groupid 63000 (allusers).

# useradd -u 1100 -g 63000 -s /bin/bash nzbuser

Check of de user juist is aangemaakt

# getent passwd | grep nzbuser
nzbuser:x:1100:63000::/home/nzbuser:/bin/bash

Nu de gebruiker nzbuser is aangemaakt, moet SAB handmatig gestart worden om de directory-structuur en bestanden in de /home/nzbuser neer te kunnen zetten. Dit hoeft maar één keer te gebeuren.

Start SAB met de daarvoor bestemde gebruiker (hier nzbuser):

sudo -u nzbuser python /usr/share/SABnzbd/SABnzbd.py -s <ip-adres>:8080

Voorbeeld:

2015-03-29 20:24:54,564::INFO::[panic:247] Lauching browser with http://x.x.x.x:8080/sabnzbd
2015-03-29 20:24:55,307::INFO::[SABnzbd:1604] Starting SABnzbd.py-0.7.20
2015-03-29 20:24:55,313::INFO::[dirscanner:277] Dirscanner starting up
2015-03-29 20:24:55,315::INFO::[urlgrabber:77] URLGrabber starting up

Open nu een webbrowser en open de url van SABnzbd, http://<ip-adres>:8080


Notitie:
Start nu de SABnzbd configuratie wizard. De instellingen van SABnzbd is voor iedereen anders. Daarom wordt deze hier niet beschreven.


Wanneer de wizard is afgerond kan de browser worden gesloten. Stop tevens SABnzbd in PuTTY door Ctrl + c in te toetsen. De directorystructuur van de SABnzbd user is nu gemaakt.

Configuratie

SABnzbd heeft twee configuratie bestanden nodig om goed te kunnen draaien. Het gaat om de volgende bestanden:

  • /etc/init.d/SABnzbd – Dit bestand zorgt er voor dat SABnzbd op de juiste manier gestart en gestopt kan worden.
  • /etc/sysconfig/SABnzbd – Hierin staan parameters genoemd welke van belang zijn om hierboven genoemde bestand te voorzien van de juiste waarden.

Beide bestanden zijn gedurende het installatie proces al aangemaakt. Ze moeten alleen nog worden aangepast.

SABnzbd als daemon

SABnzbd is op dit moment geïnstalleerd en kan gestart worden met het volgende commando:

# sudo -u nzbuser python /usr/share/SABnzbd/SABnzbd.py -s <ip-adres>:8080

Om SABnzbd op deze manier te starten is omslachtig. Je kan SABnzbd beter als daemon later draaien, op de achtergrond. Je hebt er dan geen omkijken naar; SABnzbd start automatisch bij het opstarten van de server.
De volgende stappen zijn noodzakelijk wanneer je SABnzbd als daemon wilt laten draaien.

Wijzig het volgende bestand naar eigen smaak

# vi /etc/sysconfig/SABnzbd

Voorbeeld:

# SABnzbd service configuration

# run SABnzbd as
sabuser=nzbuser

# modify if SABnzbd config file is somewhere else for some reason
config="/home/${sabuser}/.sabnzbd/sabnzbd.ini"

# API key (can be found in the above config file)
apikey= xxxxxxxxxxxxxxxxxx

# gui address, eg: ${protocol}://${host}:${port}/sabznbd/
protocol=http
host=x.x.x.x
port=8080

# leave blank if no username/password is required to access the gui
username=
password=

# use nice, ionice, taskset to start SABnzbd
nicecmd="ionice -c2 -n4"
# example: nicecmd="nice -n 19 ionice -c3"

Sla het bestand op.
Maak voor het makkelijk starten en stoppen van de SABnzbd daemon de servicenaam met kleine letters:

# mv /etc/init.d/SABnzbd /etc/init.d/sabnzbd

Nu kan SAB worden gestart als service/daemon.

# service sabnzbd start
Starting SABnzbd:                                          [  OK  ]

Om tenslotte SABnzbd automatisch te starten bij opstarten van de server:

# chkconfig sabnzbd on

Extra instellingen

Verhuis logging naar de /var/log directory. De /var/log directory is binnen Linux de centrale plek waar applicaties al hu nlog weg schrijven. SABnzbd schrijft hier standaard niet naar toe. Doe het volgende om dit te wijzigen.
Maak eerst de directory aan:

# service sabnzbd stop
# mkdir /var/log/sabnzbd

Kopieer nu bestaande logging naar de nieuwe locatie:

# cp /home/nzbuser/.sabnzbd/logs/* /var/log/sabnzbd

Zet de juiste rechten voor gebruiker ‘nzbuser’:

# chown -R nzbuser:allusers /var/log/sabnzbd/

Open nu het configuratiebestand en wijzig de regel ‘log_dir’

# su nzbuser
$ vi ~/.sabnzbd/sabnzbd.ini

Wijzig in

log_dir = /var/log/sabnzbd

Sla het bestand op.
Ga terug naar de root user en start nu SABnzbd opnieuw. Logging zal nu centraal worden opgeslagen in de nieuwe locatie.

Issues

SABnzbd start niet automatisch op bij booten van de server.
Zorg dat SAB later in het bootproces opstart. In ieder geval nadat OpenLDAP is opgestart. OpenLDAP start immers alle gebruikers, zo ook ‘nzbuser’.

Sickbeard

Sickbeard of Sick Beard is een usenet downloader specifiek voor tv series. Net als SABnzbd gebouwd op Python. Geef op welke series je wilt volgen en Sickbeard doet de rest. Ideaal in combinatie met SABnzbd. Meer informatie over Sickbeard en forks van Sickbeard bijv, Sickrage, kan je in de volgende links vinden:

Sick Beard – Internet PVR for your TV Shows
Sick Beard op GitHub
SickRage, fork van Sickbeard

Installatie Git

Installeer eerst Git om Sickbeard te kunnen installeren.

# yum -y --enablerepo=clearos-core install git
[...]
Dependencies Resolved

=====================================================================================
 Package           Arch          Version                   Repository           Size
=====================================================================================
Installing:
 git               x86_64        1.7.1-3.el6_4.1           clearos-core        4.6 M
Installing for dependencies:
 perl-Error        noarch        1:0.17015-4.el6           clearos-core         28 k
 perl-Git          noarch        1.7.1-3.el6_4.1           clearos-core         27 k
 rsync             x86_64        3.0.6-12.el6              clearos             334 k

Transaction Summary
=====================================================================================
Install       4 Package(s)

[...]

Complete!

Installatie Sickbeard

Installeer/download nu Sickbeard met de volgende opdracht:

# git clone https://github.com/midgetspy/Sick-Beard.git /tmp/sickbeard

Sickbeard wordt nu middels Git geïnstalleerd in de /tmp/ directory.

Initialized empty Git repository in /tmp/sickbeard/.git/
remote: Counting objects: 25089, done.
remote: Total 25089 (delta 0), reused 0 (delta 0), pack-reused 25089
Receiving objects: 100% (25089/25089), 11.73 MiB | 1.46 MiB/s, done.
Resolving deltas: 100% (16502/16502), done.

Verplaats Sickbeard nu naar een meer logische plaats in de directory-structuur. Dit kan bijvoorbeeld je /home directory zijn. Mijn voorkeur gaat uit naar /usr/share. Daar staat ook SABnzbd geïnstalleerd.

# mv /tmp/sickbeard /usr/share/

Note: Je kan ook in één keer met Git in de juiste directory installeren. Hieronder het voorbeeld om Sickrage, een fork van Sickbeard, in één stap te installeren naar /usr/share.

# git clone https://github.com/echel0n/SickRage.git /usr/share/sickrage

Sickbeard/SickRage is nu geïnstalleerd. Ga Sickbeard nu configureren.

Configuratie

Kopieer het Fedora opstart-script naar de systeem opstart directory en geef het execute rechten.

# cp /usr/share/sickbeard/init.fedora /etc/init.d/sickbeard
# chmod +x /etc/init.d/sickbeard
vi /etc/init.d/sickbeard

Zorg dat de regels 26 t/m 30 er als volgt uit zien

## Edit user configuation in /etc/sysconfig/sickbeard to change
## the defaults
username=${SB_USER}
homedir=${SB_HOME}
datadir=${SB_DATA}
pidfile=${SB_PIDFILE}
nice=${SB_NICE}

Sla het gewijzigde bestand op.
Maak een nieuw bestand aan met naam /etc/sysconfig/sickbeard

# vi /etc/sysconfig/sickbeard

Kopieer de volgende inhoud in dit bestand en pas aan waar nodig.

# Sickbeard service configuration

# run Sickbeard as
SB_USER=nzbuser
SB_HOME=/usr/share/sickbeard
SB_DATA=/home/nzbuser/.sickbeard
SB_PIDFILE=/var/run/sickbeard/sickbeard.pid

# gui address, eg: \${protocol}://\${host}:\${port}/sickbeard/
protocol=http
host=x.x.x.x       #example host=mymachine
port=8081          #example port=8081

# leave blank if no username/password is required to access the gui
username=
password=

# use nice, ionice, taskset to start Sickbeard
# nicecmd=
SB_NICE="ionice -c2 -n4"
# example: nicecmd="nice -n 19 ionice -c3"

Start de Sickbeard service

# service sickbeard start
Starting sickbeard:                                        [  OK  ]

Om de Sickbeard daemon automatisch te starten bij het booten van de server:

# chkconfig sickbeard on

Bezoek met een web browser de Sickbeard beheerpagina, http://x.x.x.x:8081 om Sickbeard verder in te stellen.

Het instellen van Sickbeard wordt niet in deze handleiding besproken.

Post installatie stappen

Log verplaatsen
Het Sickbeard log verplaatsen naar de /var/log directory. Dit gaat op exact dezelfde manier als bij Sabnzbd.
Stop Sickbeard en maak de directory aan:

# service sickbeard stop
# mkdir /var/log/sickbeard

Kopieer nu bestaande logging naar de nieuwe locatie:

# cp /home/nzbuser/.sickbeard/Logs/* /var/log/sickbeard

Zet de juiste rechten voor gebruiker ‘nzbuser’:

# chown -R nzbuser:allusers /var/log/sickbeard/

Open nu het configuratiebestand en wijzig de regel ‘log_dir’

# su nzbuser
$ vi ~/.sickbeard/config.ini

Wijzig in de waarde log_dir naar:

log_dir = /var/log/sickbeard

Sla het gewijzigde bestand op, verlaat de nzbuser user sessie en start Sickbeard opnieuw op met service sickbeard start.

Issues

Wanneer de status van de deamon wordt opgevraagd en het resultaat is:

# service sickbeard status
sickbeard dead but subsys locked

Dan kan dit gecorrigeerd worden door de volgende aanpassing. Open het opstartscript:

# vi /etc/init.d/sickbeard

En voeg de volgende tekst toe tussen regel nr. 64 en de regel “# See how we are called”. Wijzig ook de status regel (regel 34 hieronder).

[...]
# Create more informative status output
status() {
    # run checks to determine if the service is running or use generic status

    /usr/bin/nc -z $host $port &> /dev/null
    retval=$?

    if [ $retval -eq 0 ];then
        pid=`ps -fu $username | grep -v grep | grep SickBeard.py | awk '{print $2}'`
        echo "$prog (pid $pid) is running..."
        return $retval
    else
        echo "$prog is stopped"
        return $retval
    fi

}

status_q() {
    status >/dev/null 2>&1
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
# wijzig ook de regel hieronder
        status
        ;;
  restart|force-reload)
        stop
        start
        ;;
[...]

Bewaar het bestand. Nu ziet de status query er bekend uit:

# service sickbeard start
Starting sickbeard:                                        [  OK  ]
# service sickbeard status
sickbeard (pid 5022) is running...

CouchPotato

Het installeren van CouchPotato (CP) gaat net als bij Sickbeard via Git. Installeer de applicatie op dezelfde manier. De rest van de configuratie is grotendeels hetzelfde als bij Sickbeard.

Installatie

Installeer CP in /usr/share

# cd /usr/share

Download CP van Git source

# git clone https://github.com/RuudBurger/CouchPotatoServer.git

Voorbeeld:

# git clone https://github.com/RuudBurger/CouchPotatoServer.git
Initialized empty Git repository in /usr/share/CouchPotatoServer/.git/
remote: Counting objects: 42906, done.
remote: Total 42906 (delta 0), reused 0 (delta 0), pack-reused 42906
Receiving objects: 100% (42906/42906), 20.77 MiB | 2.19 MiB/s, done.
Resolving deltas: 100% (23557/23557), done.

Kopieer het Fedora opstart-script naar de systeem opstart directory, hernoem het en geef het execute rechten.

# cd && cp /usr/share/CouchPotatoServer/init/fedora /etc/init.d/

# mv /etc/init.d/fedora /etc/init.d/couchpotato

# chmod +x /etc/init.d/couchpotato

Configuratie

Wijzig het opstart-script

vi /etc/init.d/couchpotato

Zorg dat de regels 26 t/m 29 er als volgt uit zien

## Edit user configuation in /etc/sysconfig/couchpotato to change
## the defaults
username=${CP_USER}
homedir=${CP_HOME}
datadir=${CP_DATA}
pidfile=${CP_PIDFILE}

Sla het gewijzigde bestand op.

Maak nu een nieuw service configuratiebestand en vul deze met inhoud specifiek voor jou configuratie. Kopieer en plak onderstaande in PuTTY. Let op: Pas de regel met “host=” aan!

cat << _EOF > /etc/sysconfig/couchpotato
# CouchPotato service configuration

# run CouchPotato as
CP_USER=nzbuser
CP_HOME=/usr/share/CouchPotatoServer
CP_DATA=/home/nzbuser/.couchpotato
CP_PIDFILE=/var/run/couchpotato/couchpotato.pid

# gui address, eg: \${protocol}://\${host}:\${port}/couchpotato/
protocol=http
host=192.168.x.x   #vervang door eigen ip adres, example host=mymachine
port=5050          #example port=5050
_EOF

Start de CP service

# service couchpotato start
Starting couchpotato:                                 [  OK  ]

Om de Couchpotato daemon automatisch te starten bij het booten van de server:

# chkconfig couchpotato on

Bezoek met een web browser de CP beheerpagina, http://192.168.x.x:5050 (vervang door eigen ip adres) om CP verder in te stellen.

Het instellen van CouchPotato wordt niet in deze handleiding besproken.

Headphones

Wat CouchPotato is voor films, is Headphones voor muziek. In combinatie met SABnzbd of NZBGet zoekt en download hij muziek zodra het op usenet beschikbaar is.

De installatie van Headphones is ook hier weer gelijk aan die van Sickbeard en CouchPotato.

Installatie

Voor onderstaande twee commando’s uit om Headphones van Git te downloaden naar de directory /usr/share.

# cd /usr/share
# git clone https://github.com/rembo10/headphones.git headphones

Klaar alweer. Headphones staat nu Geïnstalleerd in directory /usr/share/headphones. Op naar de configuratie.

Configuratie

Maak een nieuw opstartscript (de inhoud is op basis van Sickbeard). Kopieer en plak onderstaande in PuTTY.

# vi /etc/init.d/headphones
#!/bin/sh
#
### BEGIN INIT INFO
# Provides:          Headphones
# Required-Start:    $all
# Required-Stop:     $all
# Default-Start:     2 3 4 5
# Default-Stop:      0 1 6
# Short-Description: starts Headphones
# Description:       starts Headphones
### END INIT INFO

# Source function library.
. /etc/init.d/functions

# Source headphones configuration
if [ -f /etc/sysconfig/headphones ]; then
        . /etc/sysconfig/headphones
fi

prog=headphones
lockfile=/var/lock/subsys/$prog

## Edit user configuation in /etc/sysconfig/headphones to change
## the defaults
username=${HP_USER}
homedir=${HP_HOME}
datadir=${HP_DATA}
pidfile=${HP_PIDFILE}
nice=${HP_NICE}
##

pidpath=`dirname ${pidfile}`
options=" --daemon --nolaunch --pidfile=${pidfile} --datadir=${datadir}"

# create PID directory if not exist and ensure the headphones user can write to it
if [ ! -d $pidpath ]; then
        mkdir -p $pidpath
        chown $username $pidpath
fi

if [ ! -d $datadir ]; then
        mkdir -p $datadir
        chown $username $datadir
fi

start() {
        # Start daemon.
        echo -n $"Starting $prog: "
        daemon --user=${username} --pidfile=${pidfile} ${nice} python ${homedir}/Headphones.py ${options}
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch $lockfile
        return $RETVAL
}

stop() {
        echo -n $"Shutting down $prog: "
        killproc -p ${pidfile} python
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && rm -f $lockfile
        return $RETVAL
}

# See how we were called.
case "$1" in
  start)
        start
        ;;
  stop)
        stop
        ;;
  status)
        status $prog
        ;;
  restart|force-reload)
        stop
        start
        ;;
  try-restart|condrestart)
        if status $prog > /dev/null; then
            stop
            start
        fi
        ;;
  reload)
        exit 3
        ;;
  *)
        echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
        exit 2
esac

Sla het bestand op, voeg daarna execute rechten toe.

# chmod +x /etc/init.d/headphones

Maak een service configuratiebestand voor Headphones. Kopieer en plak onderstaande in PuTTY.

cat << _EOF > /etc/sysconfig/headphones
# Headphones service configuration

# run Headphones as
HP_USER=nzbuser
HP_HOME=/usr/share/headphones
HP_DATA=/home/nzbuser/.headphones
HP_PIDFILE=/var/run/headphones/headphones.pid

# gui address, eg: \${protocol}://\${host}:\${port}/couchpotato/
protocol=http
host=192.168.x.x   #vervang door eigen ip adres, example host=mymachine port=8181 #example port=8181
_EOF

Nu kan de Headphones service worden gestart

# service headphones start
Starting headphones:                                 [  OK  ]

Om de Headphones daemon automatisch te starten bij het booten van de server:

# chkconfig headphones on

Bezoek met een web browser de Headphones beheerpagina, http://192.168.x.x:8181 (vervang door eigen ip adres) om Headphones verder in te stellen.
Het instellen van Headphones wordt niet in deze handleiding besproken.

Post installatie stappen

Log verplaatsen

Verplaats het Headphones log naar de centrale plek op de server, /var/log.

# mkdir /var/log/headphones

# chown -R nzbuser:allusers /var/log/headphones

Log nu in op de beheeromgeving van Headphones en ga naar ‘Settings’ > ‘Log directory’ om naar de zojuist aangemaakte directory te verwijzen. Sla op en herstart Headphones om de nieuwe log locatie actief te maken.
Verwijder nu de oude log directory:

# rm -fr /home/nzbuser/.headphones/logs

Spotweb

Spotweb is een website. Een website die een overzicht toont van posts op nieuws-servers (usenet). Je kan deze Spotweb website zelf lokaal hosten. Zodoende kan het, binnen je eigen LAN, een bron zijn voor je usenet zoekacties. Het overzicht van posts moet regelmatig ge-update worden.

Spotweb is een web-app welke je vanuit de GitHub direct kan downloaden. Git heb je in de vorige stap al gïnstalleerd, dus je kan direct aan de slag door Spotweb te downloaden.

Website hosten

Websites binnen ClearOS kunnen worden aangemaakt met behulp van Flexshares. Ga in de Webconfig naar ‘Server‘ > ‘Flexshare‘ en klik op ‘Add‘ om een nieuwe website toe te voegen. Noem deze website 'spotweb'. Zie hieronder.

Add spotweb Flexshare

Wanneer de flexshare is aangemaakt ga dan naar het kopje ‘Web‘ en klik op ‘Edit‘ (zie hieronder).

Edit spotweb Flexshare

Kies vervolgens de juiste opties zoals hieronder. Sluit af met ‘Update‘.

Details spotweb Flexshare

De Spotweb website is nu geconfigureerd. Spotweb zelf kan nu naar de directory '/var/flexshare/shares/spotweb' gekopieerd worden.

Download eerst naar tijdelijke map /tmp.

# git clone https://github.com/spotweb/spotweb.git /tmp/spotweb

Voorbeeld:

Initialized empty Git repository in /tmp/spotweb/.git/
remote: Counting objects: 30534, done.
remote: Total 30534 (delta 0), reused 0 (delta 0), pack-reused 30534
Receiving objects: 100% (30534/30534), 15.45 MiB | 1.43 MiB/s, done.
Resolving deltas: 100% (16466/16466), done.

Eenmaal gedownload, kopieer de inhoud van deze directory naar de locatie waar ClearOS de website verwacht, /var/flexshare/shares/spotweb/.

# cp -r /tmp/spotweb/. /var/flexshare/shares/spotweb/

Zet als laatste de juiste rechten op de cache directory.

# chmod 777 /var/flexshare/shares/spotweb/cache/

Nu Spotweb nog even opruimen uit de /tmp/ directory.

# rm -fr /tmp/spotweb/

MySQL instellingen

Maak nu een nieuwe database en database gebruiker aan die Spotweb kan gebruiken. Log in op de database als ‘root’.

# mysql -u root -p
Enter password:

Maak spotweb database en gebruikersaccount aan.

mysql> CREATE DATABASE spotweb;

mysql> CREATE USER 'spotweb'@'localhost' IDENTIFIED BY 'jouw_password';

mysql> GRANT ALL PRIVILEGES ON spotweb.* TO spotweb @'localhost' IDENTIFIED BY 'jouw_password';

mysql> quit
Bye
#

Dat is het. Open nu een webbrowser en gaan naar de url
http://<ipadress of hostname>/flexshare/spotweb/install.php
om daar Spotweb verder te configureren.

Configuratie van Spotweb zelf valt buiten deze handleiding.

Klaar!

Dit is het einde van de handleiding.  Je hebt nu zelf een NAS server gebouwd, gebasseerd op ClearOS 6.6. De server is klaar voor gebruik. Windows clients kunnen nu aanloggen op het domein van de server. Mac OSX clients kunnen aanmelden middels de Open Directory tool in OSX. Zorg dan dat je de LDAP (zoals bijv. ldaps://hostname.domain.lan) gebruikt om tegen te praten.

Mocht het zo zijn dat er nog andere leuke of nuttige uitbreidingen op deze handleiding zich aandienen, dan zal ik deze op de website plaatsen.

3 gedachten over “All In One ClearOS 6.6 NAS server, part 2/2”

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *