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

Ubuntu 16.04、18.04サーバーにPlexリクエストをインストールする方法

このチュートリアルでは、Ubuntu16.04およびUbuntu18.04サーバーにPlexリクエストをインストールする方法を説明します。 Plex Requestsは、ユーザーがPlexメディアサーバー上の新しいコンテンツをリクエストするためのシンプルな自動化された方法です。

Plex Requestsを使用すると、ユーザーは専用のWebページでコンテンツ要求を送信できます。最新バージョンはv1.21.2で、2018年2月16日にリリースされました。Plexリクエストの機能は次のとおりです。

  • ユーザーはTheMovieDBでリクエストするコンテンツを簡単に検索できます
  • リクエストされた映画やテレビシリーズの便利なリストと基本的な問題の報告
  • 新しい承認システムによるシンプルなユーザー認証
  • 映画の自動ダウンロードのためのCouchPotato統合
  • TVシリーズの自動ダウンロードのためのSickRageとSonarrの統合
  • リクエストを最新の状態に保つためのプッシュブレットまたはプッシュオーバー通知

前提条件

このチュートリアルに従うために、Ubuntu16.04またはUbuntu18.04でPlexメディアサーバーをすでにセットアップしていることを前提としています。次の記事をチェックできます。

  • Ubuntu16.04でPlexメディアサーバーを設定する方法
  • Ubuntu18.04でPlexメディアサーバーを設定する方法

Plexリクエストを実行するには、サーバーに少なくとも1GBのRAMが必要です。スムーズに実行するには2GBをお勧めします。さらに面倒なことはせずに、PlexRequestsをインストールしましょう。

Ubuntu 16.04、18.04サーバーにPlexリクエストをインストールする

Plex Requestsは、Webおよびモバイルアプリを構築するための無料のオープンソースJavaScriptWebフレームワークであるMeteorJSを使用して作成されています。 Plexリクエストを実行するには、次のコマンドを使用してMeteorJSをインストールする必要があります。

sudo apt install curl

curl https://install.meteor.com/ | sh

次に、Githubにアクセスして、最新リリースをダウンロードします。

コマンドラインからダウンロードするには、次のコマンドを使用します。新しいバージョンがリリースされた場合は、1.12.2を新しいバージョン番号に置き換えるだけです。

wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2

次に、アーカイブを解凍します。

sudo apt install unzip

unzip plexrequests-meteor-1.21.2.zip

ディレクトリにCdします。

cd plexrequests-meteor-1.21.2/

これで、次のコマンドを使用してPlexリクエストを実行できます。

meteor

サーバーに十分なRAMがない場合、このコマンドは失敗し、次のエラーが表示されることに注意してください。 ENOMEMは「エラー–メモリなし」の略です。

Error: spawn ENOMEM

また、Plexリクエストはデフォルトでポート3000でリッスンします。別のアプリケーションがポート3000を使用している場合は、3002などの代替ポートを指定します(MongoDBはポート3001でリッスンします)。

meteor --port 3002

これで、PlexRequests管理ページにアクセスできます

your-server-ip:3000/admin

ポート3000がファイアウォールによってブロックされている場合は、次のコマンドを実行してポート3000でのアクセスを許可します。

sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT


[登録]リンクをクリックして管理者アカウントを作成します。

SystemDを使用してバックグラウンドでPlexリクエストを実行する

デフォルトでは、meteorコマンドはフォアグラウンドで実行されます。つまり、ターミナルを終了すると、PlexRequestsの実行が停止します。バックグラウンドで実行するために、SystemDサービスを作成できます。まず、Ctrl+Cを押します 現在の流星プロセスを停止します。次に、nanoなどのコマンドラインテキストエディタを使用して、Plexリクエスト用のSystemDサービスファイルを作成します。

sudo nano /etc/systemd/system/plex-requests.service

このファイルでは、HOME環境変数を設定し、作業ディレクトリを設定し、meteorが標準ユーザーとして実行されるように指定する必要があります。したがって、このファイルに次のテキストを入れてください。必要に応じて赤いテキストを置き換えます。

[Unit]
Description=Plex Requests
After=syslog.target network.target

