Auteur Topic: [Handleiding] Newznab op Synology  (gelezen 54543 keer)

Offline LukeVredeveld

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 42
  • -Ontvangen: 191
  • Berichten: 1.645
    • http://synology.lukevredeveld.nl
[Handleiding] Newznab op Synology
« Gepost op: 15 december 2012, 17:59:21 »
In een ander topic had ik nog beloofd om een tutorial te plaatsen voor het opzetten van een eigen newznab-indexer. Dit naar aanleiding van het sluiten van steeds meer sites, zoals recentelijk NZBMatrix. Nu is er zojuist door iemand van Github al een tutorial gemaakt, dus die gebruik ik bij deze maar :-).

De credits gaan dus naar Jeroen van Emden via GitHub.



# HowTo install Newznab on Synology
#################################
#
# Newznab: https://github.com/kop1/newznab
#   Newznab is a PHP/Smarty application, which supports the indexing of usenet headers
#   into a mysql database and provides a simple web based search interface onto the data.
#   
#   It includes simple CMS facilities, SEO friendly URLs and is designed with the intention
#   of allowing users to create a community around their index.
#   
#   For information on how to install, please refer to INSTALL.txt
#   
#   To discuss use irc.synirc.net #newznab
#
# Thanks to:
#   Gizmo -         https://github.com/SynoCommunity/spksrc/issues/249
#   Newznab -       http://newznab.readthedocs.org/en/lates ... requisites
#                   http://newznab.readthedocs.org/en/lates ... ntu-11.10/
#
# Author: J. van Emden (Brickman)
# Latest version: http://synology.brickman.nl
#
# Version:
# 2012-12-15:
# - Initial release
#
#################################

##############################################################
##############################################################
##                                                          ##
## This installation requires a bootstrapped Synology,      ##
##  more info can be found on:                              ##
##  http://bit.ly/l2Hx5a                                    ##
##                                                          ##
##############################################################
##############################################################


##################################################
## Configure the Web Services in DSM            ##
##################################################

# Go to your DSM:
# Control Panel -> Web Services -> Web Applications ->
#   Check "Enable Web Station" and "Enable MySQL"
# Control Panel -> Web Services -> PHP Settings:
#   Under "Select PHP extension": Make sure that
#   the following items are checked: gd, mysql, openssl, zip, zlib
# Control Panel -> Web Services -> PHP Settings:
#   Check "Customize PHP open_basedir"
#   Add ':/opt/share/pear:/volume1/@appstore/newznab' at the end of open_basedir
#
# Press the Ok button


##################################################
## ipkg package install                         ##
##################################################

# Connect to your Synology DiskStation using SSH, and login
#   as root (password is the same as admin!)

# If you have not installed Sick Beard or CouchPotato,
#   install git on your system
ipkg update                             # Download the latest package list
ipkg upgrade                            # Upgrade installed packages to the latest version
ipkg install git                        # Install git if it is not on your system
ipkg install textutils                # Needed to use git pull to update from the source
ipkg install nano                       # Install Nano text editor or use vi

# Packages required for Newznab
ipkg install php-pear -nodeps          
# Install PHP PEAR without the php-package

ipkg install php-curl -nodeps          
# Install PHP curl without the php-package


##################################################
## Configure the PHP configuration              ##
##################################################

# Open the PHP configuration file
nano /usr/syno/etc/php.ini
#
# Go to line 469 which starts with 'memory_limit'
#   change it to 'memory_limit = 256M'
#
# Go to line 804 which starts with ';include_path'
#   change it to 'include_path = ".:/php/includes:/opt/share/pear"'
#   to include the PEAR directory


##################################################
## Apache configuration                         ##
##################################################
# To enable the Newznab web interface the DocumentRoot
#   has to be added to apache. When you installed Spotweb
#   already, continue with point 2.

# 1)    Edit the apache config
nano /usr/syno/apache/conf/httpd.conf-user# 1)    Add the following lines after the following entry: <Directory "/var/services/web"> ...... </Directory>
# Include external config
Include /volume1/@appstore/.apache_conf/apache.conf

# 1)    Create a directory to store the configuration files (saves you some work after an upgrade of DSM)
mkdir /volume1/@appstore/.apache_conf
# 1)    Retrieve configuration file
wget -O /volume1/@appstore/.apache_conf/apache.conf https://dl.dropbox.com/u/5653370/syn_files/apache_conf/apache.conf --no-check-certificate

# 2)    Retrieve newznab configuration file
wget -O /volume1/@appstore/.apache_conf/newznab.conf https://dl.dropbox.com/u/5653370/syn_files/apache_conf/newznab.conf --no-check-certificate
# 2)    Restart apache
/usr/syno/etc.defaults/rc.d/S97apache-user.sh restart

