﻿********************************************************************************
   mpdweb install編
                                                              2019.12.27 Ver1.35
                                                              by.Mikio.Shiratori
********************************************************************************

1.httpd,PHPを使用できるようにしておく。
    volumio2については別途
      Readme_mpdweb_volumio2.668以上.txt
      Readme_mpdweb_volumio2初期.txt
   でベースを作成
  mpd,httpd,PHPが使用できる環境ができた前提です。

2.モジュールをダウンロード(このファイルを見ているということは完了している)
  アーカイブファイル： mpdweb_{Version}_{Date}.tar.gz  
     {Version}:バージョン
     {Date}   :アーカイブした日付
  をインストールするサーバに持って行って下さい。
  voyagempd/volumioなどミュージックデータのディレクトリ経由で持って行けます。
  環境によって異なるでしょうから方法は省略します。
/////////////////////////////////////////////////////////////////////////////////
※ mpdweb_inst.zipをダウンロードでShellによるインストールができます。
  以下の自動化となります。
/////////////////////////////////////////////////////////////////////////////////

3.インストールするディレクトリを作成
3.1.ubuntu/debianなどの環境はバージョンによる。ディレクトリを確認すれば分かります。
  # cd /var/www
  または
  # cd /var/www/html

3.2.ディレクトリを作成
  # mkdir mpdweb
  # cd mpdweb
  downloadしたmpdweb_{Version}_{Date}.tar.gzをコピーする。
  # cp {downloadしたファイルを置いたディレクトリ/}mpdweb_{Version}_{Date}.tar.gz . 

4.ダウンロードしたアーカイブファイルを展開する
  # tar xzvf mpdweb_{Version}_{Date}.tar.gz 
  ダウンロードしたファイルに合わせてください
  # chown -R -f www-data:www-data mpdweb.php setting
  # chmod -R -f 0777 setting
  # chmod 0755 shell
  # chmod 0755 shell/*

  ※MPD Host切り替え/Favorites(お気に入り)を使用する場合,settingディレクトリを0777にしてメンテナンスできるようにする。

5.mpdweb TaskServerの設定
  mpdwebからVolumio2の開始/終了を行うことができる。
  mpdweb Ver1.35以降に実装している。
  volumio-rc2.668で使用確認している。、
  「pyson」を使用しているが、volumio-rc2.668では使用可能となっている。
  Volumio/volumio-rc2初期では
    volumioコマンド「/{volumio.....}/volumio.sh」がないので使用できない。
  Volumio2のインストールした環境に設定する。
  Volumio2のイントール機器でmpdwebを使用しない場合も一旦downloadしたmpdweb_{Version}_{Date}.tar.gzを展開する
  mpdwebをインストールしたディレクトリに移動
  # su -
  # cd {mpdweb Install Directory}
  # chmod 0755 init.d/mpdtask

  # cd /etc/init.d
  # ln -s {mpdweb Install Directory}/init.d/mpdtask
 Auto Startの設定
  # systemctl enable mpdtask
  # /etc/init.d/mpdtask start

  サービスを停止する場合
  # /etc/init.d/mpdtask stop
 Auto Startを止める場合
  # systemctl disable mpdtask

  mpdweb TaskServerは
   {mpdweb Install Directory}/init.d/mpdtask
   {mpdweb Install Directory}/setting/mpdtask.xml
   {mpdweb Install Directory}/shell/mpdtaskend
                             /shell/mpdtaskserver
                             /shell/mpdtaskserver.pl
                             /shell/mpdstate.pl   ....mpd.conf編集時
   が必要

6.mpdwebの機能Mountを使用する場合
  mpdweb機能で設定したNetDriveをMountすることができる。
  mpdweb Ver1.36以降に実装している。

  mpdwebをインストールしたディレクトリに移動
  # su -
  # cd {mpdweb Install Directory}
  # chmod 0755 init.d/mpdmount

  mpdwebの機能Mountは
   {mpdweb Install Directory}/init.d/mpdmount
   {mpdweb Install Directory}/setting/mpdsetting.xml : セッティング画面用設定XML
   {mpdweb Install Directory}/shell/mpdmount.pl
   {mpdweb Install Directory}/mpdsetting.php         : セッティング画面
  が必要

 設定方法1
 (1)NowPlay(現在再生中の画面) [...]Functionを選択
 (2)MPDWeb Configを選択
 (3)画面で設定できる

 設定方法2
  mount.d/mount_1.confを編集(Linux:mount Command参照)

 設定方法1/2いずれかの方法でMountできるように設定
  # su -
  # cd /etc/init.d
  # ln -s {mpdweb Install Directory}/init.d/mpdmount
  # systemctl enable mpdmount
  # /etc/init.d/mpdmount start


