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
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
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
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.