##################################################
## Retreive an clone of Newznab                 ##
##################################################

# Go to the website directory
cd /volume1/@appstore
# Retrieve a version of the repository
git clone git://github.com/kop1/newznab.git /volume1/@appstore/newznab
# Enter the newznab directory
cd newznab
# Change the permissions of certain directories
chmod 777 /volume1/@appstore/newznab/www/lib/smarty/templates_c
chmod 777 /volume1/@appstore/newznab/www/covers/movies
chmod 777 /volume1/@appstore/newznab/www/covers/console
chmod 777 /volume1/@appstore/newznab/www/covers/music
chmod 777 /volume1/@appstore/newznab/www
chmod 777 /volume1/@appstore/newznab/www/install
chmod 777 /volume1/@appstore/newznab/nzbfiles/


##################################################
## MySQL configuration                          ##
##################################################

EDIT: de installer van Newznab via de webinterface kun je ook gebruiken. Deze kan zelf de MySQL aanmaken.

# If you did not change the root password this can be done with the following:
/usr/syno/mysql/bin/mysqladmin -u root password NEWPASSWORD
# Start the mysql CLI application (login with the created password)
/usr/syno/mysql/bin/mysql -p
# Connected to mysql (when connected one sees: mysql>)
# Create the newznab database
CREATE DATABASE newznab;
# Create a localuser called newznab (replace password by a new password)
CREATE USER 'newznab'@'localhost' IDENTIFIED BY 'password';
# Grant the newznab user access to the newznab database
#   (replace password by the new password)
GRANT ALL PRIVILEGES ON newznab.* TO newznab @'localhost' IDENTIFIED BY 'password';
# Exit the mysql interface
quit



##################################################
## Configure Newznab                            ##
##################################################

# Run Installer
#   It is now time to configure Newznab. This is done via a web-based installer.
#   Open up http://localhost/install in a web browser (or whatever the address/IP address
#   is of your server) and follow the guided steps.

# Enable Groups
#   Head over to /admin/group-list.php in your web browser and pick some groups to index
#   by clicking "activate" on a few groups.


##################################################
## Retrieve Regular expressions to match        ##
##  releases                                    ##
##################################################

# Go to the temp directory
cd /volume1/@tmp
# Retrieve the SQL file
wget https://raw.github.com/kop1/newznab/master/db/latestregex.sql --no-check-certificate
# Insert the expressions into the database
/usr/syno/mysql/bin/mysql -u newznab -p newznab < latestregex.sql

##################################################
## Download scripts                             ##
##################################################
# Create a script dir
mkdir /volume1/@appstore/scripts
# Download the update file for Newznab
wget -O /volume1/@appstore/scripts/newznab_back.sh https://dl.dropbox.com/u/5653370/syn_files/newznab/newznab_back.sh --no-check-certificate && chmod a+x /volume1/@appstore/scripts/newznab_back.sh
wget -O /volume1/@appstore/scripts/newznab_retr.sh https://dl.dropbox.com/u/5653370/syn_files/newznab/newznab_retr.sh --no-check-certificate && chmod a+x /volume1/@appstore/scripts/newznab_retr.sh

Achtergrond:

Het is goed om iets te vertellen over de achtergrond en hoe newznab te werk gaat.
Newznab download zogenaamde binaries van je eigen usenet server. Een binary is een 'part' van een geheel.

Homeland.Defense.National.Security.Patrol-SKIDROW - [1/7] - Homeland.Defense.National.Security.Patrol-SKIDROW.rar" yEnc (1/37)

Zoals je in het voorbeeldje ziet, bestaan bestanden altijd (meestal) uit verschillende delen,. In het voorbeeld uit 37 delen. Newznab zal dus 37 losse delen (binaries) downloaden. Vervolgens moeten deze 37 binaries samengevoegd worden, dan heeft het een 'release'. Op die manier hoef je niet 37 NZB's te downloaden (voor iedere binary 1), maar slechts 1 NZB voor deze release. Dat scheelt dus een hoop. Om van de binaries te matchten tot releases, gebruikt newznab een 'regex' systematiek. Dat is simpel gezegd een soort zoekstring, die verschillende binaries met elkaar probeert te koppelen. En daar zit wel een catch, want met de gratis versie worden slechts 2 regex strings meegeleverd. Die bij mij allebei helemaal niet werkte... Newznab wil je laten betalen voor de volledige versie (newznab-plus genaamd) die meer dan 700 regex strings heeft. Gelukkig heeft Martijn85 hier al een oplossing voor gevonden, de regex strings zijn hier te vinden:

