Como configurar nZEDb Usenet Indexer no Ubuntu

Nzedb verifica automaticamente o usenet, semelhante à forma como os bots de pesquisa do Google digitalizam a internet. Ele faz isso coletando cabeçalhos usenet e armazenando-os temporariamente em um banco de dados SQL. Ele fornece um front-end baseado na web que oferece funcionalidade de pesquisa, navegação e programação (API).

nZEDb
Indexador para a Usenet

Pré-requisitos

Para seguir este tutorial, você precisará de um computador com sistema operacional Ubuntu 16.04 / 17.04 , com um ambiente LAMP ou LEMP. Caso não tenha esta disponibilidade, verifique um dos seguintes tutoriais.

Quando LAMP ou LEMP estiver instalado, volte aqui. Você também precisa ter uma conta Usenet, cujos detalhes precisarão ser inseridos na instalação. Agora siga as instruções abaixo para instalar o nZEDb no Ubuntu 16.04 / 17.04.

Configurando o MariaDB

Edite o arquivo de configuração do MariaDB usando o editor nano.

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf

Adicione as seguintes linhas na seção [mysqld].
# configurations by nZEDb
innodb_file_per_table = 1
max_allowed_packet = 16M
group_concat_max_len = 8192
Salve e feche o arquivo. Depois reinicie o MariaDB para que as alterações tenham efeito.

sudo systemctl restart mysql

Criando um usuário e um banco de dados no MariaDB

Logue no MariaDB com o seguinte comando:

mysql -u root –p

Então crie o banco de dados. Neste tutorial usamos o nome do banco de dados de nzedb. Você pode usar o nome que quiser.

create database nzedb;

Crie o usuário e depois adicione todas as permissões para o banco de dados criado. Substitua ‘sua-senha’ pela senha que preferir.

grant all privileges on nzedb.* to ‘nzedb’@’localhost’ identified by ‘sua-senha’;

Adicione permissão ao arquivo para o usuário.

grant file on *.* TO ‘nzedb’@’localhost’;

Recarregue as permissões e saia.

flush privileges;
exit;

Configurando o AppArmos para ignorar o MariaDB

O Apparmor é um módulo de segurança Linux habilitado por padrão no Ubuntu. No entanto, ele impede de usar os comandos LOAD DATA do SQL. Precisamos informar o apparmor para ignorar o Mariadb usando os comandos abaixo.

sudo apt install apparmor-utils
sudo aa-complain /usr/sbin/mysqld

Você pode encontrar o seguinte erro. Ele diz que o Mariadb não está restrito pelo Apparmor, então vá para a próxima etapa.

ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile

Instalando o Media Tools

Rode o seguinte comando.

sudo apt install unrar p7zip-full mediainfo lame ffmpeg libav-tools

Depois, execute o seguinte comando para baixar, compilar e instalar yEnc, pois acelera o processamento do cabeçalho e da mensagem durante a indexação.

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

Instale a extensão php-yenc.

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

Instalando o nZEDb

Crie um diretório para o nZEDb.

sudo mkdir /var/www/nZEDb/

Configure o usuário do servidor web (www-data) como o proprietário e conceda permissão de gravação para o grupo www-data.

sudo chown www-data:www-data /var/www/nZEDb -R
sudo chmod g+w /var/www/nZEDb/ -R

Adicione seu usuário do Ubuntu ao grupo www-data.

sudo adduser username www-data

Faça o logout e faça o login novamente para que essa alteração entre em vigor. Em seguida, execute o seguinte comando para alterar o grupo de login atual para www-data.

newgrp www-data

Utilizaremos o git para clonar o repositório do nZEDb do Github. Então instale o git no Ubuntu com o seguinte comando.

sudo apt install git

Mude para o diretório /var/www/.

cd /var/www/

Então clone o repositório.

git clone https://github.com/nZEDb/nZEDb.git

No diretório /var/www/nZEDb/_install/ há um script de instalação. Precisamos copiá-lo para /var/www/.

sudo cp /var/www/nZEDb/_install/install.sh /var/www/

Adicione permissão de execução.

sudo chmod a+x /var/www/install.sh

Ante de rodar o script, precisarei efetuar as seguintes instalações das extensões do PHP.

sudo apt-get 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

Agora tenha certeza que esta em /var/www/ e rode o script.

cd /var/www/
./install.sh

Durante a instalação, o Composer instalará todas as dependências necessárias do PHP e você precisará inserir sua senha sudo para definir as permissões. Uma vez que o script terminou, precisamos configurar o servidor web. Você pode usar o Apache ou o Nginx.

Configurando o Apache Virtual Host

Crie um host virtual para o nZEDb no diretório /etc/apache2/sites-available/.

sudo nano /etc/apache2/sites-available/nzedb.conf

Coloque o texto abaixo no arquivo. Substitua 12.34.56.78 com seu endereço IP do Ubuntu. Você pode usar também um nome de domínio.

<VirtualHost *:80>
ServerAdmin webmaster@localhost
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>

Salve e feche o arquivo. Então desative o host virtual padrão e habilite o novo host virtual.

sudo a2dissite 000-default
sudo a2ensite nzedb.conf

Habilite o módulo rewrite.

