NewzNab+ is een NZB Indexer voor Usenet die o.a. gebruikt kan worden in combinatie met SickBeard en CouchPotato vanwege de ingebouwde API. Wees er wel van bewust dat NewzNab+ nogal vrij resource intensief is. Het vraagt veel geheugen tijdens het optimaliseren en updaten van de database en je CPU wordt ook nog flink gebruikt. Het is dus belangrijk om veel geheugen en een snelle disk te hebben.
Volg de volgende stappen uit om Newznab+ te installeren op je headless Debian Server. Ik ga er van uit dat je als ‘su’ (superuser) bent ingelogd.
Het meest gebruikelijke is het om Newznab+ te installeren in de sub-directory ‘newznab’ van je web-root:
mkdir -p /var/www/newznab chmod 777 /var/www/newznab
Installeren dependencies
apt-get install -y php5 php5-dev php-pear php5-gd php5-mysql php5-curl apt-get install -y lame apt-get install -y unrar apt-get install -y ffmpeg apt-get install -y python-software-properties apt-get install -y mediainfo apt-get install -y subversion
PHP Instellingen
Hiervoor moet je je PHP configuratie aanpassen. Dit doe je in de volgende 2 configuratie-files:
/etc/php5/apache2/php.ini /etc/php5/cli/php.ini
Verander in deze 2 files de volgende instellingen (indien aanwezig):
register_globals = Off max_execution_time = 120 memory_limit = 512MB date.timezone = Europe/Amsterdam
Hierna moet je apache2 herstarten met het commando
/etc/init.d/apache2 restart
MySQL instellen
Zorg ervoor dat deze geïnstalleerd is met alle benodigde clients. Dit doe je met de volgende commando’s:
apt-get install mysql-server mysql-client libmysqlclient-dev
Kies een sterk passwoord voor je database als hierom gevraagd wordt. Dit heb je later nog nodig om in te loggen op mysql.
Apache
Je moet de site-configuratie aanmaken voor je Apache. Creëer hiervoor de file ‘/etc/apache2/sites-available/newznab’ met de volgende inhoud:
<VirtualHost *:80> # These paths should be fine DocumentRoot /var/www/newznab/www ErrorLog /var/log/apache2/error.log LogLevel warn </VirtualHost>
Maak een aantal Apache instellingen met de volgende commando’s:
a2ensite newznab a2enmod rewrite /etc/init.d/apache2 restart
Sphinix
Sphinx wordt gebruikt om zeer snel door tekst te zoeken. Het is ongelooflijk snel en gebruik van deze tool wordt erg aangeraden in combinatie met Newznab+. Het is verstandig om de allerlaatste versie van deze tool te gebruiken.
apt-get install sphinxsearch
Newznab source
We kunnen nu eindelijk ‘echt’ gaan beginnen met het installeren van Newznab+. Haal de laatste versie van Newznab op en pak het bestand uit in ‘/var/www/newznab’.
Indien je de Newznab+ versie hebt gekocht kun je dit als volgt doen:
svn co svn://svn.newznab.com/nn/branches/nnplus /var/www/newznab
Hierna moet je de rechten van een aantal directories goed zetten:
chmod 777 /var/www/newznab/www/lib/smarty/templates_c chmod 777 /var/www/newznab/www/covers/anime chmod 777 /var/www/newznab/www/covers/console chmod 777 /var/www/newznab/www/covers/movies chmod 777 /var/www/newznab/www/covers/console chmod 777 /var/www/newznab/www/covers/music chmod 777 /var/www/newznab/www chmod 777 /var/www/newznab/www/install chmod 777 /var/www/newznab/nzbfiles/ chmod 777 /var/www/newznab/nzbfiles/
Configureren Newznab
Je hebt nu Newznab+ geïnstalleerd en is het is dus nu zaak om het te configureren. Dit gaat via een web-based installer. Ga hiervoor met je browser naar:
http://localhost/newznab/www/install
Hierbij worden de volgende stappen doorlopen:
– controle of alle settings goed staan
– user-name en paswoord van je database invullen
– news server instellingen
– administrator user aanmaken
– NZB file path opgeven
Uiteindelijk moet je nog een aantal Admin functies instellen om echt te gaan beginnen.
Edit Site
De default settings zijn over het algemeen prima. Zorg er wel voor dat je je Newznab ID en 3th party application paths goed invult:
Unrar Path : /usr/bin/unrar Mediainfo Path : /usr/bin/mediainfo ffmpeg Path : /usr/local/bin/ffmpeg Lame Path : /usr/bin/lame
Enable Groups
Ga naar ‘/admin/groups-list.php’ in je web-browser en kies een aantal groepen die je wilt indexeren door op [activate] van een aantal groepen te drukken. Ik raad de volgende groepen aan om mee te beginnen:
a.b.hdtv.x264 a.b.movies a.b.teevee a.b.tvseries a.b.x264
Het is ook verstandig om een aantal termen te blacklisten om ’troep’ in je index te vermijden. Dit doe je in ‘admin/binaryblacklist-list.php’. Vul hier de volgende regel in:
german|danish|flemish|french|swedish|swesub|deutsch|norwegian|\.ita\.|korsub|ITA
Vervolgens kan het het echte indexeren gaan beginnen. Het beste is het om dit de eerste keer handmatig te doen.
cd /var/www/newznab/misc/update_scripts php update_binaries.php php update_releases.php
Sphinx
Met Sphinx kunt je heel snel tekst indexeren. Default staat deze uit, maar deze kun je enablen in ‘/admin/site-edit.php’. Om Sphinx werkend te krijgen moet je eerst een ‘sphinx.conf’ file genereren met de volgende commando’s:
cd /var/www/newznab/misc/sphinx php ./nnindexer.php generate
Nu moeten we de search daemon starten, indeci creeren en de daemon restarten:
php ./nnindexer.php daemon php ./nnindexer.php index full all php ./nnindexer.php index delta all php ./nnindexer.php daemon --stop php ./nnindexer.php daemon
Vul nu de gegevens in je configuratie in:
Sphinx Configuration Path : /var/www/newznab/sphinxdata/sphinx.conf Sphinx Binaries Path : /usr/bin/
Retention instellen
Met een script kun je de retention instellen.
cd /var/www/newznab/misc/update_scripts/
php backfill_date.php 20130101 alt.binaries.multimedia
Hierbij is de datum notatie als YYYYMMDD en kun je de groepnaam weglaten als je alle groepen wilt instellen.
Vage namen in in je lijsten
Draai na het binnenhalen van je nieuwe indeci ook nog het ‘update_parsing.php’ script om dit op te lossen.
Automatisch index ophalen
Om voortaan de index automatisch op te bouwen dien je de volgende acties uit te voeren:
cp /var/www/newznab/misc/update_scripts/cron_scripts/newznab.sh /etc/init.d/newznab
Edit nu de file ‘/etc/init.d/newznab’ en zorg dat het path na het update-script goed staat. Typ vervolgens de volgende commando’s:
chmod +x newznab update-rc.d newznab defaults
Voor de mensen die nieuwsgierig zijn hoe Newznab zich presenteert in een webbrowser toon ik hieronder een aantal screenshots:
Het altijd handig om een eigen indexer achter de hand te hebben, dus misschien ga ik deze in de toekomst wel intensiever gebruiken. Nu was het voor mij vooral een ‘proof-of-concept’ om het werkend te krijgen. Zolang er nog ‘gratis’ newznab gebasseerde sites zijn zal ik daar gebruik van maken.
Ik gebruik ook de gratis versie hiervan.
Echter zit ik met een probleem als ik deze gebruik:
cd /var/www/newznab/misc/update_scripts
php update_binaries.php (hier download hij netjes de binaries)
php update_releases.php (hier doet hij eigenlijk niets, ik krijg als resultaat 0)
Ik heb de betaalde versie van Newznab+ destijds gebruikt en ben toen niet tegen dit probleem aangelopen. Op dit moment draai Newznab+ niet op mijn Debian Server en kan het dus niet checken voor je Stephan. Wellicht dat een andere lezer van deze blog een idee heeft.
Dat is jammer 🙂
Dan wordt het toch de betaalde versie helaas.
Neemt dit veel GB in beslag of valt het mee?
Ik zeg niet dat de betaalde versie dit oplost. Ik zeg alleen dat ik er destijds niet tegenaan ben gelopen met de betaalde versie. Verder ondersteun je ontwikkelaars met de betaalde versie wat toch ook wel wat waard is. Hoeveel GB het kost weet ik niet meer, maar volgens mij viel dat wel mee toen. Harddisk space is tegenwoordig erg goedkoop, dus ik verwacht niet dat dat een isue zal zijn ;-).
Heb het probleem al gevonden, was een instellingsfout.
Heb nu alleen nog dat elke rar file apart wordt weer gegeven dus daar moet ik nog aan sleutelen.