Tutorial ini akan menunjukkan kepada Anda cara menginstal Plex Requests di server Ubuntu 16.04 dan Ubuntu 18.04. Permintaan Plex adalah cara otomatis sederhana bagi pengguna untuk meminta konten baru di server media Plex Anda.
Permintaan Plex memungkinkan pengguna Anda untuk mengirimkan permintaan konten pada halaman web khusus. Versi terbaru adalah v1.21.2, dirilis pada 16 Februari 2018. Fitur Permintaan Plex adalah sebagai berikut:
- Pengguna dapat dengan mudah mencari konten untuk diminta di TheMovieDB
- Daftar praktis dari film dan serial TV yang diminta serta pelaporan masalah dasar
- Otentikasi pengguna sederhana dengan sistem persetujuan baru
- Integrasi CouchPotato untuk mengunduh film secara otomatis
- Integrasi SickRage dan Sonarr untuk pengunduhan Serial TV otomatis
- Notifikasi pushbullet atau pushover untuk mengikuti permintaan terbaru
Prasyarat
Untuk mengikuti tutorial ini, diasumsikan bahwa Anda telah menyiapkan server media Plex di Ubuntu 16.04 atau Ubuntu 18.04. Anda dapat membaca artikel berikut.
- Cara menyiapkan server media Plex di Ubuntu 16.04
- Cara menyiapkan server media Plex di Ubuntu 18.04
Untuk menjalankan Permintaan Plex, server Anda harus memiliki setidaknya 1GB RAM. 2GB disarankan untuk menjalankannya dengan lancar. Tanpa basa-basi lagi, mari instal Permintaan Plex.
Instal Permintaan Plex di Ubuntu 16.04, Server 18.04
Permintaan Plex ditulis dengan MeteorJS, yang merupakan kerangka kerja web JavaScript sumber terbuka dan gratis untuk membangun aplikasi web dan seluler. Untuk menjalankan Permintaan Plex, kita perlu menginstal MeteorJS dengan perintah berikut.
sudo apt install curl curl https://install.meteor.com/ | sh
Kemudian buka Github dan unduh rilis terbaru.
Untuk mengunduhnya dari baris perintah, gunakan perintah berikut. Jika versi baru keluar, cukup ganti 1.12.2 dengan nomor versi baru.
wget -O plexrequests-meteor-1.21.2.zip https://codeload.github.com/lokenx/plexrequests-meteor/zip/v1.21.2
Selanjutnya, buka zip arsip.
sudo apt install unzip unzip plexrequests-meteor-1.21.2.zip
Cd ke dalam direktori.
cd plexrequests-meteor-1.21.2/
Sekarang kita dapat menjalankan Permintaan Plex dengan perintah berikut.
meteor
Perhatikan bahwa jika server Anda tidak memiliki cukup RAM, perintah ini akan gagal dan Anda akan melihat kesalahan berikut. ENOMEM adalah singkatan dari “Error – No Memory”.
Error: spawn ENOMEM
Selain itu, Plex Requests secara default mendengarkan pada port 3000. Jika aplikasi lain menggunakan port 3000, tentukan port alternatif seperti 3002. (MongoDB mendengarkan pada port 3001.)
meteor --port 3002
Sekarang Anda dapat mengakses halaman admin Permintaan Plex di
your-server-ip:3000/admin
Jika port 3000 diblokir oleh firewall, jalankan perintah berikut untuk mengizinkan akses pada port 3000.
sudo iptables -I INPUT -p tcp --dport 3000 -j ACCEPT
Klik tautan Daftar untuk membuat akun admin.
Jalankan Permintaan Plex di latar belakang dengan SystemD
Secara default, perintah meteor berjalan di latar depan, yang berarti jika Anda keluar dari terminal, Permintaan Plex akan berhenti berjalan. Untuk menjalankannya di latar belakang, kita dapat membuat layanan SystemD. Pertama, tekan Ctrl+C
untuk menghentikan proses meteor saat ini. Kemudian buat file layanan SystemD untuk Permintaan Plex dengan editor teks baris perintah seperti nano.
sudo nano /etc/systemd/system/plex-requests.service
Dalam file ini, kita perlu mengatur variabel lingkungan HOME, mengatur direktori kerja dan menentukan meteor yang akan dijalankan sebagai pengguna standar. Jadi masukkan teks berikut ke dalam file ini. Ganti teks merah yang sesuai.
[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
Untuk menyimpan file di editor teks Nano, tekan Ctrl+O
, lalu tekan Enter untuk mengonfirmasi. Untuk keluar, tekan Ctrl+X
. Selanjutnya, kita dapat memulai layanan SystemD dengan:
sudo systemctl start plex-requests
Dan aktifkan mulai otomatis pada waktu boot sistem.
sudo systemctl enable plex-requests
Sekarang periksa statusnya:
systemctl status plex-requests
Pastikan itu berjalan. Kemudian tekan q
untuk mendapatkan kembali kendali terminal.
Siapkan Nginx Reverse Proxy (Subdomain)
Untuk mengakses Permintaan Plex melalui nama domain alih-alih mengetik alamat IP dan nomor port, Anda dapat mengatur proxy terbalik dengan Nginx. Jalankan perintah berikut instal server web Nginx.
sudo apt install nginx
Kemudian buat file host virtual Nginx untuk Permintaan Plex.
sudo nano /etc/nginx/conf.d/plex-requests.conf
Masukkan baris berikut ke dalam file. Ganti requests.example.com
dengan nama domain Anda sendiri. Jangan lupa untuk menetapkan A record untuk sub domain. location / {…}
blok akan membuat permintaan pengalihan Nginx ke port 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"; } }
Simpan dan tutup file. Kemudian uji konfigurasi Nginx.
sudo nginx -t
Jika pengujian berhasil, muat ulang Nginx agar konfigurasi baru dapat diterapkan.
sudo systemctl reload nginx
Sekarang Permintaan Plex diletakkan di belakang Nginx dan Anda dapat mengaksesnya melalui nama domain (requests.example.com
).
Untuk mengaktifkan koneksi aman HTTPS, Anda dapat memperoleh dan menginstal sertifikat TLS/SSL gratis dari Let's Encrypt. Instal klien Let's Encrypt (certbot) dengan:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-nginx
Kemudian jalankan perintah berikut, yang menggunakan plugin Certbot Nginx untuk mendapatkan dan menginstal sertifikat TLS secara otomatis. Ganti teks merah dengan data Anda yang sebenarnya.
sudo certbot --nginx --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Dalam beberapa detik, Anda akan melihat pesan selamat seperti di bawah ini yang berarti sertifikat berhasil diperoleh.
Refresh halaman web Permintaan Plex, Anda akan menemukan koneksi HTTP secara otomatis dialihkan ke koneksi aman HTTPS.
Menyiapkan Nginx Reverse Proxy (Subdirektori)
Jika Anda ingin Permintaan Plex dapat diakses melalui subdirektori domain Anda, buka file host virtual Nginx yang ada untuk server media Plex Anda. Milik saya bernama plex.conf
.
sudo nano /etc/nginx/conf.d/plex.conf
Jika Anda mengikuti tutorial server media Plex saya sebelumnya, maka Anda sekarang harus mengaktifkan HTTPS untuk server media Plex Anda. Dan Anda hanya perlu menambahkan baris berikut ke blok server SSL (ditunjukkan dengan 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"; }
Dalam konfigurasi di atas, kami menetapkan bahwa jika URL permintaan diakhiri dengan /search, /admin, /requests, /packages, /sockjs, /app, atau /merged-stylesheets.css, maka beri tahu Nginx untuk mengarahkan permintaan ke port 3000. Jika URL permintaan diakhiri dengan /sockjs, akan ada beberapa permintaan WebSocket bersama dengan permintaan HTTP normal, jadi kami menambahkan dua proxy_set_header
terakhir arahan untuk meningkatkan ke protokol WebSocket.
Simpan dan tutup file. Kemudian uji konfigurasi Nginx.
sudo nginx -t
Jika pengujian berhasil, muat ulang Nginx agar konfigurasi baru dapat diterapkan.
sudo systemctl reload nginx
Sekarang halaman web Permintaan Plex utama dapat diakses melalui sub-direktori.
example.com/search
Dan halaman admin dapat diakses melalui
example.com/admin
Siapkan Apache Reverse Proxy (Subdomain)
Jika Anda lebih suka Apache daripada Nginx, maka instal dengan:
sudo apt install apache2
Untuk menggunakan Apache sebagai proxy terbalik, kita perlu mengaktifkan proxy
modul dan modul header.
sudo a2enmod proxy proxy_http proxy_wstunnel headers
Kemudian buat file host virtual untuk Permintaan Plex.
sudo nano /etc/apache2/sites-available/plex-requests.conf
Masukkan baris berikut ke dalam file. Ganti requests.example.com
dengan nama domain Anda sendiri. Jangan lupa untuk menetapkan rekor A untuk sub domain.
<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>
Simpan dan tutup file. Kemudian aktifkan host virtual ini.
sudo a2ensite plex-requests.conf
Mulai ulang Apache
sudo systemctl restart apache2
Sekarang Permintaan Plex diletakkan di belakang Apache dan Anda dapat mengaksesnya melalui nama domain (requests.example.com
).
Untuk mengaktifkan koneksi aman HTTPS, Anda dapat memperoleh dan menginstal sertifikat TLS/SSL gratis dari Let's Encrypt. Instal klien Let's Encrypt (certbot) dengan:
sudo apt install software-properties-common sudo add-apt-repository ppa:certbot/certbot sudo apt update sudo apt install certbot python3-certbot-apache
Kemudian jalankan perintah berikut, yang menggunakan plugin Certbot Nginx untuk mendapatkan dan menginstal sertifikat TLS secara otomatis. Ganti teks merah dengan data Anda yang sebenarnya.
sudo certbot --apache --agree-tos --redirect --hsts --staple-ocsp --email your-email-address --domain requests.example.com
Dalam beberapa detik, Anda akan melihat pesan selamat seperti di bawah ini yang berarti sertifikat berhasil diperoleh.
Refresh halaman web Permintaan Plex, Anda akan menemukan koneksi HTTP secara otomatis dialihkan ke koneksi aman HTTPS.
Siapkan Apache Reverse Proxy (Subdirektori)
Jika Anda ingin Permintaan Plex dapat diakses melalui subdirektori domain Anda, buka file host virtual Apache yang ada untuk server media Plex Anda. Milik saya bernama plex-le-ssl.conf
. (Perhatikan bahwa Anda perlu mengedit virtual host yang mendengarkan di 443.)
sudo nano /etc/nginx/conf.d/plex-le-ssl.conf
Jika Anda mengikuti tutorial server media Plex saya sebelumnya, maka Anda sekarang harus mengaktifkan HTTPS untuk server media Plex Anda. Dan Anda hanya perlu menambahkan baris berikut di dalam <VirtualHost *:443>...</VirtualHost>
blokir.
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>
Simpan dan tutup file. Kemudian muat ulang Apache agar perubahan diterapkan.
sudo systemctl reload apache2
Sekarang halaman web Permintaan Plex utama dapat diakses melalui sub-direktori.
example.com/search
Dan halaman admin dapat diakses melalui
example.com/admin
Kesimpulan
Saya harap tutorial ini membantu Anda menginstal Plex Requests di Ubuntu 18.04 dan 16.04. Seperti biasa, jika menurut Anda postingan ini bermanfaat, berlangganan newsletter gratis kami untuk mendapatkan lebih banyak tips dan trik. Hati-hati