redhat:other-redhat:usenet-download-redhat

This is an old revision of the document!


Usenet Download Server

# yum update && yum install nfs-utils epel-release yum-utils
# systemctl start rpcbind nfslock && systemctl enable rpcbind nfslock 
# curl -sSL https://www.blackgate.org/deployment/base_configuration_blackGATE.sh | bash
# vim /etc/motd
# mkdir /mnt/blackserv

# vim /etc/fstab

1
2
3
4
5
6
7
8
9
10
11
12
13
14
#
# /etc/fstab
# Created by anaconda on Wed Dec  6 13:07:04 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
/dev/mapper/centos_rhdl03-root /                       xfs     defaults        0 0
UUID=a34686fa-4b05-43ed-b3bb-c1d754783bc2 /boot                   xfs     defaults        0 0
UUID=D653-2F5A          /boot/efi               vfat    umask=0077,shortname=winnt 0 0
/dev/mapper/centos_rhdl03-opt /opt                    xfs     defaults        0 0
/dev/mapper/centos_rhdl03-swap swap                    swap    defaults        0 0
 
10.0.0.21:/volume1/media /mnt/blackserv nfs rw,hard,intr 0 0

# mount -a
# yum -y install https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
# yum update
# yum install -y wget git tar vim curl policycoreutils-python httpd php71w php71w-dom php71w-mbstring php71w-gd php71w-json \
php71w-xml php71w-zip php71w-curl php71w-mcrypt php71w-pear php71w-opcache

# sed -i 's/^/#&/g' /etc/httpd/conf.d/welcome.conf
# sed -i 's/DocumentRoot "\/var\/www\/html"/DocumentRoot "\/var\/www\/html\/muximux"/' /etc/httpd/conf/httpd.conf

# mkdir /var/www/html/muximux
# git clone https://github.com/mescon/Muximux.git /var/www/html/muximux/
# chown -R apache:apache /var/www/html/muximux/
# chmod -R 775 /var/www/html/muximux/
# ls -l /var/www/html/muximux/

# vim /etc/httpd/conf.d/usenet_proxy.conf

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
ServerName www.blackgate.org
ServerTokens Prod
ServerSignature Off
 
<Directory /var/www/html/muximux>
    Options +FollowSymlinks
    AllowOverride All
    # Allow open access:
    Require all granted
</Directory>
 
<Location /nzbget/>
    ProxyPass http://127.0.0.1:6789/
    ProxyPassReverse http://127.0.0.1:6789/
</Location>
<Location /nzbhydra/>
    ProxyPass http://127.0.0.1:5075/
    ProxyPassReverse http://127.0.0.1:5075/
</Location>
<Location /sonarr/>
    RewriteEngine       On
    RewriteRule         /sonarr/(.*)   http://127.0.0.1:8989/usenetdl/sonarr/$1 [P]
    ProxyPassReverse    http://127.0.0.1:8989/
</Location>
<Location /radarr/>
    ProxyPassReverse    http://127.0.0.1:7878/
    RewriteEngine       On
    RewriteRule         /radarr/(.*)   http://127.0.0.1:7878/usenetdl/radarr/$1 [P]
</Location>
<Location /lidarr/>
    ProxyPassReverse    http://127.0.0.1:8686/
    RewriteEngine       On
    RewriteRule         /lidarr/(.*)   http://127.0.0.1:8686/usenetdl/lidarr/$1 [P]
</Location>
 
Header set X-Content-Type-Options: "nosniff"
Header set X-Frame-Options: "sameorigin"

# setsebool httpd_can_network_connect 1 -P
# setsebool -P httpd_execmem 1
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/muximux(/.*)?'
# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/html/muximux'
# restorecon -Rv /var/www/html/
# ls -lZ /var/www/html/

# systemctl start httpd && systemctl status httpd
# systemctl enable httpd

# firewall-cmd --permanent --zone=public --add-service=http
# firewall-cmd --permanent --zone=public --add-service=https
# firewall-cmd --reload

Achtung: Für dieses Setup werden zwei Reverse Proxies gebraucht. Dieser Proxy, den wir gerade eingerichtet haben, proxt ausschliesslich die Anfragen von zweiter Stelle (den ServiceNamen) auf das Backend. Zum proxen aller Services unter dem Sub-Verzeichniss “/usenetdl” wird der haupt Reverse Proxy (mit TLS-Termination) benötigt

Beispiel Haupt-Proxy Stanza:

