GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu 16.04/17.04でnZEDbUsenetインデクサーを設定する方法

以前、Ubuntu 16.04/17.04にSABnzbdUsenetクライアントをインストールする方法について説明しました。このチュートリアルでは、Ubuntu 16.04 /17.04で独自のnZEDbUsenetインデクサーを設定して、Usenetでコンテンツを簡単に見つけられるようにする方法を説明します。 nZEDbは、無料のオープンソース(GPLライセンス)のUsenetインデクサーです。これは、クローズドソースで商用のUsenetインデクサーであるNewzNabplusのフォークです。

なぜ独自のUsenetインデクサーを設定するのですか?いくつかの理由があります:

  • 無料です。
  • 必要な数のNZBファイルをダウンロードできます。
  • 無制限のAPI呼び出し。
  • サードパーティのUsenetインデクサーはいつでも消えることがあります。
  • 独自のUsenetインデクサーを使用する場合、個人情報を誰かに提供する必要はありません。

前提条件

このチュートリアルに従うには、LAMPまたはLEMPスタックで実行されているUbuntu 16.04/17.04コンピューターが必要です。まだ行っていない場合は、次のチュートリアルのいずれかを確認してください。

  • Ubuntu 16.04にLAMP(Apache、MariaDB、PHP7)をインストールする方法
  • Ubuntu 16.04にLEMP(Nginx、MariaDB、PHP7-FPM)をインストールする方法

LAMPまたはLEMPをインストールしたら、ここに戻って読み進めてください。また、Usenetアカウントが必要です。このアカウントの詳細は、nZEDbWebインストーラーに入力する必要があります。次に、以下の手順に従って、Ubuntu 16.04/17.04にnZEDbをインストールします。

MariaDBの構成

nanoテキストエディタを使用してMariaDBサーバー構成ファイルを編集します。

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

[mysqld]に次の行を追加します セクション。

# configurations by nZEDb
innodb_file_per_table = 1
max_allowed_packet = 16M
group_concat_max_len = 8192

ファイルを保存して閉じます。次に、MariaDBを再起動して、変更を有効にします。

sudo systemctl restart mysql

MariaDBでのデータベースとユーザーの作成

次のコマンドを使用してMariaDBデータベースサーバーにログインします。

mysql -u root -p

次に、nZEDbのデータベースを作成します。このチュートリアルでは、データベースにnzedbという名前を付けます 。好きな名前を使用できます。

create database nzedb;

データベースユーザーを作成し、このユーザーにnzedbに対するすべての権限を付与します データベース。 your-passwordをお好みのパスワードに置き換えてください。

grant all privileges on nzedb.* to 'nzedb'@'localhost' identified by 'your-password';

また、このユーザーにファイル権限を付与します。

grant file on *.* TO 'nzedb'@'localhost';

特権をフラッシュして終了します。

flush privileges;

exit;

AppArmorにMariaDBを無視するように指示する

AppArmorは、Ubuntuでデフォルトで有効になっているLinuxセキュリティモジュールです。ただし、nZEDbがSQLのLOADDATAコマンドを使用することはできません。以下のコマンドを使用して、AppArmorにMariaDBを無視するように指示する必要があります。

sudo apt install apparmor-utils

sudo aa-complain /usr/sbin/mysqld

次のエラーが発生する可能性があります。 MariaDBはAppArmorによって制限されていないため、次のステップに進んでください。

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

メディアツールのインストール

次のコマンドを実行します。

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

次に、次のコマンドを実行してyEncをダウンロード、コンパイル、インストールします。これにより、インデックス作成中のヘッダーとメッセージの処理が高速化されます。

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

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

nZEDbのインストール

nZEDbのディレクトリを作成します。

sudo mkdir /var/www/nZEDb/

Webサーバーユーザーを設定します(www-data )所有者として、www-dataへの書き込み権限を付与します グループ。

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

ユーザーアカウントをwww-dataに追加します グループ。

sudo adduser username www-data

この変更を有効にするには、ログアウトしてから再度ログインします。次に、次のコマンドを実行して、現在のログイングループをwww-dataに変更します。 。

newgrp www-data

gitツールを使用してGithubからnZEDbリポジトリのクローンを作成します。したがって、次のコマンドを使用してGitをUbuntu 16.04/17.04にインストールします。

sudo apt install git

ディレクトリを/var/www/に変更します 。

cd /var/www/

次に、nZEDbリポジトリのクローンを作成します。

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

/var/www/nZEDb/_install/の下 ディレクトリには、nZEDbのインストールスクリプトがあります。 /var/www/にコピーする必要があります 。

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

実行権限を追加します。

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

このスクリプトを実行する前に、いくつかの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

次に、/var/www/にいることを確認します ディレクトリを作成し、インストールスクリプトを実行します。

cd /var/www/

./install.sh

インストール中に、Composerは必要なすべてのPHP依存関係をインストールし、権限を設定するためにsudoパスワードを入力する必要があります。スクリプトが終了したら、Webサーバーをセットアップする必要があります。 ApacheまたはNginxのいずれかを使用できます。

Apache仮想ホストの設定

/etc/apache2/sites-available/に仮想ホストを作成します nZEDbのディレクトリ。

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

次のテキストをファイルに入れます。 12.34.56.78を置き換えます UbuntuサーバーのIPアドレスを使用します。ドメイン名を使用することもできます。

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

