ReadyMedia (miniDLNA)

2015/05/19 現在でリリースされているバージョンは1.1.4。
minidlna-1.1.4.tar.gz
minidlna-1.1.4_static.tar.gz
両方あるけど、自分でmakeするのは面倒なので static の方をダウンロードする。

wget http://downloads.sourceforge.net/project/minidlna/minidlna/1.1.4/minidlna-1.1.4_static.tar.gz

ダウンロードしたら解凍。

tar -zxvf minidlna-1.1.4_static.tar.gz -C /

本体と設定ファイル、言語ファイルが展開される。
設定を見直します。

vi /etc/minidlna.conf
media_dir=V,/mnt/D/video
friendly_name=katzDLNA

みたいなカンジで。

CentOS6 まではここまでやって

/usr/sbin/minidlnad -R

で終わったのだが、CentOS7 はそうも行かず。
firewall を通過できるようにしなくてはいけない。
とあるSEのリマインダーさまに分かりやすい設定方法が書いてあるので、真似する。

vi /usr/lib/firewalld/services/minidlna.xml
<?xml version="1.0" encoding="utf-8"?>
<service>
    <short>minidlna</short>
    <port protocol="udp" port="1900"/>
    <port protocol="tcp" port="5000"/>
</service>

こんなカンジで保存。
したら

firewall-cmd --permanent --zone=public --add-service=minidlna
firewall-cmd --reload

で、通れるようにしておく。
同時に systemctl のserviceファイルの作り方も言われたとおりにやる。

vi /usr/lib/systemd/system/minidlna.service
[Unit]
Description=minidlna server
After=network.target remote-fs.target nss-lookup.target
 
[Service]
Type=simple
PIDFile=/var/run/minidlna/minidlna.pid
EnvironmentFile=/etc/sysconfig/minidlna
ExecStart=/usr/sbin/minidlnad -R -f $CONFIG_FILE
ExecStop=/bin/kill -SIGTERM $MAINPID

EnvironmentFile で指定したファイルに confファイルの位置を記入しておく。

vi /etc/sysconfig/minidlna
CONFIG_FILE=/etc/minidlna.conf

これで保存。
あとは

systemctl start minidlna

で。
素晴らしい。