Anteriormente discutimos cómo instalar el cliente SABnzbd Usenet en Ubuntu 16.04/17.04. Este tutorial le mostrará cómo configurar su propio indexador nZEDb Usenet en Ubuntu 16.04/17.04 para que pueda encontrar contenido en Usenet convenientemente. nZEDb es un indexador de Usenet gratuito y de código abierto (con licencia GPL). Es una bifurcación de NewzNab plus, que es un indexador de Usenet comercial y de código cerrado.
¿Por qué configurar su propio indexador de Usenet? Hay varias razones:
- Es gratis.
- Puedes descargar tantos archivos NZB como quieras.
- Llamadas API ilimitadas.
- Los indexadores de Usenet de terceros pueden desaparecer en cualquier momento.
- No tiene que dar su información personal a nadie cuando utilice su propio indexador de Usenet.
Requisitos
Para seguir este tutorial, necesitará una computadora con Ubuntu 16.04/17.04 que se ejecute con la pila LAMP o LEMP. Si aún no lo ha hecho, consulte uno de los siguientes tutoriales.
- Cómo instalar LAMP (Apache, MariaDB, PHP7) en Ubuntu 16.04
- Cómo instalar LEMP (Nginx, MariaDB, PHP7-FPM) en Ubuntu 16.04
Una vez que haya instalado LAMP o LEMP, vuelva aquí y siga leyendo. También debe tener una cuenta de Usenet, cuyos detalles deberán ingresarse en el instalador web de nZEDb. Ahora siga las instrucciones a continuación para instalar nZEDb en Ubuntu 16.04/17.04.
Configuración de MariaDB
Edite el archivo de configuración del servidor MariaDB utilizando el editor de texto nano.
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Agregue las siguientes líneas en el [mysqld]
sección.
# configurations by nZEDb innodb_file_per_table = 1 max_allowed_packet = 16M group_concat_max_len = 8192
Guarde y cierre el archivo. Luego reinicie MariaDB para que los cambios surtan efecto.
sudo systemctl restart mysql
Crear una base de datos y un usuario en MariaDB
Inicie sesión en el servidor de la base de datos MariaDB con el siguiente comando:
mysql -u root -p
Luego cree una base de datos para nZEDb. Este tutorial nombra la base de datos nzedb
. Puedes usar el nombre que quieras.
create database nzedb;
Cree el usuario de la base de datos y otorgue a este usuario todos los privilegios en nzedb
base de datos. Reemplace your-password con su contraseña preferida.
grant all privileges on nzedb.* to 'nzedb'@'localhost' identified by 'your-password';
Otorgue también permiso de archivo a este usuario.
grant file on *.* TO 'nzedb'@'localhost';
Vacíe los privilegios y salga.
flush privileges; exit;
Decirle a AppArmor que ignore MariaDB
AppArmor es un módulo de seguridad de Linux habilitado de forma predeterminada en Ubuntu. Sin embargo, evita que nZEDb use los comandos LOAD DATA de SQL. Necesitamos decirle a AppArmor que ignore MariaDB usando los siguientes comandos.
sudo apt install apparmor-utils sudo aa-complain /usr/sbin/mysqld
Es posible que encuentre el siguiente error. Le dice que MariaDB no está restringida por AppArmor, así que vaya al siguiente paso.
ERROR: /etc/apparmor.d/usr.sbin.mysqld contains no profile
Instalación de herramientas multimedia
Ejecute el siguiente comando.
sudo apt-get install unrar p7zip-full mediainfo lame ffmpeg libav-tools
A continuación, ejecute los siguientes comandos para descargar, compilar e instalar yEnc, lo que acelera el procesamiento de mensajes y encabezados durante la indexación.
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 la extensión php-yenc para un procesamiento de encabezados y mensajes aún más rápido.
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 nZEDb
Cree un directorio para nZEDb.
sudo mkdir /var/www/nZEDb/
Establecer usuario del servidor web (www-data
) como propietario y concede permiso de escritura a www-data
grupo.
sudo chown www-data:www-data /var/www/nZEDb -R sudo chmod g+w /var/www/nZEDb/ -R
Agrega tu cuenta de usuario a www-data
grupo.
sudo adduser username www-data
Cierre sesión y vuelva a iniciarla para que este cambio surta efecto. Luego ejecute el siguiente comando para cambiar el grupo de inicio de sesión actual a www-data
.
newgrp www-data
Usaremos la herramienta git para clonar el repositorio nZEDb de Github. Así que instala git en Ubuntu 16.04/17.04 con el siguiente comando.
sudo apt install git
Cambiar directorio a /var/www/
.
cd /var/www/
Luego clone el repositorio nZEDb.
git clone https://github.com/nZEDb/nZEDb.git
En /var/www/nZEDb/_install/
directorio hay un script de instalación para nZEDb. Necesitamos copiarlo a /var/www/
.
sudo cp /var/www/nZEDb/_install/install.sh /var/www/
Añadir permiso de ejecución.
sudo chmod a+x /var/www/install.sh
Antes de ejecutar este script, necesitamos instalar algunas extensiones de 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
Ahora asegúrate de estar en /var/www/
directorio y ejecute el script de instalación.
cd /var/www/ ./install.sh
Durante la instalación, Composer instalará todas las dependencias de PHP necesarias y deberá ingresar su contraseña de sudo para establecer los permisos. Una vez finalizado el script, debemos configurar el servidor web. Puede usar Apache o Nginx.
Configuración del servidor virtual de Apache
Cree un host virtual en /etc/apache2/sites-available/
directorio para nZEDb.
sudo nano /etc/apache2/sites-available/nzedb.conf
Coloque el siguiente texto en el archivo. Reemplazar 12.34.56.78
con la dirección IP de su servidor Ubuntu. También puede usar un nombre de 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>
Guarde y cierre el archivo. Luego deshabilite el host virtual predeterminado y habilite el nuevo host virtual.
sudo a2dissite 000-default sudo a2ensite nzedb.conf
Habilitar módulo de reescritura.
sudo a2enmod rewrite
Vuelva a cargar Apache para que los cambios surtan efecto.
sudo systemctl reload apache2
Ahora visite la siguiente URL para acceder al asistente de instalación de nZEDb.
your-server-ip/install
o
your-domain.com/install
Configuración del bloque del servidor Nginx
Cree un nuevo archivo de bloque de servidor en /etc/nginx/conf.d/
directorio para nZEDb.
sudo nano /etc/nginx/conf.d/nzedb.conf
Coloque el siguiente texto en el archivo. Reemplazar 12.34.56.78
con la dirección IP de su servidor Ubuntu. También puede usar un nombre de 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; } }
Guarde y cierre el archivo. A continuación, edite fastcgi_params
archivo.
sudo nano /etc/nginx/fastcgi_params
Busque la siguiente línea.
fastcgi_param REDIRECT_STATUS 200;
Comente esta línea poniendo el símbolo # al principio.
#fastcgi_param REDIRECT_STATUS 200;
Guarde y cierre el archivo. Luego pruebe la configuración de Nginx.
sudo nginx -t
Si la prueba es exitosa, vuelva a cargar Nginx para que los cambios surtan efecto.
sudo systemctl reload nginx
Ahora visite la siguiente URL para acceder al asistente de instalación de nZEDb.
your-server-ip/install
o
your-domain.com/install
Finalización de la instalación en el navegador web
Haga clic en el botón en la parte inferior. En el primer paso, el asistente de instalación verifica sus extensiones y configuraciones de PHP.
Ya instalamos todas las extensiones de PHP necesarias anteriormente. Para un mejor rendimiento, también necesitamos configurar algunos ajustes de PHP. Si usa Apache y el módulo PHP7, abra el siguiente archivo.
sudo nano /etc/php/7.0/apache2/php.ini
Si usa Nginx y PHP-FPM, abra el siguiente archivo.
sudo nano /etc/php/7.0/fpm/php.ini
Cambiar el valor de max_execution_time
de 30 a 120.
max_execution_time = 120
Cambia el valor de memory_limit
de 128M a 1024M.
memory_limit = 1024M
Defina una zona horaria como America/New_York
.
date.timezone = America/New_York
Guarde y cierre el archivo. Si usa Apache y el módulo PHP7, debe volver a cargar Apache para que los cambios anteriores surtan efecto.
sudo systemctl reload apache2
Si usa Nginx y PHP-FPM, debe volver a cargar el servicio PHP-FPM para que los cambios anteriores surtan efecto.
sudo systemctl reload php7.0-fpm
Ahora vuelva a cargar el asistente nZEDb y todo el estado debería estar bien. Podemos ir al segundo paso para configurar la base de datos. Ingrese los detalles de la base de datos así.
El paso 3 es configurar OpenSSL. necesitamos descargar un paquete de certificados para verificar los certificados de su proveedor de Usenet.
sudo wget -P /etc/ssl/certs/ http://curl.haxx.se/ca/cacert.pem
Luego haz que sea legible para todos los usuarios.
sudo chmod 744 /etc/ssl/certs/cacert.pem
Ahora, en el asistente de configuración de nZEDb, ingrese la ruta del paquete de CA (/etc/ssl/certs/cacert.pem
) y la carpeta del certificado (/etc/ssl/certs/
). Asegúrate de Verificar par y Verificar host se comprueban. NO marca Permitir certificados autofirmados .
En el paso 4, ingrese los detalles del servidor de su proveedor de Usenet, como giganews.
A continuación, configure una cuenta de administrador para nZEDb.
El último paso es configurar las rutas de los archivos. Puede aceptar valores predeterminados.
Indización del contenido de Usenet
Una vez que se complete la configuración, podrá visitar la página de administración de nZEDb y seguir las instrucciones allí para activar algunos grupos de noticias, obtener los últimos encabezados de los grupos elegidos y actualizar los lanzamientos.
Para obtener los últimos encabezados, ejecute
cd /var/www/nZEDb/misc/update php update_binaries.php
Luego cree lanzamientos y archivos NZB usando el siguiente comando.
cd /var/www/nZEDb/misc/update/nix/multiprocessing php releases.php
Importar PreDB a la base de datos MariaDB
Importe volcados diarios de nZEDb desde 2014.
cd /var/www/nZEDb/cli php data/predb_import_daily_batch.php 0 local true
Obtención de portadas de películas y programas de televisión de IMDB, TMDB
Para mostrar portadas en su sitio nZEDb, debe obtener su propia clave API de IMDB o TMDB. Una vez que obtenga su clave API, vaya al panel de administración de nZEDb> configuración del sitio> editar sitio> Claves API de terceros e ingrese las claves API allí.
Espero que este tutorial te haya ayudado a configurar el indexador nZEDb Usenet en Ubuntu 16.04/17.04.