Let op: Tweakers stopt per 2023 met Tweakblogs. In
dit artikel
leggen we uit waarom we hiervoor hebben gekozen.
Scripts / Plugins e.d.
Newznab+ Settings
Omdat toch wel aardig wat mensen vragen om de settings van newznab deel ik ze hier maar. Ook ik ben hier geen guru in, dus alle aanvullingen zijn welkom:
Admin » Site Edit:
3rd Party Application Paths
Usenet Settings
Lookup Settings
Password Settings
Sphinx Settings
Groups
Admin » Site Edit:
3rd Party Application Paths
| Unrar Path | /usr/bin/unrar |
| Temp Unrar File Path | /var/www/newznab/nzbfiles/tmpunrar |
| Mediainfo Path | /usr/bin/mediainfo |
| Ffmpeg Path | /usr/local/bin/ffmpeg |
| Lame Path | /usr/bin/lame |
Usenet Settings
| Nzb File Path | /var/www/newznab/nzbfiles/ |
| Header Retention | 1 |
| Release Retention | 1200 |
| Minimum Files to Make a Release | 1 |
| Minimum File Size to Make a Release | 52428800 |
| Minimum Completion Percent to Make a Release | 95 |
| Remove Spam | Yes |
| Spam - Accepted Exe Categories | 4000,4010,4020,4030,4040,4050,4060,4070,7010 |
| Use Compressed Headers | Yes |
| Max Messages | 20000 |
| Where to start new groups | Days - 1 |
Lookup Settings
| Lookup Nfo | Yes |
| Lookup TV Rage | Yes |
| Lookup TheTVDB | Yes |
| Lookup Movies | Yes |
| Lookup AniDB | Yes |
| Lookup Music | Yes |
| Lookup Games | Yes |
| Lookup Books | Yes |
| Lookup Preview | Yes |
| Save Audio Preview | No |
Password Settings
| Check For Passworded Releases | Deep (requires unrar) |
| Delete Passworded Releases | Yes |
| Show Passworded Releases | Dont show passworded or potentially passworded |
Sphinx Settings
| Use Sphinx | Yes |
| Index NZB Contents | Yes |
| Index NFO Contents | Yes |
| Index ReleaseFiles | Yes |
| Index PreDB | Yes |
| Search Server Host | 127.0.0.1:9306 |
| Sphinx Configuration Path | /var/www/newznab/db/sphinxdata/sphinx.conf |
| Sphinx Binaries Path | |
| Default Search Field(s) | name,searchname |
| Merge Frequency | 0200 or 10000 |
| Rebuild Frequency | Monday - 0300 |
Groups
| a.b.boneless |
| a.b.etc |
| a.b.hdtv |
| a.b.hdtv.x264 |
| a.b.misc |
| a.b.movies |
| a.b.mp3 |
| a.b.mp3.full_albums |
| a.b.multimedia |
| a.b.multimedia.tv |
| a.b.teevee |
| a.b.town |
| a.b.tv |
| a.b.tvseries |
| a.b.x264 |
Newznab+ installatie (ubuntu / nginx / percona)
Deze RAW howto heb ik gebruikt met Ubuntu 12.10 mini ISO (met alleen open-ssh server)
Let wel op dat je hiervoor een gedoneerde versie van newznab nodig hebt.
opmerkingen en aanvullingen zijn welkom. Ik zal deze blog morgen even netjes neerzetten.
Eerst zorgen dat de server up to date is.
Installeer nu de benodigde paketten
Maak alvast de document root aan voor newznab
Installatie van percona
Installeren van Nginx
in de php.ini moeten een aantal dingen veranderd worden
Restart PHP5-fpm
Maak een nieuwe nginx site aan
Zorg ervoor dat de logs netjes weg geschreven kunnen worden
Default site is niet meer nodus, dus een nette newznab site aanmaken
Installeer alle PHP packages
restart nginx
installeer unrar
FFmpeg / X264
# verwijder bestaande paketten
Installeer benodigde paketten
# x264
Installeer x264 vanaf git
# fdk-aac
# libvpx
# FFmpeg
Installeer lame codec voor de muziek preview optie
MediaInfo
Sphinx
Zorg ervoor dat sphinx automatisch start tijdens een verse herstart van de server
Newznab
verander bij username de login die je hebt gehad in de mail van newznab
Zet alle rechten goed
php5-fpm nginx fix
Bij mij deed nginx webserver het standaard niet, dit was voor mij de fix.
restart php5-fpm
maak een database aan
Newznab
Newznab installeren via de web install
Sphinx fix
Eerst settings in newznab doen (use sphinx aanzetten)
InnoDB
De meeste snelheid met Percona word gewonnen d.m.v. InnoDB, deze zetten we dan op de tabellen die het meest gebruikt worden.
Update script
verander de NEWZNAB_PATH naar:
Nu kan je hem draaien als alles ingesteld is in newznab
Let wel op dat je hiervoor een gedoneerde versie van newznab nodig hebt.
opmerkingen en aanvullingen zijn welkom. Ik zal deze blog morgen even netjes neerzetten.
Eerst zorgen dat de server up to date is.
sudo apt-get update sudo apt-get -y upgrade sudo apt-get -y dist-upgrade sudo reboot
Installeer nu de benodigde paketten
sudo apt-get install build-essential checkinstall python-software-properties software-properties-common ssh
Maak alvast de document root aan voor newznab
sudo mkdir -p /var/www/newznab sudo chmod 777 /var/www/newznab
Installatie van percona
gpg --keyserver hkp://keys.gnupg.net --recv-keys 1C4CBDCDCD2EFD2A gpg -a --export CD2EFD2A | sudo apt-key add -
sudo sh -c "echo \"\n#Percona\" >> /etc/apt/sources.list" sudo sh -c "echo \"deb http://repo.percona.com/apt quantal main\" >> /etc/apt/sources.list" sudo sh -c "echo \"deb-src http://repo.percona.com/apt quantal main\" >> /etc/apt/sources.list"
sudo apt-get update
sudo apt-get install -y percona-server-client-5.5 \
percona-server-server-5.5 \
libmysqlclient-dev
Installeren van Nginx
sudo apt-get install -y nginx sudo apt-get install -y php5-fpm
in de php.ini moeten een aantal dingen veranderd worden
sudo nano /etc/php5/fpm/php.ini
verander: max_execution_time = 120 verander: memory_limit = 256M verander: date.timezone = Europe/Amsterdam (let op dat je wel de ";" aan het begin weg haalt)
Restart PHP5-fpm
sudo /etc/init.d/php5-fpm restart
Maak een nieuwe nginx site aan
sudo nano /etc/nginx/sites-available/newznab
server {
# Change these settings to match your machine
listen 80 default_server;
server_name localhost;
# Everything below here doesn't need to be changed
access_log /var/log/nginx/access.log;
error_log /var/log/nginx/error.log;
root /var/www/newznab/www/;
index index.html index.htm index.php;
location ~* \.(?:ico|css|js|gif|inc|txt|gz|xml|png|jpe?g) {
expires max;
add_header Pragma public;
add_header Cache-Control "public, must-revalidate, proxy-revalidate";
}
location / { try_files $uri $uri/ @rewrites; }
location @rewrites {
rewrite ^/([^/\.]+)/([^/]+)/([^/]+)/? /index.php?page=$1&id=$2&subpage=$3 last;
rewrite ^/([^/\.]+)/([^/]+)/?$ /index.php?page=$1&id=$2 last;
rewrite ^/([^/\.]+)/?$ /index.php?page=$1 last;
}
location /admin { }
location /install { }
location ~ \.php$ {
include /etc/nginx/fastcgi_params;
fastcgi_pass 127.0.0.1:9000;
# The next two lines should go in your fastcgi_params
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
}
}
Zorg ervoor dat de logs netjes weg geschreven kunnen worden
sudo mkdir -p /var/log/nginx sudo chmod 755 /var/log/nginx
Default site is niet meer nodus, dus een nette newznab site aanmaken
sudo unlink /etc/nginx/sites-enabled/default sudo ln -s /etc/nginx/sites-available/newznab /etc/nginx/sites-enabled/newznab
Installeer alle PHP packages
sudo apt-get install -y php5 php5-dev php-pear php5-gd php5-mysql php5-curl
restart nginx
sudo service nginx restart
installeer unrar
sudo apt-get install -y unrar
FFmpeg / X264
# verwijder bestaande paketten
sudo apt-get remove ffmpeg x264 libav-tools libvpx-dev libx264-dev
Installeer benodigde paketten
sudo apt-get -y install autoconf build-essential checkinstall git libfaac-dev libgpac-dev \ libmp3lame-dev libopencore-amrnb-dev libopencore-amrwb-dev librtmp-dev libsdl1.2-dev libtheora-dev \ libtool libvorbis-dev pkg-config texi2html yasm zlib1g-dev
# x264
Installeer x264 vanaf git
cd
git clone --depth 1 git://git.videolan.org/x264
cd x264
./configure --enable-static
make
sudo checkinstall --pkgname=x264 --pkgversion="3:$(./version.sh | \
awk -F'[" ]' '/POINT/{print $4"+git"$5}')" --backup=no --deldoc=yes \
--fstrans=no --default
# fdk-aac
cd git clone --depth 1 git://github.com/mstorsjo/fdk-aac.git cd fdk-aac autoreconf -fiv ./configure --disable-shared make sudo checkinstall --pkgname=fdk-aac --pkgversion="$(date +%Y%m%d%H%M)-git" --backup=no \ --deldoc=yes --fstrans=no --default
# libvpx
cd git clone --depth 1 http://git.chromium.org/webm/libvpx.git cd libvpx ./configure make sudo checkinstall --pkgname=libvpx --pkgversion="1:$(date +%Y%m%d%H%M)-git" --backup=no \ --deldoc=yes --fstrans=no --default
# FFmpeg
cd git clone --depth 1 git://source.ffmpeg.org/ffmpeg cd ffmpeg ./configure --enable-gpl --enable-libfaac --enable-libfdk-aac --enable-libmp3lame \ --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-librtmp --enable-libtheora \ --enable-libvorbis --enable-libvpx --enable-libx264 --enable-nonfree \ --enable-version3 make sudo checkinstall --pkgname=ffmpeg --pkgversion="7:$(date +%Y%m%d%H%M)-git" --backup=no \ --deldoc=yes --fstrans=no --default hash x264 ffmpeg ffplay ffprobe
Installeer lame codec voor de muziek preview optie
sudo apt-get install -y lame
MediaInfo
cd sudo add-apt-repository ppa:shiki/mediainfo sudo apt-get update sudo apt-get install -y mediainfo
Sphinx
sudo add-apt-repository ppa:chris-lea/sphinxsearch sudo apt-get update && sudo apt-get install sphinxsearch
Zorg ervoor dat sphinx automatisch start tijdens een verse herstart van de server
sudo nano /etc/default/sphinxsearch verander "START=no" naar "START=yes"
Newznab
verander bij username de login die je hebt gehad in de mail van newznab
sudo apt-get install -y subversion
svn co svn://{USERNAME}@svn.newznab.com/nn/branches/nnplus /var/www/newznab
Zet alle rechten goed
sudo chown -R www-data:www-data /var/www/newznab/
sudo chmod 755 /var/www/newznab/www/lib/smarty/templates_c sudo chmod 755 /var/www/newznab/www/covers/movies sudo chmod 755 /var/www/newznab/www/covers/anime sudo chmod 755 /var/www/newznab/www/covers/music sudo chmod 755 /var/www/newznab/www sudo chmod 755 /var/www/newznab/www/install sudo chmod 755 /var/www/newznab/nzbfiles/
php5-fpm nginx fix
Bij mij deed nginx webserver het standaard niet, dit was voor mij de fix.
sudo nano /etc/php5/fpm/pool.d/www.conf
verander: listen = /var/run/php5-fpm.sock naar : listen = 9000
restart php5-fpm
sudo /etc/init.d/php5-fpm restart
maak een database aan
sudo mysql -p CREATE DATABASE newznab; CREATE USER 'newznab'@'localhost' IDENTIFIED BY 'password'; GRANT ALL PRIVILEGES ON newznab.* TO newznab @'localhost' IDENTIFIED BY 'password'; quit
Newznab
Newznab installeren via de web install
Sphinx fix
Eerst settings in newznab doen (use sphinx aanzetten)
cd /var/www/newznab/misc/sphinx ./nnindexer.php generate ./nnindexer.php daemon ./nnindexer.php index full all ./nnindexer.php index delta all ./nnindexer.php daemon --stop ./nnindexer.php daemon
InnoDB
De meeste snelheid met Percona word gewonnen d.m.v. InnoDB, deze zetten we dan op de tabellen die het meest gebruikt worden.
sudo mysql -p use newznab; ALTER TABLE parts ENGINE = INNODB; ALTER TABLE binaries ENGINE = INNODB; ALTER TABLE partrepair ENGINE = INNODB; quit
Update script
cd /var/www/newznab/misc/update_scripts/nix_scripts sudo cp newznab_screen.sh newznab_screen_local.sh sudo nano newznab_screen_local.sh
verander de NEWZNAB_PATH naar:
export NEWZNAB_PATH="/var/www/newznab/misc/update_scripts"
Nu kan je hem draaien als alles ingesteld is in newznab
screen sh /var/www/newznab/misc/update_scripts/nix_scripts/newznab_screen_local.sh
Munin plugin Teamspeak 3 Bandwidth
Ik zag opeens dat ik genoeg Karma punten had voor een Tweakers Blog, dus ik dacht wat houd me tegen. Ik zal de blog later wel een beetje opfleuren.
Ik maak zelf al een tijd gebruik van Munin (http://munin-monitoring.org), en de laatste 2 maanden kan ik daar al niks submitten aan plugins. Dus heb ik het besloten om het hier maar neer te zetten. In de hoop dat andere mensen er ook iets aan hebben.
Er bestond al een lange tijd een plugin om teamspeak users te meten en in een grafiek te zetten, maar ik was eigenlijk wel benieuwd naar het data verbruik. Vandaar dat ik even aan de gang ben gegaan.
De plugin is een aangepaste versie van de bestaande teamspeak_users plugin dus grotendeels van de credits gaat ook uit naar hem.
Ik hoop dat me eerste blog post een beetje in smaak valt en wie weet wat er nog komen gaat.
Ik maak zelf al een tijd gebruik van Munin (http://munin-monitoring.org), en de laatste 2 maanden kan ik daar al niks submitten aan plugins. Dus heb ik het besloten om het hier maar neer te zetten. In de hoop dat andere mensen er ook iets aan hebben.
Er bestond al een lange tijd een plugin om teamspeak users te meten en in een grafiek te zetten, maar ik was eigenlijk wel benieuwd naar het data verbruik. Vandaar dat ik even aan de gang ben gegaan.
De plugin is een aangepaste versie van de bestaande teamspeak_users plugin dus grotendeels van de credits gaat ook uit naar hem.
Ik hoop dat me eerste blog post een beetje in smaak valt en wie weet wat er nog komen gaat.
Perl:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
| #!/usr/bin/perl -w # teamspeak_bandwidth.pl # Munin Plugin for Teamspeak3 bandwidth # displays the bandwidth on TS3 servers # # This plugin is modified from Tim Wulkau (Teamspeak Users) plugin. # So most of the credits go to him. ####################################################### # # by Oizopower # # 25.11.11 - v0.1 # -initial release # ###################################################### use strict; use Net::Telnet; # CONFIG HERE! my $hostname = "IP VAN DE SERVER"; # serveraddress my $port = 10011; # querryport (default: 10011) my @serverids = (1); # array of virtualserverids (1,2,3,4,...) my $username = "ServerQuery Username"; # only set if the default queryuser hasn?t enough rights (should work without this) my $password = "ServerQuery Password"; # SCRIPT START! if ($ARGV[0] and $ARGV[0] eq "autoconf") { print "yes\n"; exit 0; } if(exists $ARGV[0] and $ARGV[0] eq "config") { print "graph_title Teamspeak Bandwidth\n"; print "graph_vlabel Teamspeak Bandwidth in MB\n"; print "graph_category Teamspeak\n"; print "graph_info This graph shows the bandwidth on a Teamspeak3 server\n"; foreach my $server (@serverids) { print "sendID$server.label Send on ServerID $server\n"; print "sendID$server.type GAUGE\n"; print "receivedID$server.label Received on ServerID $server\n"; print "receivedID$server.type GAUGE\n"; } exit 0; } else { my $telnet = new Net::Telnet(Timeout=>5, Errmode=>"return", Prompt=>"/\r/"); if (!$telnet->open(Host=>$hostname, Port=>$port)) { die exit; } $telnet->waitfor("/Welcome to the TeamSpeak 3 ServerQuery interface/"); foreach my $server (@serverids) { $telnet->cmd("use sid=$server"); $telnet->waitfor("/error id=0 msg=ok/"); if($username && $password) { $telnet->cmd("login $username $password"); $telnet->waitfor("/error id=0 msg=ok/"); } $telnet->cmd("serverinfo"); my $received = 0; my $send = 0; my $line = $telnet->getline(Timeout=>5); if ($line =~ m/connection_bytes_received_total=(\d+) /) { $received = $1; } if ($line =~ m/connection_bytes_sent_total=(\d+) /) { $send = $1; } $telnet->waitfor("/error id=0 msg=ok/"); print "sendID$server.value "; printf("%.2f", (-($send/1024)/1024)); print "\n"; print "receivedID$server.value "; printf("%.2f", (($received/1024)/1024)); print "\n"; } $telnet->close; } exit; |