GNU/Linux >> Linux の 問題 >  >> Debian

Debianサーバー/デスクトップにSABnzbdUsenetクライアントをインストールする方法

SABnzbd は、Usenetでバイナリコンテンツ(画像、オーディオ、ビデオ、電子書籍など)をダウンロードするための無料のオープンソースおよびWebベースのUsenetクライアントです。クロスプラットフォームであり、Linux、BSD、macOS、UNIX、Windows、Synology、QNAPなどで利用できます。このチュートリアルでは、DebianにSABnzbdをインストールする方法を紹介します。

SABnzbdの機能

  • Webブラウザを使用してどこからでもアクセスできます。
  • レスポンシブウェブインターフェース。
  • 複数のUsenetサーバー(プロバイダー)がサポートされています。
  • モバイルアプリはAndroidとiOSで利用できます
  • Sonarr、Sickrage、CouchPotato、HeadphonesなどのアプリはSABnzbdと統合でき、ダウンロードプロセスを自動化できます
  • SABnzbdは、RSSフィードを読み取って処理し、カスタムスクリプトをアクティブにして、メール、うなり声、うろつき、プッシュオーバー、プッシュブレットで通知することもできます。
  • NZB(Newz Binary)インデクサーの統合。 NZBファイルはトレントファイルのようなものであり、NZBインデクサーはトレントサイトのようなものです。
  • その他多数

DebianにSABnzbdUsenetクライアントをインストールする方法

SABnzbdは、デフォルトのDebianリポジトリから入手できます。 contribを有効にする必要があります それをインストールするためのコンポーネント。

sudo apt install software-properties-common
sudo add-apt-repository contrib
sudo apt update
sudo apt install sabnzbdplus python-sabyenc par2

SABYencモジュールは、CPUが制限されたデバイスでのダウンロード速度を上げるのに役立ちます。

SABnzbdのSystemdサービスユニットを作成する

sabnzbdplus パッケージは、従来のInitスクリプト(/etc/init.d/sabnzbdplus)を提供します )、うまくいかないことがわかりました。次のコマンドを実行してサービスを開始しました。

sudo service sabnzbdplus start

次のコマンドを使用してDebianシステムのリスニングポートを一覧表示すると、ポート8080が見つかりません(SABnzbdはデフォルトでポート8080でリッスンします)。これは、実行されていないことを示します。

sudo ss -lnpt | grep 8080

SABnzbdを開始するためのより良い方法は、Systemdサービスユニットを使用することです。 Nanoなどのコマンドラインテキストエディタを使用して、SABnzbd用のSystemdサービスを作成できます。

sudo nano /etc/systemd/system/sabnzbd.service

次のテキストをファイルに入れます。

[Unit]
Description=SABnzbd Usenet Client
After=network.target

[Service]
Type=simple
User=sabnzbd
Group=sabnzbd
ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus --browser 0 
ExecStop=/usr/bin/pkill sabnzbdplus
Restart=always
SyslogIdentifier=SABnzbd Usenet Client

[Install]
WantedBy=multi-user.target

SABnzbdは、デフォルトでポート8080でリッスンします。このポートがシステム上の別のプロセスによって使用されている場合、SABnzbdは自動的に別のポートを選択します。 ExecStartで直接ポートを選択することをお勧めします 以下のようなパラメータ。これにより、SABnzbdはポート8081でリッスンします。

ExecStart=/usr/bin/python -OO /usr/bin/sabnzbdplus -s 127.0.0.1:8081 --browser 0

ファイルを保存して閉じます。 (Nanoテキストエディタでファイルを保存するには、Ctrl+Oを押します。 、次にEnterを押します 確認するために。ファイルを閉じるには、Ctrl+Xを押します 。)

次に、Systemdをリロードします。

sudo systemctl daemon-reload

SABnzbdを実行するためにroot権限は必要ないことに注意してください。そのため、.serviceファイルで、SABnzbdをsabnzbdとして実行するように指定しました。 ルート権限を持たないユーザーとグループ。 sabnzbdを作成します 次のコマンドを使用して、システムユーザーとグループを作成します。ホームディレクトリは、構成ファイル(/home/sabnzbd/.sabnzbd/sabnzbd.ini)の保存に使用されます。

