この記事の手順でインストールした pms をバージョンアップする場合はこちらの記事をご覧ください。(2012/10/24 追記)

今回は、Debian の現時点の最新版 (squeeze) に pms を導入する手順を紹介します。
※すべて CUI で操作することを想定しています。

  1. deb-multimedia を apt の sources.list に追加
  2. Debian のマルチメディア関連のパッケージを配布するリポジトリ deb-multimedia を apt の sources.list に追加します。
    sudo vi /etc/apt/sources.list
    # sources.list の最下行に追加
    deb http://www.deb-multimedia.org squeeze main non-free

    deb-multimedia-keyring をインストールします。
    セキュリティの警告が出ますが、"Yes" を入力すればインストールできます。
    sudo aptitude update
    sudo aptitude install deb-multimedia-keyring

  3. apt で mediainfo, mencoder, ffmpeg をインストール
  4. pms に必要なマルチメディアパッケージをインストールします。
    ここでもセキュリティの警告が出ますが、"Yes" を入力すればインストールできます。
    sudo aptitude install mediainfo mplayer mencoder ffmpeg

  5. apt で JRE をインストール
  6. pms は java で開発されているため、動作させるためには JRE をインストールする必要があります。
    ここではオープンな java の実装である OpenJDK のJRE をインストールします。
    sudo aptitude install openjdk-6-jre

    複数の JRE をインストールしている場合、OpenJDK の JRE が有効になっていないかもしれないので、次のコマンドで確認します。
    インストールされているのが OpenJDK のみならメッセージが表示されるだけで何も起きません。インストールされている JRE の一覧が表示されたら、OpenJDK を選択します。
    sudo update-alternatives --config java

  7. pms をダウンロード
  8. pms 公式サイト (http://code.google.com/p/ps3mediaserver/) にアクセスし、最新版を入手します。
    各種環境向けのファイルが用意されていますが、ダウンロードするのはファイル名に "generic-linux-unix" がついているものにしてください。
    以下は "pms-generic-linux-unix-1.60.0.tgz" をダウンロードする場合のものです。バージョン番号部分等は適宜読み替えてください。
    wget http://ps3mediaserver.googlecode.com/files/pms-generic-linux-unix-1.60.0.tgz

  9. pms をインストール
  10. tar zxvf pms-generic-linux-unix-1.60.0.tgz
    sudo mv pms-1.60.0 /opt/.
    cd /opt
    sudo chown -R root:root pms-1.60.0
    sudo ln -s pms-1.60.0 pms

  11. pms を設定
  12. cd pms
    sudo vi PMS.conf

    PMS.conf を開くと何やらたくさん書いてありますが、とりあえず下記の設定行を探して記入すれば OK です。
    公開したいディレクトリパスは、例えば /home/hoge/share/video のように指定します。ディレクトリが複数の場合はカンマ "," で区切って記述します。
    language = ja
    folders = (公開したいディレクトリパス)

  13. pms を自動起動する設定
  14. サーバ起動時に pms を自動起動するために、init.d スクリプトにより pms をデーモン化します。
    スクリプトはこちら (http://www.ps3mediaserver.org/forum/viewtopic.php?f=3&t=902) のフォーラムから入手できます。
    wget http://www.ps3mediaserver.org/forum/download/file.php?id=1741\&sid=eaf9e0f97250b087e1bc6c608627a963 -O PS3MediaServer30.zip
    unzip PS3MediaServer30.zip
    sudo mv PS3MediaServer /etc/init.d/.
    sudo chmod a+x /etc/init.d/PS3MediaServer
    sudo chown root:root /etc/init.d/PS3MediaServer

    /etc/init.d/PS3MediaServer ファイルの設定を行います。インストール場所はこのファイルの初期値に合わせましたので、変更が必要なのは下記の行です。
    ここでは root を指定しますが、GUI で pms を設定した場合は、その時のユーザを指定すれば設定が使用されるはずです。
    sudo vi /etc/init.d/PS3MediaServer
    # ユーザとグループを root に変更
    PMSUSER=root
    PMSGROUP=root

    init.d スクリプトの有効化、ログの出力先ディレクトリの作成を行い、pms を起動します。
    sudo update-rc.d PS3MediaServer defaults
    sudo mkdir /var/log/pms
    sudo /etc/init.d/PS3MediaServer start

  15. 動作確認
  16. PS3 などの DLNA クライアントから pms を発見できるか確認します。
    発見できたら PMS.conf の folders で指定したディレクトリにメディアファイルを配置し、再生できるかどうか確認します。
    おそらく、日本語を含むファイル名をうまく扱えないので、下記のトラブルシューティングを参照してください。
    以上で pms の導入は完了です。
    他の Linux でも、導入手順は同じなので参考になるかもしれません。


■ トラブルシューティング ■
  • sudo コマンドが使えない
  • Debian では sudo は標準でインストールされません。
    apt でインストールするか、sudo でコマンドを実行している箇所は root 権限に昇格してから実行してください。

  • unzip コマンドが使えない
  • Debian では unzip も標準でインストールされません。apt でインストールしてください。

  • wget コマンドが失敗する
  • URL に "&" が含まれている場合は、"\" でエスケープする必要があります。
    また、ファイル名を指定して保存する場合は、-O <ファイル名> とします。

  • DLNA クライアントで日本語を含むファイルが表示されない
  • init.d スクリプトで pms を自動起動すると、ロケールの問題で日本語が扱えないようです。
    /etc/init.d/PS3MediaServer ファイルの 2行目あたりに下記の行を追加すると解決します。これはロケールが UTF-8 の場合の例なので、環境に合わせて適宜読み替えてください。
    export LANG=ja_JP.UTF-8

  • 自前で make してインストールした mencoder や ffmpeg を pms が使ってくれない
  • この問題は、おそらくコマンドが /usr/local/bin にインストールされていて、pms はそこを見に行かないからです。
    /etc/init.d/PS3MediaServer ファイルの PATH を設定する行を下記のように書き換えると解決するかもしれません。
    #PATH="$PMS_HOME:${PATH:+$PATH:}/usr/sbin:/sbin"
    PATH="$PMS_HOME:/usr/local/bin:${PATH:+$PATH:}/usr/sbin:/sbin"

  • 設定ファイルを書き換えても反映されていない
  • 設定ファイルを書き換えた後は pms を再起動してください。