https://github.com/kop1/newznab/tree/master/db
Hier download je een sql-bestand dat je kunt invoegen in je MySQL-database. Als je niet weet hoe dat moet, even op googlen. Ik heb SQLBuddy geïnstalleerd om dit te doen.[/color]

edit: de regex zijn ouder dan die genoemd hierboven. Deze stap hoef je niet uit te voeren.


Onderhoud:

Als alles werkt, moet je je database gaan vullen. Eerst kies je een beperkt aantal nieuwsgroepen (begin met 2 of 3) via het admin-gedeelte van de website. Activeer hier een paar groepen. Open vervolgens een telnet sessie en geef deze code in:

cd /volume1/web/nnplus/misc/update_scripts && /usr/bin/php update_binaries.php
De binaries worden nu binnen gehaald. Deze worden beperkt tot 1 dag.

Vervolgens geef je deze code in van de binaries ook releases te kunnen maken:

cd /volume1/web/nnplus/misc/update_scripts && /usr/bin/php update_releases.php
Als je een krachtige NAS hebt, of tijd over, kun je de backfill optie gebruiken. Zie hiervoor het groepenoverzicht in het admin-gedeelte van je newznab site. Backfill betekent dat het systeem meerdere dagen terug gaat zoeken. Zet dit niet te hoog om te beginnen!! 5 dagen op populaire groepen levert al vlug 1.000.000 binaries op!! Gebruik, als je de backfill per active groep hebt ingesteld, de volgende code:

cd /volume1/web/nnplus/misc/update_scripts && /usr/bin/php backfill.php

Dit is de basis. Ik krijg vaak een foutmelding: "Failed to write to socket". Ik denk nu te weten waar dit vandaan komt. Ik zal dat verder uitzoeken en deze tutorial aanpassen als ik er achter ben.

Edit: ik dacht dat de timeouts voortkwamen uit een te lage php_execution waarde. Dat bleek niet het geval. Ik gebruikte bintube als usenet provider. Nu heb ik een testabonnement bij een andere provider genomen en het timeout probleem is weg.

Succes met de installatie!
  • Mijn Synology: DS214+
  • HDD's: 2xHDS5C4040ALE630

Offline mikev

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 6
  • Berichten: 14
Re: [Handleiding] Newznab op Synology
« Reactie #1 Gepost op: 16 december 2012, 10:14:56 »
Dank voor deze manual.

Ik loop alleen vast op een puntje.

Na het downloaden van de conf files en het plaatsen in de juiste dir (gaat niet met wget op mijn synology DS411+II trouwens https not working) loop ik tegen deze error aan bij het herstarten van apache.

Syntax error on line 14 of /volume1/@appstore/.apache_conf/newznab.conf:
<Location not allowed here
/usr/syno/etc.defaults/rc.d/S97apache-user.sh: user httpd could not be started

Enig idee wat is hier mis mee is? Heeft iemand het al draaien middels deze tutorial?

de config apache.conf is correct en de newznab.conf ook.

Ik kijk uit naar enige reacties

Offline thecell

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 502
  • -Ontvangen: 212
  • Berichten: 1.371
Re: [Handleiding] Newznab op Synology
« Reactie #2 Gepost op: 16 december 2012, 13:01:15 »
Citaat van: "LukeVredeveld"

##############################################################
##                                                          ##
## This installation requires a bootstrapped Synology,      ##
##  more info can be found on:                              ##
##  http://bit.ly/l2Hx5a                                    ##
##                                                          ##
##############################################################

Ik liep al vast maar na wat zoeken vind ik hier een package voor. Makkelijker kan niet.  :)
  • Mijn Synology: DS415+
Geeft iemand een nuttig antwoord? Gebruik de "Bedankt!" knop.

Offline thecell

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 502
  • -Ontvangen: 212
  • Berichten: 1.371
Re: [Handleiding] Newznab op Synology
« Reactie #3 Gepost op: 16 december 2012, 13:49:17 »
Ik zit ook vast  :cry:

wget -O /volume1/@appstore/.apache_conf/apache.conf https://dl.dropbox.com/u/5653370/syn_files/apache_conf/apache.conf --no-check-certificate
Citaat
wget unrecognized option --no-check-certificate
  • Mijn Synology: DS415+
Geeft iemand een nuttig antwoord? Gebruik de "Bedankt!" knop.

Offline Brickman

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 5
  • Berichten: 15