[Service]
Environment="HOME=/home/linuxbabe"
WorkingDirectory=/home/linuxbabe/plexrequests-meteor-1.21.2
ExecStart=/usr/local/bin/meteor
Type=simple
Restart=always
RestartSec=10
User=linuxbabe
Group=linuxbabe

[Install]
WantedBy=multi-user.target

Nanoテキストエディタでファイルを保存するには、Ctrl+Oを押します。 、Enterキーを押して確認します。終了するには、Ctrl+Xを押します 。次に、次のコマンドでSystemDサービスを開始できます:

sudo systemctl start plex-requests

また、システムの起動時に自動起動を有効にします。

sudo systemctl enable plex-requests

次にステータスを確認します:

systemctl status plex-requests

実行されていることを確認してください。次に、qを押します 端末の制御を取り戻すため。

Nginxリバースプロキシ(サブドメイン)を設定する

IPアドレスとポート番号を入力する代わりにドメイン名を介してPlexリクエストにアクセスするには、Nginxでリバースプロキシを設定できます。次のコマンドを実行して、NginxWebサーバーをインストールします。

sudo apt install nginx

次に、Plexリクエスト用のNginx仮想ホストファイルを作成します。

sudo nano /etc/nginx/conf.d/plex-requests.conf

次の行をファイルに入れます。 requests.example.comを置き換えます あなた自身のドメイン名で。サブドメインのAレコードを設定することを忘れないでください。 location / {…} ブロックは、Nginxがポート3000にリクエストをリダイレクトします。

server {
    listen 80;
    server_name requests.example.com;

    error_log /var/log/nginx/plex-requests.error;

    location / {
          proxy_pass http://127.0.0.1:3000;
          proxy_set_header Host $host;
          proxy_set_header X-Real-IP $remote_addr;
          proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
          #upgrade to WebSocket protocol
          proxy_set_header Upgrade $http_upgrade;
          proxy_set_header Connection "Upgrade";
    }
}

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

sudo nginx -t

テストが成功したら、新しい構成を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、Plex RequestsがNginxの背後に配置され、ドメイン名(requests.example.com)を介してアクセスできるようになりました。 。

HTTPSセキュア接続を有効にするには、Let’sEncryptから無料のTLS/SSL証明書を取得してインストールします。 Let’s Encrypt(certbot)クライアントを次のコマンドでインストールします:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python3-certbot-nginx

次に、次のコマンドを発行します。このコマンドは、Certbot Nginxプラグインを使用して、TLS証明書を自動的に取得してインストールします。赤いテキストを実際のデータに置き換えます。

sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com

数秒以内に、以下のようなおめでとうメッセージが表示されます。これは、証明書が正常に取得されたことを意味します。

Plex RequestsのWebページを更新すると、HTTP接続がHTTPSセキュア接続に自動的にリダイレクトされることがわかります。

Nginxリバースプロキシ(サブディレクトリ)の設定

ドメインのサブディレクトリを介してPlexリクエストにアクセスできるようにする場合は、Plexメディアサーバーの既存のNginx仮想ホストファイルを開きます。鉱山の名前はplex.conf

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

以前のPlexメディアサーバーのチュートリアルに従った場合は、PlexメディアサーバーでHTTPSが有効になっているはずです。そして、SSLサーバーブロックに次の行を追加する必要があります(listen 443 sslで示されます) 。

 location ~* (/search|/admin|/requests|/packages|/sockjs|/app|/merged-stylesheets.css) {
        proxy_pass http://localhost:3000;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";

 }

上記の構成では、リクエストURLが/ search、/ admin、/ requests、/ packages、/ sockjs、/ app、または/merged-stylesheets.cssで終わる場合は、リクエストをポート3000にリダイレクトするようにNginxに指示します。リクエストURLが/sockjsで終わる場合、通常のHTTPリクエストに加えていくつかのWebSocketリクエストがあるため、最後の2つの proxy_set_headerを追加します。 WebSocketプロトコルにアップグレードするためのディレクティブ。

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

sudo nginx -t

テストが成功したら、新しい構成を有効にするためにNginxをリロードします。

sudo systemctl reload nginx

これで、メインのPlexRequestsWebページにサブディレクトリからアクセスできます。

example.com/search

