In precedenza abbiamo discusso su come installare il client SABnzbd Usenet su Ubuntu 16.04/17.04. Questo tutorial ti mostrerà come configurare il tuo indicizzatore nZEDb Usenet su Ubuntu 16.04/17.04 in modo da poter trovare comodamente i contenuti su Usenet. nZEDb è un indicizzatore Usenet gratuito e open source (con licenza GPL). È un fork di NewzNab plus, che è un indicizzatore Usenet commerciale e closed-source.
Perché configurare il tuo indicizzatore Usenet? Ci sono una serie di ragioni:
- È gratuito.
- Puoi scaricare tutti i file NZB che vuoi.
- Chiamate API illimitate.
- Gli indicizzatori Usenet di terze parti possono scomparire in qualsiasi momento.
- Non devi fornire le tue informazioni personali a nessuno quando utilizzi il tuo indicizzatore Usenet.
Prerequisiti
Per seguire questo tutorial, avrai bisogno di un computer Ubuntu 16.04/17.04 con stack LAMP o LEMP. Se non l'hai già fatto, dai un'occhiata a uno dei seguenti tutorial.
- Come installare LAMP (Apache, MariaDB, PHP7) su Ubuntu 16.04
- Come installare LEMP (Nginx, MariaDB, PHP7-FPM) su Ubuntu 16.04
Una volta installato LAMP o LEMP, torna qui e continua a leggere. È inoltre necessario disporre di un account Usenet, i cui dettagli dovranno essere inseriti nel programma di installazione web di nZEDb. Ora segui le istruzioni seguenti per installare nZEDb su Ubuntu 16.04/17.04.
Configurazione di MariaDB
Modifica il file di configurazione del server MariaDB utilizzando l'editor di testo nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Aggiungi le seguenti righe in [mysqld]
sezione.
# configurations by nZEDb innodb_file_per_table = 1 max_allowed_packet = 16M group_concat_max_len = 8192
Salva e chiudi il file. Quindi riavvia MariaDB per rendere effettive le modifiche.
sudo systemctl restart mysql
Creazione di un database e di un utente in MariaDB
Accedi al server del database di MariaDB con il seguente comando:
mysql -u root -p
Quindi creare un database per nZEDb. Questo tutorial nomina il database nzedb
. Puoi usare il nome che preferisci.
create database nzedb;
Crea l'utente del database e concedi a questo utente tutti i privilegi su nzedb
Banca dati. Sostituisci la tua password con la tua password preferita.
grant all privileges on nzedb.* to 'nzedb'@'localhost' identified by 'your-password';
Concedi anche l'autorizzazione al file a questo utente.
grant file on *.* TO 'nzedb'@'localhost';
Elimina i privilegi ed esci.
flush privileges; exit;
Dire ad AppArmor di ignorare MariaDB
AppArmor è un modulo di sicurezza Linux abilitato per impostazione predefinita su Ubuntu. Tuttavia, impedisce a nZEDb di utilizzare i comandi LOAD DATA di SQL. Dobbiamo dire ad AppArmor di ignorare MariaDB usando i comandi seguenti.
sudo apt install apparmor-utils sudo aa-complain /usr/sbin/mysqld
Potresti riscontrare il seguente errore. Ti dice che MariaDB non è limitato da AppArmor, quindi vai al passaggio successivo.
ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile
Installazione di strumenti multimediali
Esegui il comando seguente.
sudo apt-get install unrar p7zip-full mediainfo lame ffmpeg libav-tools
Quindi, esegui i seguenti comandi per scaricare, compilare e installare yEnc, che velocizza l'elaborazione dell'intestazione e dei messaggi durante l'indicizzazione.
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
Installa l'estensione php-yenc per un'elaborazione dell'intestazione e dei messaggi ancora più veloce.
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
Installazione di nZEDb
Crea una directory per nZEDb.
sudo mkdir /var/www/nZEDb/
Imposta l'utente del server web (www-data
) in qualità di proprietario e concedere il permesso di scrittura a www-data
gruppo.
sudo chown www-data:www-data /var/www/nZEDb -R sudo chmod g+w /var/www/nZEDb/ -R
Aggiungi il tuo account utente a www-data
gruppo.
sudo adduser username www-data
Esci e riconnettiti per rendere effettiva questa modifica. Quindi esegui il comando seguente per modificare il gruppo di accesso corrente in www-data
.
newgrp www-data
Useremo lo strumento git per clonare il repository nZEDb da Github. Quindi installa git su Ubuntu 16.04/17.04 con il seguente comando.
sudo apt install git
Cambia directory in /var/www/
.
cd /var/www/
Quindi clona il repository nZEDb.
git clone https://github.com/nZEDb/nZEDb.git
Sotto /var/www/nZEDb/_install/
directory c'è uno script di installazione per nZEDb. Dobbiamo copiarlo in /var/www/
.
sudo cp /var/www/nZEDb/_install/install.sh /var/www/
Aggiungi il permesso di esecuzione.
sudo chmod a+x /var/www/install.sh
Prima di eseguire questo script, dobbiamo installare alcune estensioni PHP.
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
Ora assicurati di essere in /var/www/
directory ed eseguire lo script di installazione.
cd /var/www/ ./install.sh
Durante l'installazione, Composer installerà tutte le dipendenze PHP necessarie e dovrai inserire la tua password sudo per impostare le autorizzazioni. Una volta terminato lo script, dobbiamo configurare il server web. Puoi usare sia Apache che Nginx.
Configurazione dell'host virtuale Apache
Crea un host virtuale in /etc/apache2/sites-available/
directory per nZEDb.
sudo nano /etc/apache2/sites-available/nzedb.conf
Inserisci il seguente testo nel file. Sostituisci 12.34.56.78
con l'indirizzo IP del tuo server Ubuntu. Puoi anche utilizzare un nome di dominio.
<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>
Salva e chiudi il file. Quindi disabilita l'host virtuale predefinito e abilita il nuovo host virtuale.
sudo a2dissite 000-default sudo a2ensite nzedb.conf
Abilita modulo di riscrittura.
sudo a2enmod rewrite
Ricarica Apache per rendere effettive le modifiche.
sudo systemctl reload apache2
Ora visita il seguente URL per accedere alla procedura guidata di installazione di nZEDb.
your-server-ip/install
o
your-domain.com/install
Configurazione di Nginx Server Block
Crea un nuovo file di blocco del server in /etc/nginx/conf.d/
directory per nZEDb.
sudo nano /etc/nginx/conf.d/nzedb.conf
Inserisci il seguente testo nel file. Sostituisci 12.34.56.78
con l'indirizzo IP del tuo server Ubuntu. Puoi anche utilizzare un nome di dominio.
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; } }
Salva e chiudi il file. Quindi, modifica fastcgi_params
file.
sudo nano /etc/nginx/fastcgi_params
Trova la riga seguente.
fastcgi_param REDIRECT_STATUS 200;
Commenta questa riga inserendo il simbolo # all'inizio.
#fastcgi_param REDIRECT_STATUS 200;
Salva e chiudi il file. Quindi testa la configurazione di Nginx.
sudo nginx -t
Se il test ha esito positivo, ricarica Nginx per rendere effettive le modifiche.
sudo systemctl reload nginx
Ora visita il seguente URL per accedere alla procedura guidata di installazione di nZEDb.
your-server-ip/install
o
your-domain.com/install
Completamento dell'installazione nel browser Web
Fare clic sul pulsante in basso. Nel primo passaggio, la procedura guidata di installazione controlla le estensioni e le impostazioni PHP.
Abbiamo già installato tutte le estensioni PHP necessarie in precedenza. Per ottenere le migliori prestazioni, abbiamo anche bisogno di configurare alcune impostazioni PHP. Se usi Apache e il modulo PHP7, apri il seguente file.
sudo nano /etc/php/7.0/apache2/php.ini
Se usi Nginx e PHP-FPM, apri il seguente file.
sudo nano /etc/php/7.0/fpm/php.ini
Modifica il valore di max_execution_time
da 30 a 120.
max_execution_time = 120
Modifica il valore di memory_limit
da 128M a 1024M.
memory_limit = 1024M
Definisci un fuso orario come America/New_York
.
date.timezone = America/New_York
Salva e chiudi il file. Se utilizzi il modulo Apache e PHP7, devi ricaricare Apache affinché le modifiche di cui sopra abbiano effetto.
sudo systemctl reload apache2
Se utilizzi Nginx e PHP-FPM, devi ricaricare il servizio PHP-FPM per rendere effettive le modifiche di cui sopra.
sudo systemctl reload php7.0-fpm
Ora ricarica la procedura guidata di nZEDb e tutto lo stato dovrebbe essere OK. Possiamo andare al 2° passaggio per configurare il database. Inserisci i dettagli del database in questo modo.
Il passaggio 3 consiste nell'impostare OpenSSL. dobbiamo scaricare un pacchetto di certificati per verificare i certificati del tuo provider Usenet.
sudo wget -P /etc/ssl/certs/ http://curl.haxx.se/ca/cacert.pem
Quindi rendilo leggibile da tutti gli utenti.
sudo chmod 744 /etc/ssl/certs/cacert.pem
Ora nella procedura guidata di configurazione di nZEDb, inserisci il percorso del bundle CA (/etc/ssl/certs/cacert.pem
) e la cartella del certificato (/etc/ssl/certs/
). Assicurati di Verifica peer e Verifica host sono controllati. NON seleziona Consenti certificati autofirmati .
Nel passaggio 4 inserisci i dettagli del server del tuo provider Usenet come giganews.
Quindi, configura un account amministratore per nZEDb.
Il passaggio finale è impostare i percorsi dei file. Puoi accettare valori predefiniti.
Indicizzazione dei contenuti Usenet
Una volta completata la configurazione, potrai visitare la pagina di amministrazione di nZEDb e seguire le istruzioni per attivare alcuni newsgroup, ottenere le ultime intestazioni dei gruppi scelti e aggiornare le versioni.
Per ottenere le ultime intestazioni, esegui
cd /var/www/nZEDb/misc/update php update_binaries.php
Quindi crea versioni e file NZB utilizzando il comando seguente.
cd /var/www/nZEDb/misc/update/nix/multiprocessing php releases.php
Importazione di PreDB nel database MariaDB
Importa dump giornalieri da nZEDb dal 2014.
cd /var/www/nZEDb/cli php data/predb_import_daily_batch.php 0 local true
Recupero di copertine di film e TV da IMDB, TMDB
Per visualizzare le copertine sul tuo sito nZEDb, devi ottenere la tua chiave API da IMDB o TMDB. Una volta ottenuta la chiave API, vai al pannello di amministrazione di nZEDb> impostazioni del sito> modifica sito> Chiavi API di terze parti e inserisci lì le chiavi API.
Spero che questo tutorial ti abbia aiutato a configurare l'indicizzatore nZEDb Usenet su Ubuntu 16.04/17.04.