このチュートリアルでは、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リクエストをインストールするのに役立つことを願っています。いつものように、この投稿が役に立った場合は、無料のニュースレターを購読して、その他のヒントやコツを入手してください。気をつけて🙂