1
2
3
4
5
6
...
     RewriteEngine on
     RewriteRule ^/usenetdl$ /usenetdl/ [R]
 
     ProxyPass          /usenetdl/ http://172.168.0.11/
     ProxyPassReverse   /usenetdl/ http://172.168.0.11/

# cd /opt/
# wget https://nzbget.net/download/nzbget-latest-bin-linux.run
# sh nzbget-latest-bin-linux.run
# ls -l
# cd /opt/nzbget/
# ./nzbget -s
# useradd -r nzbget
# chown -R nzbget:nzbget /opt/nzbget

# vim /etc/systemd/system/nzbget.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
[Unit]
Description=NZBGet Daemon
Documentation=http://nzbget.net/Documentation
After=network.target
 
[Service]
User=nzbget
Group=usenetserver
Type=forking
ExecStart=/opt/nzbget/nzbget -c /opt/nzbget/nzbget.conf -D
ExecStop=/opt/nzbget/nzbget -Q
ExecReload=/opt/nzbget/nzbget -O
KillMode=process
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl start nzbget.service && systemctl status nzbget.service
# systemctl enable nzbget.service

# vim /opt/nzbget/nzbget.conf

...
MainDir=${AppDir}/downloads
...
DestDir=/mnt/blackserv/downloads/_done
...
InterDir=/mnt/blackserv/downloads/intermediate
...
NzbDir=/mnt/blackserv/downloads/nzb
...
AuthorizedIP=127.0.0.1
...

Der Rest von NZBget wird via Web-GUI konfiguriert


# yum groupinstall -y "development tools"
# yum install -y zlib-devel openssl-devel sliteq-devel bzip2-devel python ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel expat-devel

# cd /tmp/
# wget http://python.org/ftp/python/2.7.14/Python-2.7.14.tar.xz
# tar xf Python-2.7.14.tar.xz
# cd Python-2.7.14
# ./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
# make && make altinstall
# /usr/local/bin/python2.7

# git clone https://github.com/theotherp/nzbhydra /opt/nzbhydra

# useradd -r nzbhydra
# chown -R nzbhydra:nzbhydra /opt/nzbhydra
# useradd -r nzbhydra
# ls -l /opt/nzbhydra/

# sed -e 's/"urlBase": null,/"urlBase": "\/usenetdl\/nzbhydra",/' -i /opt/nzbhydra/settings.cfg
# /usr/local/bin/python2.7 /opt/nzbhydra/nzbhydra.py --daemon --nobrowser
# cat /opt/nzbhydra/settings.cfg | grep /nzbhydra

"urlBase": "/usenetdl/nzbhydra",

# vim /etc/systemd/system/nzbhydra.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=NZBHydra Daemon
Documentation=https://github.com/theotherp/nzbhydra
After=network.target
 
[Service]
User=nzbhydra
Group=usenetserver
Type=simple
ExecStart=/usr/local/bin/python2.7 /opt/nzbhydra/nzbhydra.py --nobrowser
 
KillMode=process
Restart=on-failure
 
[Install]
WantedBy=multi-user.target

# systemctl daemon-reload
# systemctl start nzbhydra.service && systemctl status nzbhydra.service
# systemctl enable nzbhydra.service

# netstat -tulpen

# rpm --import "http://keyserver.ubuntu.com/pks/lookup?op=get&search=0x3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF"
# yum-config-manager --add-repo http://download.mono-project.com/repo/centos/
# yum install wget mediainfo libzen libmediainfo curl gettext mono-core mono-devel sqlite
# yum -y install wget git par2cmdline p7zip unrar unzip tar gcc python-feedparser python-configobj python-cheetah python-dbus python-devel libxslt-devel

useradd -r sonarr
cd /tmp/
wget http://update.sonarr.tv/v2/master/mono/NzbDrone.master.tar.gz
tar -xvf NzbDrone.master.tar.gz
mkdir -p /opt/sonarr/bin