ファイルを保存して閉じます。次に、デフォルトの仮想ホストを無効にして、新しい仮想ホストを有効にします。

sudo a2dissite 000-default

sudo a2ensite nzedb.conf

書き換えモジュールを有効にします。

sudo a2enmod rewrite

変更を有効にするためにApacheをリロードします。

sudo systemctl reload apache2

次に、次のURLにアクセスして、nZEDbインストールウィザードにアクセスします。

your-server-ip/install

または

your-domain.com/install

Nginxサーバーブロックの設定

/etc/nginx/conf.d/に新しいサーバーブロックファイルを作成します nZEDbのディレクトリ。

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

次のテキストをファイルに入れます。 12.34.56.78を置き換えます UbuntuサーバーのIPアドレスを使用します。ドメイン名を使用することもできます。

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

ファイルを保存して閉じます。次に、fastcgi_paramsを編集します ファイル。

sudo nano /etc/nginx/fastcgi_params

次の行を見つけます。

fastcgi_param  REDIRECT_STATUS    200;

先頭に#記号を付けて、この行をコメントアウトします。

#fastcgi_param  REDIRECT_STATUS    200;

ファイルを保存して閉じます。次に、Nginx構成をテストします。

sudo nginx -t

テストが成功した場合は、変更を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

次に、次のURLにアクセスして、nZEDbインストールウィザードにアクセスします。

your-server-ip/install

または

your-domain.com/install

Webブラウザでのインストールの完了

下部のボタンをクリックします。最初のステップでは、インストールウィザードがPHPの拡張機能と設定を確認します。

必要なPHP拡張機能はすべて以前にインストール済みです。最高のパフォーマンスを得るには、いくつかのPHP設定も構成する必要があります。 ApacheとPHP7モジュールを使用している場合は、次のファイルを開きます。

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

NginxとPHP-FPMを使用している場合は、次のファイルを開きます。

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

max_execution_timeの値を変更します 30から120まで。

max_execution_time = 120

memory_limitの値を変更します 128Mから1024Mまで。

memory_limit = 1024M

America/New_Yorkのようなタイムゾーンを定義します 。

date.timezone = America/New_York

ファイルを保存して閉じます。 ApacheおよびPHP7モジュールを使用する場合、上記の変更を有効にするには、Apacheをリロードする必要があります。

sudo systemctl reload apache2

NginxとPHP-FPMを使用している場合、上記の変更を有効にするには、PHP-FPMサービスをリロードする必要があります。

sudo systemctl reload php7.0-fpm

ここで、nZEDbウィザードをリロードすると、すべてのステータスがOKになります。 2番目のステップに進んでデータベースをセットアップできます。そのようにデータベースの詳細を入力します。

手順3は、OpenSSLを設定することです。 Usenetプロバイダーの証明書を確認するには、証明書バンドルをダウンロードする必要があります。

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

次に、すべてのユーザーが読めるようにします。

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

次に、nZEDbセットアップウィザードで、CAバンドルパス(/etc/ssl/certs/cacert.pem)を入力します。 )および証明書フォルダー(/etc/ssl/certs/ )。 ピアの確認を確認してください およびホストの確認 チェックされます。 しない 自己署名証明書を許可するをオンにします 。

手順4で、giganewsなどのUsenetプロバイダーのサーバーの詳細を入力します。

次に、nZEDbの管理者アカウントを設定します。

最後のステップは、ファイルパスを設定することです。デフォルト値を受け入れることができます。

Usenetコンテンツのインデックス作成

セットアップが完了すると、nZEDb管理ページにアクセスし、そこでの指示に従って、いくつかのニュースグループをアクティブ化し、選択したグループの最新のヘッダーを取得し、リリースを更新できるようになります。

最新のヘッダーを取得するには、

を実行します
cd /var/www/nZEDb/misc/update

php update_binaries.php

次に、次のコマンドを使用してリリースとNZBファイルを作成します。

cd /var/www/nZEDb/misc/update/nix/multiprocessing

php releases.php

PreDBをMariaDBデータベースにインポートする

2014年以降、nZEDbから毎日のダンプをインポートします。

cd /var/www/nZEDb/cli

php data/predb_import_daily_batch.php 0 local true

IMDB、TMDBから映画やテレビの表紙を取得する

nZEDbサイトにカバーを表示するには、IMDBまたはTMDBから独自のAPIキーを取得する必要があります。 APIキーを取得したら、nZEDb管理パネルに移動します>サイト設定>編集サイト>サードパーティのAPIキー そこにAPIキーを入力します。

このチュートリアルが、Ubuntu 16.04/17.04でnZEDbUsenetインデクサーを設定するのに役立つことを願っています。


Ubuntu
  1. Wine 6.15がリリースされました! Ubuntu 20.04 / 21.04/18.04にインストールする方法

  2. Ubuntu20.04にmysql8をインストールしてセットアップする方法

  3. Ubuntu 20.04/18.04にFlatpakをインストールする方法

  1. Ubuntu18.04にSquidプロキシサーバーをセットアップしてインストールする方法

  2. Ubuntu 20.04/18.04にRedisをインストールする方法

  3. Ubuntu20.04にRをインストールする方法

  1. Ubuntu18.04にGoをインストールする方法

  2. Ubuntu18.04にRをインストールする方法

  3. Ubuntu18.04にDockerをインストールしてセットアップする方法