sudo adduser --system --home /home/sabnzbd --group sabnzbd

これで、systemdサービスを使用してsabnzbdを開始できます。

sudo systemctl start sabnzbd

起動時に自動起動を有効にします。

sudo systemctl enable sabnzbd

次に、sabnzbdのステータスを確認します。

systemctl status sabnzbd

サンプル出力:

セットアップウィザードを起動します

127.0.0.1:8080/sabnzbd/wizardと入力できます 任意のWebブラウザーで、クイックスタートウィザードを起動します。 SABnzbdをリモートDebianサーバーにインストールした場合、Web UIにアクセスするには、NginxまたはApacheでリバースプロキシを設定する必要があります。これについては、このチュートリアルの後半で説明します。

言語を選択します。次の画面で、Usenetプロバイダーのサーバーの詳細を入力します。 15日間の無料トライアルを提供するNewsDemonを使用しています。これらのサーバーの詳細は、Usenetプロバイダーから入手できます。 UsenetがSSLをサポートしている場合は、必ずSSLにチェックマークを付けてください。

Usenetからコンテンツ(画像、音声、ビデオ、電子書籍など)をダウンロードするには、 NZBにフィードする必要があります。 SABnzbdにファイルします。 .torrentファイルに似たNZBファイルは、nzbfinder.wsなどのUsenetインデックスサイトからダウンロードできます。これらのサイトのほとんどは、フリーミアムモデルに基づいています。独自の無料のUsenetインデクサーを作成するオプションがありますが、Usenetの初心者の場合は、これらのUsenetインデックスサイトに無料のアカウントを登録して、何が利用できるかを確認することをお勧めします。スクリーンショットからわかるように、ダウンロード速度は非常に高速です。 (16.8 MB / s =134.4 Mbit / s)

ダウンロード先フォルダを変更する方法

デフォルトのダウンロードフォルダは/home/sabnzbd/Downloadsです。 。外付けハードドライブなどの別のディレクトリに変更する場合は、Folderをクリックします。 SABnzbdWebインターフェイスのメニュー。次に、ブラウザボタンをクリックして変更します。

sabnzbdに注意してください ユーザーは、ダウンロード先フォルダーに対する読み取りおよび書き込み権限を持っている必要があります。外付けUSBハードドライブを使用している場合は、次のコマンドを実行して権限を付与できます。

sudo setfacl -R -m u:sabnzbd:rwx /media/linuxbabe/

外付けUSBハードドライブは/media/linuxbabe/にマウントされています 、必要に応じて変更してください。

リバースプロキシの設定

ドメイン名を使用してリモート接続(LANの外部など)からSABnzbd Webインターフェースにアクセスするには、NginxまたはApacheを使用してリバースプロキシを設定できます。

実際のドメイン名をお持ちでない場合は、NameCheapにアクセスして購入することをお勧めします。価格は安く、whoisのプライバシー保護は一生無料です。

Nginx

DebianにNginxをインストールします。

sudo apt install nginx

NginxWebサーバーを起動します。

sudo systemctl start nginx

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

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

次のテキストをファイルに貼り付けます。 sabnzbd.your-domain.comを置き換えます ご希望のドメイン名を使用して、DNSAレコードを作成することを忘れないでください。別のポートを使用する場合は、8080を自分のポート番号に変更してください。

server {
       listen 80;
       listen [::]:80;
       server_name sabnzbd.your-domain.com;

       location / {
              proxy_pass http://127.0.0.1:8080;
              proxy_set_header Host $http_host;
              proxy_set_header X-Real-IP $remote_addr;
              proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
              proxy_set_header X-Forwarded-Proto $scheme;
        }
}

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

sudo nginx -t

テストが成功した場合は、Nginxをリロードします。

sudo systemctl reload nginx

これで、sabnzbd.your-domain.comを介してSABnzbdWebインターフェースにアクセスできます。 。次のエラーが表示された場合:

Access denied - Hostname verification failed