cp -a /tmp/NzbDrone/* /opt/sonarr/bin
chown -R sonarr:sonarr /opt/sonarr

vim /opt/sonarr/bin/NzbDrone.exe.config
/usr/bin/mono /opt/sonarr/bin/NzbDrone.exe -nobrowser -data /opt/sonarr

vim /etc/systemd/system/sonarr.service

systemctl daemon-reload
systemctl start sonarr && systemctl status sonarr

curl -v http://127.0.0.1:8989/sonarr/

cd /tmp
wget https://github.com/Radarr/Radarr/releases/download/v0.2.0.980/Radarr.develop.0.2.0.980.linux.tar.gz
tar -xvf Radarr.develop.0.2.0.980.linux.tar.gz

mkdir /opt/radarr
mkdir /opt/radarr/bin

cp -R Radarr/* /opt/radarr/bin/
ls -l /opt/radarr/bin/

chown -R radarr:radarr /opt/radarr/

vim /etc/systemd/system/radarr.service
systemctl start radarr && systemctl status radarr
systemctl enable radarr

vim /opt/radarr/.config/Radarr/config.xml
systemctl restart radarr
vim /etc/httpd/conf/httpd.conf

vim /opt/radarr/.config/Radarr/config.xml

vim /opt/sonarr/.config/NzbDrone/config.xml


cd /tmp
wget https://github.com/Radarr/Radarr/releases/download/v0.2.0.995/Radarr.develop.0.2.0.995.linux.tar.gz
tar -xvf Radarr.develop.0.2.0.995.linux.tar.gz
mkdir /opt/radarr
mkdir /opt/radarr/bin
cp -R Radarr/* /opt/radarr/bin/

ls -l /opt/radarr/bin/
cat /opt/radarr/.mono/
cat /opt/radarr/.config/

chown -R radarr:radarr /opt/radarr/
vim /opt/radarr/.config/Radarr/config.xml


vim /etc/systemd/system/nzbget.service
vim /etc/systemd/system/radarr.service
systemctl status radarr.service
systemctl status radarr.service -l
vim /etc/systemd/system/nzbget.service
netstat -tulpen
vim /etc/httpd/conf/httpd.conf
firewall-cmd --list-services
firewall-cmd --list-ports
firewall-cmd --zone=public --add-port=8989/tcp --permanent
firewall-cmd --reload
firewall-cmd --zone=public --add-port=7878/tcp --permanent
firewall-cmd --reload

yum search mono-locale-extras
yum install mono-locale-extras
yum update
reboot
yum update

restorecon -Rv /var/www/html/
cd /var/www/html/
ls -la
setenforce 0
cat README.md
cd ..
ls -la
chmod apache:apache html/


vim /etc/systemd/system/radarr.service
vim /opt/sonarr/.config/NzbDrone/config.xml
vim /opt/radarr/.config/NzbDrone/config.xml
vim /opt/radarr/.config/Radarr/config.xml
systemctl restart radarr
systemctl reload httpd
vim /etc/httpd/conf/httpd.conf
systemctl reload httpd
ls -la /var/www/html/
mkdir /var/www/html/_staticPage

vim server_backup_script.sh
systemctl status httpd.service
ls -la /opt/
chmod +x server_backup_script.sh
ifconfig
./server_backup_script.sh
vim /etc/crontab

Install / compile Cromaprint dependency:
# yum install git ffmpeg ffmpeg-devel fftw taglib boost cmake cmake3

# cd /tmp/
# git clone https://bitbucket.org/acoustid/chromaprint.git
# cd chromaprint/
# ls -la
# cmake3 -DCMAKE_BUILD_TYPE=Release -DBUILD_TOOLS=ON .
# make
# make install
# which fpcalc
# /bin/fpcalc

# cd /tmp/
# wget https://github.com/lidarr/Lidarr/releases/download/v0.4.0.524/Lidarr.develop.0.4.0.524.linux.tar.gz
# tar -xvf Lidarr.develop.0.4.0.524.linux.tar.gz
# ls -la Lidarr/
# mkdir -p /opt/lidarr/bin
# cp -R /tmp/Lidarr/* /opt/lidarr/bin/

# ls -la /opt/lidarr/bin/
# useradd -r lidarr
# usermod -a -G usenetserver lidarr
# chown -R lidarr:lidarr /opt/lidarr/

# vim /opt/lidarr/.config/Lidarr/config.xml
# /usr/bin/mono /opt/lidarr/bin/Lidarr.exe -nobrowser -data /opt/lidarr
CTRL + C
# vim /etc/systemd/system/lidarr.service
ls -la /root/.config/Lidarr/
ls -la /home/
ls -la /root/.config/
rm -Rf /root/.config/
vim /etc/group
vim /etc/passwd

# systemctl daemon-reload
# systemctl start lidarr.service && systemctl status lidarr.service
# systemctl enable lidarr.service

firewall-cmd --zone=public --add-port=8686/tcp --permanent
firewall-cmd --reload
  • redhat/other-redhat/usenet-download-redhat.1562748768.txt.gz
  • Last modified: 2019/07/10 10:52
  • by michael