sudo a2enmod rewrite

Reinicie o serviço do Apache para aplicar as alterações.

sudo systemctl reload apache2

Agora, visite o seguinte URL para acessar o assistente de instalação nZEDb.

seu-ip/install

Configurando o Nginx Server Block

Crie um novo arquivo de bloco do servidor no diretório /etc/nginx/conf.d/ para nZEDb.

sudo nano /etc/nginx/conf.d/nzedb.conf

Coloque o seguinte texto no arquivo. Substitua 12.34.56.78 pelo endereço IP do servidor Ubuntu. Você também pode usar um nome de domínio.

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;
}
}

Salve e feche o arquivo. Depois, edite o arquivo fastcgi_params.

sudo nano /etc/nginx/fastcgi_params

Ache a seguinte linha.

fastcgi_param REDIRECT_STATUS 200;

Comente esta linha colocando o símbolo # no início.

#fastcgi_param REDIRECT_STATUS 200;

Salve e feche o arquivo. Então teste a configuração do Nginx.

sudo nginx -t

Se o teste for bem sucedido, então reinicie o serviço do Nginx para aplicar as alterações.

sudo systemctl reload nginx

Agora, visite o seguinte URL para acessar o assistente de instalação.

seu-ip/install

Concluindo a instalação no Browser

nzedb
nZEDb


 
 
 
 
 
 
 
 
 
 
 
Clique no botão na parte inferior. Na primeira etapa, o assistente de instalação verifica suas extensões e configurações do PHP.

 
 
 
 
 
 
 
 
 
 
 
Nós já instalamos todas as extensões PHP necessárias anteriormente. Para o melhor desempenho, também precisamos configurar algumas configurações de PHP. Se você usar o Apache e o módulo PHP7, abra o seguinte arquivo.

sudo nano /etc/php/7.0/apache2/php.ini

Se você usa Nginx e PHP-FPM, abra o seguinte arquivo.

sudo nano /etc/php/7.0/fpm/php.ini

Altere o valor de max_execution_time de 30 para 120.

max_execution_time = 120

Altere o valor do memory_limit de 128M para 1024M.

memory_limit = 1024M

Defina seu fuso horário.

date.timezone = America/Sao_Paulo

Salve e feche o arquivo. Se você usa o módulo Apache e PHP7, então você precisa recarregar o Apache para que as mudanças acima tenham efeito.

sudo systemctl reload apache2

Se você usa o Nginx e o PHP-FPM, então você precisará recarregar o serviço PHP-FPM para que as mudanças acima tenham efeito.

sudo systemctl reload php7.0-fpm
nZEDb

Agora recarregue o assistente nZEDb e todo o status deve estar OK. Podemos ir ao 2º passo para configurar o banco de dados. Digite os detalhes do banco de dados assim.

 
 
 
 
 
 
 
 
 
 
O Passo 3 é configurar o OpenSSL. Precisamos baixar um pacote de certificados para verificar os certificados do seu fornecedor Usenet.

sudo wget -P /etc/ssl/certs/ http://curl.haxx.se/ca/cacert.pem

Dê permissão de leitura para todos os usuários.

sudo chmod 744 /etc/ssl/certs/cacert.pem
nZEDb
nZEDb
nZEDb
nZEDb

Agora, no assistente de configuração nZEDb, insira o caminho do pacote da CA (/etc/ssl/certs/cacert.pem) e a pasta do certificado (/etc/ssl/certs/). Certifique-se de que o endereço de verificação e verificar o host estão marcados. NÃO marque Permitir certificados auto-assinados.

 
 
 
 
 
 
 
 
 
 
 
Na etapa 4, insira os detalhes do servidor do seu provedor Usenet, como giganews.

 
 
 
 
 
 
 
 
 
 
 
Em seguida, configure uma conta de administrador para nZEDb.

 
 
 
 
 
 
 
 
 
 
 
A etapa final é configurar os caminhos dos arquivos. Você pode aceitar os valores padrão.

 
 
 
 
 
 
 
 

Indexando o Conteúdo Usenet

Uma vez que a instalação esteja completa, você poderá visitar a página de administração nZEDb e seguir as instruções lá para ativar alguns grupos de notícias, obter os últimos cabeçalhos dos grupos escolhidos e atualizar os lançamentos.
Para obter os cabeçalhos mais recentes, execute.

cd /var/www/nZEDb/misc/update
php update_binaries.php

Em seguida, crie lançamentos e arquivos NZB usando o seguinte comando.

cd /var/www/nZEDb/misc/update/nix/multiprocessing
php releases.php

Importando PreDB para o banco de dados MariaDB

Importe dumps diários de nZEDb desde 2014.

cd /var/www/nZEDb/cli
php data/predb_import_daily_batch.php 0 local true

Obtendo filmes e capas de TV da IMDB e TMDB

Para exibir capas em seu site, você precisa obter sua própria chave API da IMDB ou TMDB. Depois de obter a sua chave de API, vá para o painel de administração nZEDb> configurações do site> editar site> chaves da API de terceiros e digite as chaves da API lá.
Espero que este tutorial tenha ajudado você a configurar o indexador nZEDb Usenet no Ubuntu.