次に、構成ファイル(/home/sabnzbd/.sabnzbd/sabnzbd.ini)を編集する必要があります。 )そしてsabnzbd.your-domain.comを追加します ホワイトリストに追加します。

host_whitelist = sabnzbd.your-domain.com

次に、SABnzbdを再起動します。

sudo systemctl restart sabnzbd

Apache

NginxではなくApacheWebサーバーを使用している場合は、以下の手順に従ってリバースプロキシを設定してください。

ApacheWebサーバーをインストールします。

sudo apt install apache2

Apacheをリバースプロキシとして使用するには、proxyを有効にする必要があります モジュールとrewriteも有効にします モジュール。

sudo a2enmod proxy proxy_http rewrite

次に、SABnzbdの仮想ホストファイルを作成します。

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

次のテキストをファイルに入れます。 sabnzbd.your-domain.comを置き換えます 実際のドメイン名を使用して、そのDNSAレコードを作成することを忘れないでください。別のポートを使用する場合は、8080を自分のポート番号に変更してください。

<VirtualHost *:80>
    ServerName sabnzbd.your-domain.com

    ProxyPass / http://127.0.0.1:8080/
    ProxyPassReverse / http://127.0.0.1:8080/
</VirtualHost>

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

sudo a2ensite sabnzbd.conf

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

sudo systemctl reload apache2

これで、ドメイン名(sabnzbd.your-domain.com)を入力して、SABnzbdにリモートアクセスできます。 )ブラウザのアドレスバー。次のエラーが表示された場合:

Access denied - Hostname verification failed

次に、構成ファイル(/home/sabnzbd/.sabnzbd/sabnzbd.ini)を編集する必要があります。 )そしてsabnzbd.your-domain.comを追加します ホワイトリストに追加します。

host_whitelist = sabnzbd.your-domain.com

次に、SABnzbdを再起動します。

sudo systemctl restart sabnzbd

HTTPSを有効にする

外部からSABnzbdWebインターフェイスにアクセスするときにHTTPトラフィックを暗号化するために、Let’sEncryptから発行された無料のTLS証明書をインストールしてHTTPSを有効にすることができます。次のコマンドを実行して、Let’s Encryptクライアント(certbot)をDebianにインストールします。

sudo apt install certbot

Nginxを使用する場合は、CertbotNginxプラグインもインストールする必要があります。

sudo apt install python3-certbot-nginx

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

Apacheを使用する場合は、CertbotApacheプラグインをインストールする必要があります。

sudo apt install python3-certbot-apache

次に、次のコマンドを実行してTLS証明書を取得してインストールします。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email [email protected] -d sabnzbd.your-domain.com

場所:

  • --nginx :nginxプラグインを使用してください。
  • --apache :Apacheプラグインを使用してください。
  • --agree-tos :利用規約に同意します。
  • --redirect :301リダイレクトでHTTPSを強制します。
  • --hsts :すべてのHTTP応答にStrict-Transport-Securityヘッダーを追加します。ドメインに常にTLSを使用するようにブラウザを強制します。 SSL/TLSストリッピングから防御します。
  • --staple-ocsp :OCSPステープリングを有効にします。有効なOCSP応答は、TLS中にサーバーが提供する証明書にホチキス止めされます。

これで、証明書が取得され、自動的にインストールされます。

アクセスの制限

パブリックインターネットからSABnzbdにアクセスできる場合は、ユーザー名とパスワードを設定することが非常に重要です。これは、構成で実行できます。>一般>セキュリティ セクション。


Debian
  1. Debian9/8にRabbitMQサーバーをインストールする方法

  2. Debian11にPostmanRESTクライアントをインストールする方法

  3. Debian10にXrdpサーバーをインストールする方法

  1. Debian 10にXrdpサーバー(リモートデスクトップ)をインストールする方法

  2. Debian11にTeamSpeakサーバーをインストールする方法

  3. Debian11にXrdpサーバーをインストールする方法

  1. Debian11にLAMPサーバーをインストールする方法

  2. SyncthingをDebianデスクトップ/サーバーにインストールする方法

  3. PlexMediaServerをDebian10BusterServerまたはデスクトップにインストールする方法