MPD on CentOS Stream 8

LIVA X2にMPDをセットアップし、リビングでのジュークボックスとして使いたくなったので構築メモです。

セットアップはServer with GUIで実施しました。

MPDは標準のレポジトリにはないので、epelとRPM fusionを使えるようにします。

 # dnf install -y --nogpgcheck https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
 # dnf install -y --nogpgcheck https://download1.rpmfusion.org/free/el/rpmfusion-free-release-8.noarch.rpm 

まずはMPDをインストールし、自動起動を有効にしてから起動します。

# dnf install -y mpd
# systemctl enable mpd.service
Created symlink /etc/systemd/system/multi-user.target.wants/mpd.service → /usr/lib/systemd/system/mpd.service.
Created symlink /etc/systemd/system/sockets.target.wants/mpd.socket → /usr/lib/systemd/system/mpd.socket.
# systemctl start mpd.service 
# systemctl status mpd.service 
● mpd.service - Music Player Daemon
   Loaded: loaded (/usr/lib/systemd/system/mpd.service; enabled; vendor preset:>
   Active: active (running) since Fri 2022-11-25 22:56:25 JST; 7s ago
     Docs: man:mpd(1)
           man:mpd.conf(5)
 Main PID: 25226 (mpd)
    Tasks: 3 (limit: 10485)
   Memory: 31.7M
   CGroup: /system.slice/mpd.service
           mq25226 /usr/bin/mpd --systemd

設定ファイルを変更していきます。とりあえず、ネットワーク関連がコメントアウトされているので、記述しておきます。

# vi /etc/mpd.conf
## 以下3行を追記
bind_to_address         "any"
port                    "6600"
auto_update             "yes"

# systemctl restart mpd.service 

外部接続するのにfirewalldの停止と、SELinuxを止めておきます。

# systemctl stop firewalld
# systemctl disable firewalld
# setenforce 0
# vi /etc/selinux/config
SELINUX=enforcing
↓
SELINUX=disabled

MPDのデフォルト出力はPulseAudioですが、alsaに変えます。取り合えずDeviceを調べます。

# aplay -l
**** ハードウェアデバイス PLAYBACK のリスト ****
カード 0: PCH [HDA Intel PCH], デバイス 0: ALC283 Analog [ALC283 Analog]
  サブデバイス: 0/1
  サブデバイス #0: subdevice #0
カード 0: PCH [HDA Intel PCH], デバイス 3: HDMI 0 [HDMI 0]
  サブデバイス: 1/1
  サブデバイス #0: subdevice #0

カード0、デバイス0がヘッドフォン出力なので、ここに出すようにします。

# vi /etc/mpd.conf
## 以下3行を追記
audio_output {
       type            "alsa"
       name            "PCH"
       device          "hw:0,0"
       mixer_type      "none"
}

# systemctl restart mpd.service 

これで任意のクライアントから接続すると、ヘッドフォン端子から音が出るはずです。

次にオンボードのディスクは32GBしかないので、外付けのSSDに音楽を保存するようにします。

UUIDを調べて/sharedにマウントするようにします。UUIDで書けば認識順が変わっても安心です。

# ls -l /dev/disk/by-uuid/ | grep sda
lrwxrwxrwx 1 root root 10 11月 26 17:58 e20b85d7-b1b4-4c4d-a648-ef2818f8c4af -> ../../sda1
# vi /etc/fstab
## 以下1行を追記
UUID=e20b85d7-b1b4-4c4d-a648-ef2818f8c4af /shared ext4 defaults 0 0
# mount -a
# df -m | grep shared
/dev/sda1                239281     1 227055    1% /shared

次はマウントした/sharedをsambaで共有し、Windowsから音楽ファイルをやり取りできるようにします。

# dnf -y install samba
# vi /etc/samba/smb.conf
## 以下8行を追記
[shared]
        path = /shared
        browsable = yes
        writable = yes
        guest ok = no
        read only = no
        force create mode = 777
        force directory mode = 777
# systemctl enable smb.service
# systemctl enable nmb.service
# systemctl restart smb.service
# systemctl restart nmb.service

samba用にユーザを作ります。

# pdbedit -a -u gurees
new password:
retype new password:

これでWindowsから\\ipアドレス\sharedで接続できるようになります。

最後に、MPDのライブラリを/shared/musicに移します。

# cd /shared
# mkdir music
# chmod 777 /shared/music
# vi /etc/mpd.conf
#music_directory "/var/lib/mpd/music"
music_directory "/shared/music"
# systemctl restart mpd.service 

これでWindowsからファイル共有で音楽を転送し、MPDで再生できるようになりました。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)