Raspberry pi で Plex Media Server を構築する方法

# 1. はじめに
今回は、自分自身への備忘録を兼ねて、Raspberry Piで[Plex Media Server](https://www.plex.tv/ja/)を構築する方法を、お伝えしたいと思います。
Plex Media Serverの設定次第で、Raspberry Piに接続した外部ディスク内の動画、音楽を外出先のリモートから視聴したり、家庭内のDLNAを構築できるようです。

![コメント 2020-02-11 221218.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/7283a2ce-342d-6c76-cfba-804b305144fa.jpeg)

![コメント 2020-02-11 221430.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/b2724fd0-1632-d446-bef5-776c9f6eabc8.jpeg)

![コメント 2020-02-11 215743.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/50c86dd6-2c2e-13fb-4e4b-f808bdbb24f9.jpeg)

参考：[How to Install Plex Media Server on Debian 10 Buster Server or Desktop](https://www.linuxbabe.com/debian/install-plex-media-server-debian-10-buster)
参考：[How to set up a Raspberry Pi Plex server](https://thepi.io/how-to-set-up-a-raspberry-pi-plex-server/)
参考：[How to Turn a Raspberry Pi Into a Plex Media Server](https://www.makeuseof.com/tag/raspberry-pi-plex-media-server/)
参考：[HOWTO - Using Raspberry Pi 3+ as Plex Media Server](https://www.raspberrypi.org/forums/viewtopic.php?t=214655)
参考：[【DLNA対応】Plex Media Server を Raspberry Pi にインストールする](https://qiita.com/masataka55/items/bce9f199148599beb995)

# 2. この記事を読んでできること
- Raspberry Piで Plex Media Server を構築できるようになる。

# 3. 必要なもの
- Raspberry Pi（この記事では Raspberry Pi3B+ を利用しました）
- SDカード
- インターネット環境
- パソコン（Windows10など）
- sshクライアントソフト（[TeraTerm](https://ja.osdn.net/projects/ttssh2/releases/)）

- 参考：RaspberryPiにIPアドレスではなくホスト名で接続したい方は、あらかじめ[iTunes](https://support.apple.com/ja_JP/downloads/itunes)（正確には『[Bonjourサービス](https://support.apple.com/kb/DL999?locale=ja_JP&viewlocale=ja_JP)』単体）をインストールしておくと『ホスト名.local』にてIPアドレスを使わずともアクセスできるようになると思います。

# 4. Raspbian Buster Liteの入手
- 以下のURLから、OSイメージファイル（[Raspbian Buster Lite](https://www.raspberrypi.org/downloads/raspbian/)）をダウンロードする。
- 今回は公式の手引きどおり、画面なしヘッドレス（CUI版）のRaspbian Buster Liteを採用しました。

```plaintext:Raspbian_Buster_LiteダウンロードサイトURL
https://www.raspberrypi.org/downloads/raspbian/
```

参考：この記事作成時のファイルバージョン：2019-09-26-raspbian-buster-lite.zip

# 5. microSDカードのフォーマット
- [SD Formatter for Windows](https://www.sdcard.org/jp/downloads/formatter/index.html)などのソフトを用いて、使用するmicroSDカードをフォーマットする。
- フォーマット形式は「FAT32」を選択することを推奨します。

- 参考：参考画面
![fomatter.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/94af63eb-346c-229e-d908-886b65a9339b.png)

# 6. microSDカードへOSイメージの書き込み（所要時間：15分）
- [Etcher](https://www.balena.io/etcher/)などのソフトを用いて、使用するmicroSDカードへOSイメージを書き込む。
- Etcherは、圧縮されたままのOSイメージ（拡張子が.img以外）を解凍せずにそのまま扱えておすすめです。

- 参考：Etcher起動時の画面
![etcher_1.PNG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/4d57f18a-994c-eb48-9ddf-f70545395fe6.png)

# 7. Raspberry Pi のSSH有効化の設定
- microSDカード直下フォルダにファイル名「ssh」（空ファイル拡張子なし）で新規作成する。保存の際は、不要なファイル拡張子（.txt等）が付かないよう注意すること。
- OSイメージ書き込み直後にmicroSDカード直下フォルダにアクセスできない場合は、いったんmicroSDカードを抜き＆差しすると、ドライブ認識するのでアクセスできるようになると思います。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/9dbc02c8-bc46-05f3-08e8-569e4888ba9a.png)

# 8. Raspberry Pi  のWi-Fi設定
- あらかじめ以下の設定をおこない、Wi-Fi設定を済ませておきます。
- microSDカード直下フォルダにファイル名「wpa_supplicant.conf」（改行コード：LF、文字コード：UTF-8）で新規作成し、ファイルの内容を以下のとおり設定する。（ssidとパスワードpskは、各自の環境に合わせて設定してください。）

```plaintext:wpa_supplicant.conf
country=JP
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
network={
        ssid="----Your-WiFi-SSID----"
        psk="----PLAIN-PASSPHRASE----"
}
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/0ffac7cd-6e03-e034-471e-546c31abb4bf.png)

# 9. microSDカード の完成
- 完成した microSDカード を、PCからおもむろに抜き取る。

# 10. Raspberry Piの起動
- Raspberry PiにmicroSDカードを挿入し、Raspberry Piを起動する。

# 11. SSHクライアントでRaspberry Piに接続
- PCで、SSHクライアント（TeraTerm 等）を起動し、ホストにRaspberry PiのIPアドレス「192.168.XXX.XXX」またはホスト名「raspberrypi.local」を入力し、OKボタンをクリックし、ssh接続する。
-  SSH認証画面で、ユーザ名とパスフレーズを入力し、「OK」ボタンをクリックする。
- SSHクライアントの使い方がわからない、またはRaspberry PiのIPアドレスがわからない、ホスト名接続できない方は、Raspberry PiにHDMIモニタ、マウス、キーボードを接続し以降の操作をおこなってください。
- デフォルトのホスト名は「raspberrypi.local」ですのでお間違えなく。

```plaintext:デフォルトユーザ名／パスワード
ユーザ名　：pi
パスワード：raspberry
```

- 参考：TeraTerm起動時の画面
![コメント 2020-02-11 214850.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/025ef79c-6217-f0a8-c08c-389da58a6d55.jpeg)

# 12. ネットワーク疎通確認

```plaintext:ネットワーク疎通確認コマンド
$ ping www.yahoo.co.jp
```
- このコマンドで、yahooさんにつながったならネットワークは問題ありません。
- ネットワークが不通の場合は、以降の手順がおこなえないため、ネットワーク環境を確認しましょう。

# 13. RaspberryPiのセットアップ
- まず初めに、以下のコマンドを順次実行し、設定しておくと便利なRaspberry Pi 設定もろもろを済ませておきます。

```plaintext:コマンドプロンプト
// パスワードの変更
$ passwd

// ホスト名変更（Raspberry Piを複数台お持ちの方は一意に変更するとよいかと思います。）
$ sudo vi /etc/hostname
$ sudo vi /etc/hosts

// 再起動（ホスト名変更の反映のため）
$ sudo shutdown -r now

// Raspberry Piの設定（CUIモード）
$ sudo raspi-config

// ファイルシステムの拡張
7 Advanced Options → A1 Expand Filesystem

// ロケール等の変更
4 Localisation Options → I1 Change Locale → ja_JP.UTF-8 UTF-8 → スペース選択* → OK
ja_JP.UTF-8 → OK

// タイムゾーンの変更
4 Localisation Options → I2 Change Timezone → Asia → Tokyo

// Wi-Fi利用国の変更
4 Localisation Options → I4 Change Wi-fi Country → JP Japan

// 終了＆再起動
Finish → Yes
```

# 14. Plex Media Serverのセットアップ
- 以下のコマンドを順次実行し、Plex Media Serverをセットアップします。

```plaintext:コマンドプロンプト
// リポジトリ一覧を更新
$ sudo apt update

// アップグレードの実行（5分程度）
$ sudo apt upgrade
途中、Yキー押下
途中、qキー押下

// exFATフォーマットの有効化
$ sudo apt-get install exfat-fuse exfat-utils

// NTFSフォーマットの有効化
$ sudo apt-get install ntfs-3g

// 作業ディレクトリの作成
$ mkdir ~/Downloads

// ディレクトリ移動
$ cd ~/Downloads

// Plex debパッケージのダウンロード（Ubuntu (16.04+) / Debian (8+) - ARMv7）
$ sudo wget https://downloads.plex.tv/plex-media-server-new/1.18.6.2368-97add474d/debian/plexmediaserver_1.18.6.2368-97add474d_armhf.deb

// Plex debパッケージのインストール
$ sudo dpkg -i plexmediaserver_1.18.6.2368-97add474d_armhf.deb

// plexmediaserverのステータス確認
$ systemctl status plexmediaserver
q

// リポジトリの有効化
// 最後の行のコメントを解除（先頭の#記号を削除する）
$ sudo vi /etc/apt/sources.list.d/plexmediaserver.list

＝＝＝ファイル内容＝＝＝
# When enabling this repo please remember to add the PlexPublic.Key into the apt setup.
# wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O - | sudo apt-key add -
deb https://downloads.plex.tv/repo/deb/ public main
＝＝＝＝＝＝＝＝＝＝＝＝

// Plex公開キーをaptパッケージマネージャーにインポート
$ wget -q https://downloads.plex.tv/plex-keys/PlexSign.key -O-| sudo apt-key add -

// アップデート
sudo apt update

// ポート番号『32400』の確認
$ sudo netstat -lnpt | grep "Plex Media"
tcp        0      0 127.0.0.1:32401         0.0.0.0:*               LISTEN      1273/Plex Media Ser
tcp6       0      0 :::32400                :::*                    LISTEN      1273/Plex Media Ser
```

- 参考：[Plex debパッケージのダウンロード](https://www.plex.tv/ja/media-server-downloads/#plex-media-server)

# 15. Web（Plex Media Server）へアクセス
- 手順14まで完了していれば、他PC（WindowsPC）のChromeなどのブラウザソフトから、Web（Plex Media Server）へアクセスできるかと思います。

- ご自身の環境に合わせて、いずれかのURLでアクセスしてください。
- ログイン認証のためアクセス直後、https://app.plex.tv にリダイレクトされますが、正常の動作です。
- ログイン認証には、Google認証、Facebook認証などが利用できるようです。

http://IPアドレス:32400/web/
http://192.168.XXX.XXX:32400/web/
http://任意のホスト名.local:32400/web/
http://raspberrypi.local:32400/web/

![コメント 2020-02-11 184313.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/d348aee1-9277-06d9-31fc-935fec82bb41.jpeg)

# 16. Web（Plex Media Server）での初期セットアップ
- ログイン認証を済ませると、初期セットアップに進みますので、以下を参考にセットアップを済ませましょう。

![コメント 2020-02-11 184643.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/ef7feaa7-0e03-c84c-aa89-9cf193d8107d.jpeg)

![コメント 2020-02-11 184736.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/652aa392-adaa-153d-1a13-037c547d668f.jpeg)

![コメント 2020-02-11 185510.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/969c0e84-0f2a-5f87-0852-baef2f993b9c.jpeg)

![コメント 2020-02-11 190214.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/fa3b247d-4cb4-acc1-cfa9-b0a9390a5a44.jpeg)

![コメント 2020-02-11 190401.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/07fb55c2-0012-0f61-aae0-47e539dd8ff7.jpeg)

![コメント 2020-02-11 190427.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/f51c674f-eb95-a1ae-8584-b5b5543cb31c.jpeg)

# 17. 参考（外部ドライブのマウント＆アンマウント）

```
// 外部ドライブ（SSD、HDD）の確認
$ sudo fdisk -l

// マウント用ディレクトリの作成
$ sudo mkdir /mnt/linuxbabe

// sdb1ドライブをlinuxbabeディレクトリにマウント
$ sudo mount /dev/sdb1 /mnt/linuxbabe

// マウント後にPlex Media Serverから『ライブラリに追加』をおこなうことで、外部ディスク内のローカルメディアをライブラリに読み込むことができます。
// Plex Media Serverの使い勝手がよければ、外部ディスクの自動マウントの設定などを、個別におこなうとよいと思います。

// linuxbabeをアンマウント
$ sudo umount /mnt/linuxbabe
```

# 18.Plexアプリ
- Plexには、[各種専用アプリ（iPhone、Android、Windows、Amazon Fire TV）](https://www.plex.tv/ja/media-server-downloads/#plex-app)が用意されているようですので、お手元のスマホ、タブレット、Amazon Fire TVなどに、Plexアプリをインストールすることで、利便性がアップすると思います。

# 19.リモートアクセス
- 初期セットアップ時のON、OFFが反映さえているようです、必要に応じて変更を保存しましょう。

![コメント 2020-02-11 223004.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/081c835c-537f-11fb-5940-f403cc98474c.jpeg)

# 20.DLNA
- 初期設定ではOFFになっているようですので、利用される方はONに変更を保存しましょう。

![コメント 2020-02-11 223031.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/240522/a7074bb6-481f-b7b7-9249-7a2faf99999a.jpeg)

# 19. おわりに
いかがでしたでしょうか？意外と簡単にRaspberry pi でのPlex Media Serverを構築できたのではないかなと思います。
今回の記事が、みなさまの学習の参考になれば幸いです。

2020/02/11 TAKAHIRO NISHIZONO