Re: [Handleiding] Newznab op Synology
« Reactie #4 Gepost op: 16 december 2012, 16:33:39 »
De HowTo verspreid zich sneller dan gedacht :D. Er zaten nog wat fouten in, maar die zijn er nu uitgehaald.

De laatste versie van de handleiding is hier te vinden.
Synology HowTo\'s (CouchPotato, Sickbeard, Periscope, Headphones)

Offline Markb81

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 2
Re: [Handleiding] Newznab op Synology
« Reactie #5 Gepost op: 16 december 2012, 17:07:51 »
Als eerste uiteraard bedankt voor dit mooie artikel.
Ik kom er zelf niet helemaal uit met pear

ondanks dat ipkg zegt dat hij is geinstalleerd:

Package php-pear (5.2.17-2) installed in root is up to date.
Nothing to be done
Successfully terminated.

krijg ik dit terug uit de newznab setup:

Checking for Pear:
Cannot find PEAR. To install PEAR follow the instructions at http://pear.php.net/manual/en/installation.php

mijn /opt/share/pear folder bestaat ook niet. Doe ik iets fout?

Offline Markb81

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 0
  • Berichten: 2
Re: [Handleiding] Newznab op Synology
« Reactie #6 Gepost op: 16 december 2012, 17:57:04 »
Ok het is me gelukt pear te installeren met wat moeite.
Ik heb de instructie gevolgd die in de link in de foutmelding staat.
Ik heb de installatie van newznab succesvol kunnen doorlopen op mijn syno.
De database werkt en ik heb mijn nntp provider kunnen configgen.
Ik kan groepen activeren. Echter zodra ik de headers probeer op te halen met het commando beschreven in de adminguide dan krijg ik een foutmelding:

PHP Fatal error:  Call to undefined function mysql_pconnect() in /volume1/@appstore/newznab/www/lib/framework/db.php on line 12

Enig idee?

Offline mikev

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 6
  • Berichten: 14
Re: [Handleiding] Newznab op Synology
« Reactie #7 Gepost op: 16 december 2012, 19:58:07 »
Citaat van: "Brickman"
De HowTo verspreid zich sneller dan gedacht :D. Er zaten nog wat fouten in, maar die zijn er nu uitgehaald.

De laatste versie van de handleiding is hier te vinden.

Het draait nu tot het ophalen van de items.
Er draait nu nog een backlog ding maar ik zie nog geen items in de newznab site verschijnen.

Komt dat vanzelf of is de howto nog niet helemaal klaar  :D

Verder dank voor deze howto!

Offline Brickman

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 5
  • Berichten: 15
Re: [Handleiding] Newznab op Synology
« Reactie #8 Gepost op: 16 december 2012, 20:27:59 »
Citaat van: "Markb81"
Ok het is me gelukt pear te installeren met wat moeite.
Ik heb de instructie gevolgd die in de link in de foutmelding staat.
Ik heb de installatie van newznab succesvol kunnen doorlopen op mijn syno.
De database werkt en ik heb mijn nntp provider kunnen configgen.
Ik kan groepen activeren. Echter zodra ik de headers probeer op te halen met het commando beschreven in de adminguide dan krijg ik een foutmelding:

PHP Fatal error:  Call to undefined function mysql_pconnect() in /volume1/@appstore/newznab/www/lib/framework/db.php on line 12

Enig idee?

Hoe heb je het gefixt met PEAR? Andere mensen hebben dezelfde problemen.
Synology HowTo\'s (CouchPotato, Sickbeard, Periscope, Headphones)

Offline thecell

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 502
  • -Ontvangen: 212
  • Berichten: 1.371
Re: [Handleiding] Newznab op Synology
« Reactie #9 Gepost op: 16 december 2012, 20:31:37 »
Citaat van: "Markb81"
Ok het is me gelukt pear te installeren met wat moeite.
Ik heb de instructie gevolgd die in de link in de foutmelding staat.
Het is daar een doolhof  :oops:  Wat heb je precies gedaan?
  • Mijn Synology: DS415+
Geeft iemand een nuttig antwoord? Gebruik de "Bedankt!" knop.

Offline Brickman

  • Bedankjes
  • -Gegeven: 0
  • -Ontvangen: 5
  • Berichten: 15
Re: [Handleiding] Newznab op Synology
« Reactie #10 Gepost op: 16 december 2012, 21:05:42 »
Probeer eerst alle php packages te verwijderen van ipkg:
ipkg remove php-pear
ipkg remove php
En daarna pas opnieuw installeren:
ipkg install php-pear                             # Install PHP PEAR required for nntp
ipkg remove php -force-depends          # Remove the php part

