件名の通り。
FreeBSDホストに格納してある写真、動画を各種メディアプレイヤー向けに公開したいが、オリジナルのホストを直接は公開したくないな、というときのため。
jailなら物理的に同じマシンを使いつつ、論理的には別マシンとして振る舞えるので適任である。
jailの作成
jailとくればezjailが定番だが、私はqjailが好き。
qjailについてはこちらを。
以下、qjail installまで終わっている前提で勧める。
flavorにssh-defaultを選んでplexという名前で作成。
$ sudo qjail create -f ssh-default -4 192.168.200.19 plex
Successfully created plex
$ sudo qjail list
STA JID NIC IP Jailname
--- ---- --- --------------- --------------------------------------------------
DS N/A bge0 192.168.200.19 plex
jail plexをスタートし、pkgをインストール
インストールはとにかくpkgコマンドを叩けばOK。
$ sudo qjail start plex
Jail successfully started plex
$ sudo qjail console plex
FreeBSD 10.2-RELEASE (GENERIC) #0 r286666: Wed Aug 12 15:26:37 UTC 2015
Welcome to your FreeBSD jail.
plex /root >
plex /root > pkg info
Bootstrapping pkg from pkg+http://pkg.FreeBSD.org/freebsd:10:x86:64/latest, please wait...
Verifying signature with trusted certificate pkg.freebsd.org.2013102301... done
[plex] Installing pkg-1.5.6...
[plex] Extracting pkg-1.5.6: 100%
Message for pkg-1.5.6:
If you are upgrading from the old package format, first run:
# pkg2ng
(略)
plexmediaserverインストール
そのままplexmediaserverをインストール。
もちろん、マシンは64bitです。
plex /root >uname -a
FreeBSD plex 10.2-RELEASE FreeBSD 10.2-RELEASE #0 r286666: Wed Aug 12 15:26:37 UTC 2015 root@releng1.nyi.freebsd.org:/usr/obj/usr/src/sys/GENERIC amd64
plex /root >pkg install plexmediaserver
(略)
The following 2 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
plexmediaserver: 0.9.12.8.1362
compat9x-amd64: 9.2.902000.201310
(略)
[plex] [1/2] Installing compat9x-amd64-9.2.902000.201310...
[plex] [1/2] Extracting compat9x-amd64-9.2.902000.201310: 100%
[plex] [2/2] Installing plexmediaserver-0.9.12.8.1362...
===> Creating users and/or groups.
Creating group 'plex' with gid '972'.
Creating user 'plex' with uid '972'.
[plex] [2/2] Extracting plexmediaserver-0.9.12.8.1362: 100%
Message for plexmediaserver-0.9.12.8.1362:
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
multimedia/plexmediaserver includes an RC script:
/usr/local/etc/rc.d/plexmediaserver
TO START PLEXMEDIASERVER ON BOOT:
sysrc plexmediaserver_enable=YES
START MANUALLY:
service plexmediaserver start
Once started, visit the following to configure:
http://localhost:32400/web
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
plex /root >
plexmediaserver起動
rc.confに一行加えてさっさと起動。
plex /root >sysrc plexmediaserver_enable=YES
plexmediaserver_enable: -> YES
plex /root >service plexmediaserver start
Starting plexmediaserver.
plex /root >
ブラウザからhttp://<IPアドレス>:32400/webに繋ぐ。
もし「このサーバに権限(permission)がない」というようなことを言われたなら、以下のファイルを変更するといいかもしれない。
「かもしれない」というのは、以下の通り変更したら症状が改善したので、確認のために戻してみたら、二度と症状が再現しないから。
うーん…。
/usr/local/plexdata/Plex Media Server/Preferences.xml
Preferences (略)allowedNetworks="192.168.1.0/255.255.255.0"
いったんそのままにしておく。
plexmediaserver向けにディレクトリをマウント
jailから抜けてホスト側で作業
jailであるplexのファイルシステムは、ホスト側では/usr/jails/plexにある。
/usr/jails/plex/がjail plexのルートディレクトリ。
だからホストの/warehouseにデータがあるとして、/usr/jails/plex/mediaにマウントすれば、jail plexでは/mediaとして見える。
せっかくだからread onlyでね。
$ sudo mount_nullfs -o ro /warehouse /usr/jails/plex/media
jail plexから見えるのを確認したら、ホスト側のfstabに書き込み。
$ sudo sh -c "mount -p|grep /usr/jails/plex/media >> /etc/fstab"
あとはブラウザからplex media serverにつないで、メディアの追加で/mediaを選ぶだけ
以上