7.mpdwebのstartupを場合使用する
  設定したStartUpShellを起動することができる。
  mpdweb Ver1.36以降に実装している。

  mpdwebをインストールしたディレクトリに移動
   # chmod 0755 init.d/start.d
   # cd start.d
   以下に実行可能なShellを置いておくとReboot時起動する。
    File名.confとする

  起動設定
   # cd {mpdweb Install Directory}
   # chmod 0755 init.d/mpdstartup

   # cd /etc/init.d
   # ln -s {mpdweb Install Directory}/init.d/mpdstartup
  Auto Startの設定
   # systemctl enable mpdstartup
   # /etc/init.d/mpdtask start

  サービスを停止する場合
   # /etc/init.d/mpdtask stop
  Auto Startを止める場合
   # systemctl disable mpdstartup

  Volumio2停止をサンプルとして用意しているが使用することができる
  mpdwebをインストールしたディレクトリに移動
   # cd start.d
   # mv startp1.conf.sample startp1.conf
   # chmod 0755 startp1.conf

    Volumio2の開始はかなり遅いので起動を監視して停止するようにしている。
    Volumio2を使用することもあるためにVolumio2には手を入れないため。

    Volumio2が停止しない場合,(RasberyPiシリーズの環境で起動までの起動までの時間が掛かる場合)
     startp1.confの設定を調整
      ${MPDENDKICK} "/volumio/app/plugins/system_controller/volumio_command_line_client/volumio.sh vstop" "/usr/local/bin/node /volumio/index.js" {Time1} {Time2} {Time3} &
       {Time1}:WaitSec    : 初期値:30 :起動まで監視の秒数               : 停止するために起動待ちしているが設定の秒数までに起動したかったので大きくする。
       {Time2}:SleepSec   : 初期値:2  :監視にためのSleep秒数 (変える必要はない)
       {Time3}:MiniWaitSec: 初期値:20 :起動していない場合の最低待ち秒数 : 変える必要はないが無駄に監視してもと思う場合,{Time1}:WaitSec以下を設定する、

8.ウェブブラウザからアクセスする
 ディレクトリまで指定してアクセスする場合
   # ln -s mpdweb.php index.php

8.1.ubuntu/debianなどディフォルトでの場合(Port:80)
   ブラウザから
     http://{ip Address}/mpdweb

   volumio2はnode.jsとportを別にする。設定したPortが88の場合
    http://{ip Address}:88/mpdweb

8.2.モジュール名でアクセスする場合
   ubuntu/debianなどディフォルトでの場合(Port:80)
   ブラウザから
    http://{ip Address}/mpdweb/mpdweb.php

   volumio2はnode.jsとportを別にする。設定したPortが88の場合
    http://{ip Address}:88/mpdweb/mpdweb.php

-- 以下 共通 ---------------------------------------------------------------

9.設定を行う
  setting/mpdconfig.xmlがxml形式の設定ファイル。詳細は「Readme_mpdconfig.txt」参照

  簡易的には..

  voyagempd/volumio/volumio2などに直インストールした場合は特にしなくても取り合えず動く
  mpdが動作していないPCから使用する場合
  # vi setting/mpdconfig.xml
  次の箇所を変更
  <Mpd_net>
  <host>{MPDの動作PC ip Address }</host>

  ウェブブラウザからアクセスする
  http://{ip Address}/mpdweb.php


10.MPD Host切り替え/Favorites(お気に入り)を使用する準備
    http://{ip Address:port}/mpdweb/mpdweb.php
  で通常にアクセスする。

  1.下部|<|をクリックし"Favorites"(お気に入り)バーを表示
  2.Getボタンをクリック"Favorites"(お気に入り)を追加。
    設定ファイルがなければ自動生成する
    追加できない場合,
    settingディレクトのパーミッションを確認する。
     cd {mpdwebインストールディレクトリ}
     # chmod -R -f 0777 setting

     setting/mpdmyset.xmlが生成される。

     mpdmyset.xml.sampleを見て設定を行う。(現在,手動で設定する方法のみ)

11.IPAddressを固定化する(cui)
  $ su -
  # cd /etc
  # vi dhcpcd.conf

  interface eth0
  static ip_address=192.168.x.xxx/24     ----- IPAddress
  static routers=192.168.x.x             ----- Gateway IP
  static domain_name_servers=192.168.x.x ----- DNS IP