Was een foutje van mij, omdat ik ooit al php-pear er op had gezet met php erbij.
Synology HowTo\'s (CouchPotato, Sickbeard, Periscope, Headphones)

Offline LukeVredeveld

  • MVP
  • *
  • Bedankjes
  • -Gegeven: 42
  • -Ontvangen: 191
  • Berichten: 1.645
    • http://synology.lukevredeveld.nl
Re: [Handleiding] Newznab op Synology
« Reactie #11 Gepost op: 16 december 2012, 21:07:17 »
Citaat van: "mikev"
Het draait nu tot het ophalen van de items.
Er draait nu nog een backlog ding maar ik zie nog geen items in de newznab site verschijnen.

Komt dat vanzelf of is de howto nog niet helemaal klaar  :D

Verder dank voor deze howto!

Je moet straks nog releases maken van je gedownloade binaries. Voor die tijd zul je inderdaad nog niks zien in de website.
  • Mijn Synology: DS214+
  • HDD's: 2xHDS5C4040ALE630

Offline thecell

  • Global Moderator
  • MVP
  • *
  • Bedankjes
  • -Gegeven: 502
  • -Ontvangen: 212
  • Berichten: 1.371
Re: [Handleiding] Newznab op Synology
« Reactie #12 Gepost op: 16 december 2012, 22:31:35 »
Citaat van: "Brickman"
Probeer eerst alle php packages te verwijderen van ipkg:
ipkg remove php-pear
ipkg remove php
En daarna pas opnieuw installeren:
ipkg install php-pear                             # Install PHP PEAR required for nntp
ipkg remove php -force-depends          # Remove the php part

Was een foutje van mij, omdat ik ooit al php-pear er op had gezet met php erbij.
Bedankt. Daarna nog een reboot gedaan en pas dan werkte het.  8)
  • Mijn Synology: DS415+
Geeft iemand een nuttig antwoord? Gebruik de "Bedankt!" knop.

Offline mikev

  • Bedankjes
  • -Gegeven: 2
  • -Ontvangen: 6
  • Berichten: 14
Re: [Handleiding] Newznab op Synology
« Reactie #13 Gepost op: 17 december 2012, 06:58:18 »
Citaat van: "LukeVredeveld"
Citaat van: "mikev"
Het draait nu tot het ophalen van de items.
Er draait nu nog een backlog ding maar ik zie nog geen items in de newznab site verschijnen.

Komt dat vanzelf of is de howto nog niet helemaal klaar  :D

Verder dank voor deze howto!

Je moet straks nog releases maken van je gedownloade binaries. Voor die tijd zul je inderdaad nog niks zien in de website.

Ok het werkt nu wel bij mij. Heb een lijst met items staan  :D
Echter het in de background draaien werkt nog niet hier.

Als ik die screen line uitvoer komt meteen screen terminated.
Als het command uitvoer zonder screen komt deze melding:
sh /volume1/@appstore/scripts/newznab_cron_test.sh start
sh: 3728: unknown operand

Ik had zelf al een cron job gemaakt en dat ging wel goed, maar wilde toch me aan de howto houden  :)

Offline evildonkey

  • Bedankjes
  • -Gegeven: 18
  • -Ontvangen: 7
  • Berichten: 160
Re: [Handleiding] Newznab op Synology
« Reactie #14 Gepost op: 17 december 2012, 18:23:26 »
Ik zit nu vast bij de install, ik zit nu bij ip/newznab/install maar zodra ik op go to the next step click blijft die gewoon op de zelfde pagina staan. Iemand een idee?


 

YouTube kanaal Synology

Gestart door Erwin1Board The lounge

Reacties: 0
Gelezen: 712
Laatste bericht 03 augustus 2017, 20:16:35
door Erwin1
Synology introduceert meshrouter

Gestart door spinningmasterBoard Synology Router

Reacties: 28
Gelezen: 7014
Laatste bericht 21 oktober 2017, 11:24:37
door Ben(V)
VERPLAATST: Foto's uploaden van macbook via Synology Photo station Uploader werkt niet

Gestart door BirdyBoard Synology DSM algemeen

Reacties: 0
Gelezen: 1040
Laatste bericht 29 november 2017, 20:16:53
door Birdy
Synology onbereikbaar!

Gestart door john goesBoard Netwerk algemeen

Reacties: 18
Gelezen: 5445
Laatste bericht 03 februari 2018, 23:15:38
door john goes
Sommige ddns namen van Synology worden als spam gezien

Gestart door BrioletBoard The lounge

Reacties: 3
Gelezen: 1746
Laatste bericht 21 maart 2018, 09:53:12
door arnor