Zuvor haben wir besprochen, wie der SABnzbd Usenet-Client auf Ubuntu 16.04/17.04 installiert wird. Dieses Tutorial zeigt Ihnen, wie Sie Ihren eigenen nZEDb-Usenet-Indexer unter Ubuntu 16.04/17.04 einrichten, damit Sie bequem Inhalte im Usenet finden können. nZEDb ist ein kostenloser und quelloffener (GPL-lizenzierter) Usenet-Indexer. Es ist ein Fork von NewzNab plus, einem Closed-Source- und kommerziellen Usenet-Indexer.
Warum einen eigenen Usenet-Indexer einrichten? Dafür gibt es mehrere Gründe:
- Es ist kostenlos.
- Sie können so viele NZB-Dateien herunterladen, wie Sie möchten.
- Unbegrenzte API-Aufrufe.
- Usenet-Indexer von Drittanbietern können jederzeit verschwinden.
- Sie müssen Ihre persönlichen Daten an niemanden weitergeben, wenn Sie Ihren eigenen Usenet-Indexer verwenden.
Voraussetzungen
Um diesem Tutorial zu folgen, benötigen Sie einen Ubuntu 16.04/17.04-Computer mit LAMP- oder LEMP-Stack. Wenn Sie dies noch nicht getan haben, sehen Sie sich bitte eines der folgenden Tutorials an.
- So installieren Sie LAMP (Apache, MariaDB, PHP7) unter Ubuntu 16.04
- So installieren Sie LEMP (Nginx, MariaDB, PHP7-FPM) auf Ubuntu 16.04
Sobald LAMP oder LEMP installiert ist, kommen Sie hierher zurück und lesen Sie weiter. Sie benötigen außerdem ein Usenet-Konto, dessen Details im nZEDb-Webinstaller eingegeben werden müssen. Befolgen Sie nun die nachstehenden Anweisungen, um nZEDb auf Ubuntu 16.04/17.04 zu installieren.
MariaDB konfigurieren
Bearbeiten Sie die Konfigurationsdatei des MariaDB-Servers mit dem Nano-Texteditor.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Fügen Sie die folgenden Zeilen in [mysqld]
hinzu Abschnitt.
# configurations by nZEDb innodb_file_per_table = 1 max_allowed_packet = 16M group_concat_max_len = 8192
Speichern und schließen Sie die Datei. Starten Sie dann MariaDB neu, damit die Änderungen wirksam werden.
sudo systemctl restart mysql
Erstellen einer Datenbank und eines Benutzers in MariaDB
Melden Sie sich mit dem folgenden Befehl beim MariaDB-Datenbankserver an:
mysql -u root -p
Erstellen Sie dann eine Datenbank für nZEDb. Dieses Tutorial nennt die Datenbank nzedb
. Sie können einen beliebigen Namen verwenden.
create database nzedb;
Erstellen Sie den Datenbankbenutzer und gewähren Sie diesem Benutzer alle Berechtigungen für nzedb
Datenbank. Ersetzen Sie Ihr-Passwort durch Ihr bevorzugtes Passwort.
grant all privileges on nzedb.* to 'nzedb'@'localhost' identified by 'your-password';
Gewähren Sie diesem Benutzer auch die Dateiberechtigung.
grant file on *.* TO 'nzedb'@'localhost';
Berechtigungen leeren und beenden.
flush privileges; exit;
AppArmor sagen, dass es MariaDB ignorieren soll
AppArmor ist ein Linux-Sicherheitsmodul, das standardmäßig auf Ubuntu aktiviert ist. Es hindert nZEDb jedoch daran, die LOAD DATA-Befehle von SQL zu verwenden. Wir müssen AppArmor mit den folgenden Befehlen anweisen, MariaDB zu ignorieren.
sudo apt install apparmor-utils sudo aa-complain /usr/sbin/mysqld
Möglicherweise tritt der folgende Fehler auf. Es sagt Ihnen, dass MariaDB nicht von AppArmor eingeschränkt wird, also fahren Sie einfach mit dem nächsten Schritt fort.
ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile
Media-Tools installieren
Führen Sie den folgenden Befehl aus.
sudo apt-get install unrar p7zip-full mediainfo lame ffmpeg libav-tools
Führen Sie als Nächstes die folgenden Befehle aus, um yEnc herunterzuladen, zu kompilieren und zu installieren, was die Header- und Nachrichtenverarbeitung während der Indizierung beschleunigt.
cd ~ mkdir yenc cd yenc wget https://ayera.dl.sourceforge.net/project/yydecode/yydecode/0.2.10/yydecode-0.2.10.tar.gz tar xzf yydecode-0.2.10.tar.gz cd yydecode-0.2.10 sudo apt install gcc make ./configure make sudo make install cd ../.. rm -rf ~/yenc
Installieren Sie die php-yenc-Erweiterung für eine noch schnellere Header- und Nachrichtenverarbeitung.
wget https://github.com/niel/php-yenc/releases/download/v1.3.0/php7.0-yenc_1.3.0_amd64.deb sudo dpkg -i php7.0-yenc_1.3.0_amd64.deb
nZEDb installieren
Erstellen Sie ein Verzeichnis für nZEDb.
sudo mkdir /var/www/nZEDb/
Webserver-Benutzer festlegen (www-data
) als Besitzer und erteile www-data
Schreibrechte Gruppe.
sudo chown www-data:www-data /var/www/nZEDb -R sudo chmod g+w /var/www/nZEDb/ -R
Fügen Sie Ihr Benutzerkonto zu www-data
hinzu Gruppe.
sudo adduser username www-data
Melden Sie sich ab und wieder an, damit diese Änderung wirksam wird. Führen Sie dann den folgenden Befehl aus, um die aktuelle Anmeldegruppe in www-data
zu ändern .
newgrp www-data
Wir werden das Git-Tool verwenden, um das nZEDb-Repository von Github zu klonen. Installieren Sie also git auf Ubuntu 16.04/17.04 mit dem folgenden Befehl.
sudo apt install git
Wechseln Sie in das Verzeichnis /var/www/
.
cd /var/www/
Klonen Sie dann das nZEDb-Repository.
git clone https://github.com/nZEDb/nZEDb.git
Unter /var/www/nZEDb/_install/
Verzeichnis gibt es ein Installationsskript für nZEDb. Wir müssen es nach /var/www/
kopieren .
sudo cp /var/www/nZEDb/_install/install.sh /var/www/
Ausführungsberechtigung hinzufügen.
sudo chmod a+x /var/www/install.sh
Bevor wir dieses Skript ausführen, müssen wir einige PHP-Erweiterungen installieren.
sudo apt install php7.0-mcrypt php-imagick php-pear php7.0-curl php7.0-gd php7.0-json php7.0-dev php7.0-gd php7.0-mbstring php7.0-xml
Stellen Sie nun sicher, dass Sie sich in /var/www/
befinden Verzeichnis und führen Sie das Installationsskript aus.
cd /var/www/ ./install.sh
Während der Installation installiert Composer alle erforderlichen PHP-Abhängigkeiten und Sie müssen Ihr sudo-Passwort eingeben, um Berechtigungen festzulegen. Sobald das Skript fertig ist, müssen wir den Webserver einrichten. Sie können entweder Apache oder Nginx verwenden.
Apache Virtual Host einrichten
Erstellen Sie einen virtuellen Host in /etc/apache2/sites-available/
Verzeichnis für nZEDb.
sudo nano /etc/apache2/sites-available/nzedb.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie 12.34.56.78
mit der IP-Adresse Ihres Ubuntu-Servers. Sie können auch einen Domänennamen verwenden.
<VirtualHost *:80> ServerAdmin [email protected] ServerName 12.34.56.78 DocumentRoot "/var/www/nZEDb/www" LogLevel warn ServerSignature Off ErrorLog /var/log/apache2/error.log <Directory "/var/www/nZEDb/www"> Options FollowSymLinks AllowOverride All Require all granted </Directory> Alias /covers /var/www/nZEDb/resources/covers </VirtualHost>
Speichern und schließen Sie die Datei. Deaktivieren Sie dann den virtuellen Standardhost und aktivieren Sie den neuen virtuellen Host.
sudo a2dissite 000-default sudo a2ensite nzedb.conf
Rewrite-Modul aktivieren.
sudo a2enmod rewrite
Laden Sie Apache neu, damit die Änderungen wirksam werden.
sudo systemctl reload apache2
Besuchen Sie nun die folgende URL, um auf den nZEDb-Installationsassistenten zuzugreifen.
your-server-ip/install
oder
your-domain.com/install
Einrichten des Nginx-Serverblocks
Erstellen Sie eine neue Serverblockdatei in /etc/nginx/conf.d/
Verzeichnis für nZEDb.
sudo nano /etc/nginx/conf.d/nzedb.conf
Fügen Sie den folgenden Text in die Datei ein. Ersetzen Sie 12.34.56.78
mit der IP-Adresse Ihres Ubuntu-Servers. Sie können auch einen Domänennamen verwenden.
server { listen 80; server_name 12.34.56.78; access_log /var/log/nginx/nzedb-access.log; error_log /var/log/nginx/nzedb-error.log; root /var/www/nZEDb/www/; index index.html index.htm index.php; location ~* \.(?:css|eot|gif|gz|ico|inc|jpe?g|js|ogg|oga|ogv|mp4|m4a|mp3|png|svg|ttf|txt|woff|xml)$ { expires max; add_header Pragma public; add_header Cache-Control "public, must-revalidate, proxy-revalidate"; } location / { try_files $uri $uri/ @rewrites; } location ^~ /covers/ { # This is where the nZEDb covers folder should be in. root /var/www/nZEDb/resources; } 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_param SCRIPT_FILENAME $request_filename; # Uncomment the following line and comment the .sock line if you want to use TCP. #fastcgi_pass 127.0.0.1:9000; fastcgi_pass unix:/run/php/php7.0-fpm.sock; # The next two lines should go in your fastcgi_params fastcgi_index index.php; } }
Speichern und schließen Sie die Datei. Als nächstes bearbeiten Sie fastcgi_params
Datei.
sudo nano /etc/nginx/fastcgi_params
Suchen Sie die folgende Zeile.
fastcgi_param REDIRECT_STATUS 200;
Kommentieren Sie diese Zeile aus, indem Sie das Symbol # am Anfang setzen.
#fastcgi_param REDIRECT_STATUS 200;
Speichern und schließen Sie die Datei. Testen Sie dann die Nginx-Konfiguration.
sudo nginx -t
Wenn der Test erfolgreich ist, laden Sie Nginx neu, damit die Änderungen wirksam werden.
sudo systemctl reload nginx
Besuchen Sie nun die folgende URL, um auf den nZEDb-Installationsassistenten zuzugreifen.
your-server-ip/install
oder
your-domain.com/install
Fertigstellen der Installation im Webbrowser
Klicken Sie auf die Schaltfläche unten. Im ersten Schritt überprüft der Installationsassistent Ihre PHP-Erweiterungen und -Einstellungen.
Wir haben bereits zuvor alle benötigten PHP-Erweiterungen installiert. Für eine optimale Leistung müssen wir auch einige PHP-Einstellungen konfigurieren. Wenn Sie Apache und das PHP7-Modul verwenden, öffnen Sie die folgende Datei.
sudo nano /etc/php/7.0/apache2/php.ini
Wenn Sie Nginx und PHP-FPM verwenden, öffnen Sie die folgende Datei.
sudo nano /etc/php/7.0/fpm/php.ini
Ändern Sie den Wert von max_execution_time
von 30 bis 120.
max_execution_time = 120
Ändern Sie den Wert von memory_limit
von 128M bis 1024M.
memory_limit = 1024M
Definieren Sie eine Zeitzone wie America/New_York
.
date.timezone = America/New_York
Speichern und schließen Sie die Datei. Wenn Sie Apache und das PHP7-Modul verwenden, müssen Sie Apache neu laden, damit die oben genannten Änderungen wirksam werden.
sudo systemctl reload apache2
Wenn Sie Nginx und PHP-FPM verwenden, müssen Sie den PHP-FPM-Dienst neu laden, damit die oben genannten Änderungen wirksam werden.
sudo systemctl reload php7.0-fpm
Laden Sie jetzt den nZEDb-Assistenten neu und alle Status sollten in Ordnung sein. Wir können zum 2. Schritt gehen, um die Datenbank einzurichten. Geben Sie die Datenbankdetails wie folgt ein.
Schritt 3 besteht darin, OpenSSL einzurichten. Wir müssen ein Zertifikatspaket herunterladen, um die Zertifikate Ihres Usenet-Anbieters zu überprüfen.
sudo wget -P /etc/ssl/certs/ http://curl.haxx.se/ca/cacert.pem
Machen Sie es dann für alle Nutzer lesbar.
sudo chmod 744 /etc/ssl/certs/cacert.pem
Geben Sie nun im nZEDb-Setup-Assistenten den CA-Bundle-Pfad ein (/etc/ssl/certs/cacert.pem
) und Zertifikatordner (/etc/ssl/certs/
). Stellen Sie sicher, dass Sie Peer bestätigen und Host bestätigen werden überprüft. NICHT Aktivieren Sie Selbstsignierte Zertifikate zulassen .
Geben Sie in Schritt 4 die Serverdaten Ihres Usenet-Providers wie z. B. giganews ein.
Richten Sie als Nächstes ein Administratorkonto für nZEDb ein.
Der letzte Schritt ist das Einrichten von Dateipfaden. Sie können Standardwerte akzeptieren.
Indizieren von Usenet-Inhalten
Sobald die Einrichtung abgeschlossen ist, können Sie die nZEDb-Admin-Seite besuchen und den Anweisungen dort folgen, um einige Newsgroups zu aktivieren, die neuesten Header Ihrer ausgewählten Gruppen zu erhalten und Veröffentlichungen zu aktualisieren.
Um die neuesten Header zu erhalten, führen Sie
auscd /var/www/nZEDb/misc/update php update_binaries.php
Erstellen Sie dann Freigaben und NZB-Dateien mit dem folgenden Befehl.
cd /var/www/nZEDb/misc/update/nix/multiprocessing php releases.php
PreDB in die MariaDB-Datenbank importieren
Importieren Sie seit 2014 tägliche Dumps von nZEDb.
cd /var/www/nZEDb/cli php data/predb_import_daily_batch.php 0 local true
Abrufen von Film- und TV-Covern von IMDB, TMDB
Um Cover auf Ihrer nZEDb-Site anzuzeigen, müssen Sie Ihren eigenen API-Schlüssel von IMDB oder TMDB erhalten. Sobald Sie Ihren API-Schlüssel erhalten haben, gehen Sie zum nZEDb-Admin-Panel> Site-Einstellungen> Website bearbeiten> API-Schlüssel von Drittanbietern und geben Sie dort die API-Schlüssel ein.
Ich hoffe, dieses Tutorial hat Ihnen geholfen, den nZEDb-Usenet-Indexer unter Ubuntu 16.04/17.04 einzurichten.