また、管理ページには

からアクセスできます。
example.com/admin

Apacheリバースプロキシ(サブドメイン)を設定する

NginxよりもApacheを使用する場合は、次のコマンドを使用してインストールします。

sudo apt install apache2

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

sudo a2enmod proxy proxy_http proxy_wstunnel headers

次に、Plexリクエスト用の仮想ホストファイルを作成します。

sudo nano /etc/apache2/sites-available/plex-requests.conf

次の行をファイルに入れます。 requests.example.comを置き換えます あなた自身のドメイン名で。サブドメインのAレコードを設定することを忘れないでください。

<VirtualHost *:80>
    ServerName requests.example.com
    ErrorDocument 404 /404.html
    
    #HTTP Requests
    ProxyPass / http://localhost:3000/
    ProxyPassReverse / http://localhost:3000/
    
    #When protocol upgrade to Websocket is received, change the origin (protocol scheme, host and port)
    RewriteEngine on
    RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
    RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
    RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]
</VirtualHost>

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

sudo a2ensite plex-requests.conf

Apacheを再起動します

sudo systemctl restart apache2

これで、Plex RequestsがApacheの背後に配置され、ドメイン名(requests.example.com)を介してアクセスできるようになりました。 。

HTTPSセキュア接続を有効にするには、Let’sEncryptから無料のTLS/SSL証明書を取得してインストールします。 Let’s Encrypt(certbot)クライアントを次のコマンドでインストールします:

sudo apt install software-properties-common
sudo add-apt-repository ppa:certbot/certbot
sudo apt update
sudo apt install certbot python3-certbot-apache

次に、次のコマンドを発行します。このコマンドは、Certbot Nginxプラグインを使用して、TLS証明書を自動的に取得してインストールします。赤いテキストを実際のデータに置き換えます。

sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com

数秒以内に、以下のようなおめでとうメッセージが表示されます。これは、証明書が正常に取得されたことを意味します。

Plex RequestsのWebページを更新すると、HTTP接続がHTTPSセキュア接続に自動的にリダイレクトされることがわかります。

Apacheリバースプロキシ(サブディレクトリ)を設定する

ドメインのサブディレクトリを介してPlexリクエストにアクセスできるようにする場合は、Plexメディアサーバーの既存のApache仮想ホストファイルを開きます。鉱山の名前はplex-le-ssl.conf 。 (443でリッスンする仮想ホストを編集する必要があることに注意してください。)

sudo nano /etc/nginx/conf.d/plex-le-ssl.conf

以前のPlexメディアサーバーのチュートリアルに従った場合は、PlexメディアサーバーでHTTPSが有効になっているはずです。そして、<VirtualHost *:443>...</VirtualHost>内に次の行を追加する必要があります。 ブロック。

    RewriteEngine on

    #If the requested URL is meant for Plex Requests, then redirect the request to localhost:3000
    RewriteCond %{REQUEST_URI} ^/(search|admin|requests|packages|app|sockjs|merged-stylesheets.css) [NC]
    RewriteRule .* http://localhost:3000%{REQUEST_URI} [P]

    #This is for Websocket requests.
    <Location /sockjs/>
       RewriteCond %{HTTP:UPGRADE} ^WebSocket$ [NC]
       RewriteCond %{HTTP:CONNECTION} ^Upgrade$ [NC]
       RewriteRule .* ws://localhost:3000%{REQUEST_URI} [P]
    </Location>

ファイルを保存して閉じます。次に、変更を有効にするためにApacheをリロードします。

sudo systemctl reload apache2

これで、メインのPlexRequestsWebページにサブディレクトリからアクセスできます。

example.com/search

また、管理ページには

からアクセスできます。
example.com/admin

結論

このチュートリアルが、Ubuntu18.04および16.04にPlexリクエストをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて🙂


Ubuntu
  1. Ubuntu20.04にPlexMediaServerをインストールする方法

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

  3. Ubuntu14.04サーバーにZimbra8.6をインストールする方法

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

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

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

  1. Ubuntu20.04にMariaDBをインストールする方法

  2. Ubuntu14.04にVNCサーバーをインストールする方法

  3. Ubuntu20.04にPlexMediaServerをインストールします