epgrecのセットアップ

録画予約のフロントエンドとしてepgrecを利用します。
epgrec 自体は phpで記載してあるので、ApachePHPの用意が必要です。また、番組や録画情報はMySQLのDBで管理しているため、そちらのセットアップも必要になります。rpmを確認し、もし入っていないのであれば必要なrpmを追加する必要があります。
私の環境では、epgrecの導入以外に、録画したtsファイルを格納するためのストレージをrecVGから切り出す作業もありましたのでそちらの手順も記載しておきます。

録画データ置き場のファイルシステム

録画データを置く領域は、OSのファイルシステムのような「小さなファイルが大量」にあるのではなく、大規模なサイズのファイルが大量に置くことにになります。そのため、ex3fsではなく、そのほかのファイルシステムを利用することを検討しました。その結果、

  1. オンラインでのファイルサイズ拡張が容易
  2. 技術的に十分枯れている

という理由でxfsを利用することにしました。

xfsのインストール

yum を利用して、xfsのパッケージをインストールします。

以下、私の環境の情報。

$ rpm -aq | grep xfs
kmod-xfs-0.4-2
xorg-x11-xfs-1.0.2-4*1
xfsdump-2.2.46-1.el5.centos
xfsprogs-2.9.4-1.el5.centos
xfsprogs-devel-2.9.4-1.el5.centos

mkfs.xfsコマンドを利用してxfsファイルシステムを作成します。

$ mkfs.xfs /dev/recVG/videoLV
$ mkdir /var/www/epgrec/video
$ mount -t xfs /dev/recVG/videoLV /var/www/epgrec/video
$ mkdir /var/www/epgrec/video
$ chown apache:apache /var/www/epgrec/video
$ echo "/dev/recVG/videoLV	/var/www/epgrec/video	xfs	defaults	1 2" >> /etc/fstab

/etc/fstabにエントリを記載し、起動時に自動マウントが行われるよう設定を行います。

$ cat /etc/fstab | grep xfs
/dev/recVG/videoLV	/var/www/epgrec/video	xfs	defaults	1 2

php設定

epgrecでは、内部でいくつかのphp拡張パッケージを利用しています。そのため、以下パッケージを yum経由でインストールします。

mysql設定

mysqlデータファイルのlvミラー実施

mysqlのデータの耐障害性を高めるためにLVミラーを実施しておきます。

$ lvcreate -m 1 -L 10G -n mysqlVL rootVG
$ mke2fs -j /dev/rootVG/mysqlLV
$ mount /dev/rootVG/mysqlLV /mnt
$ cp -pr /var/lib/mysql/* /mnt
$ mv /var/lib/mysql /var/lib/mysql.org
$ mkdir /var/lib/mysql
$ umount /mnt
$ mount /dev/rootVG/mysqlLV /var/lib/mysql
$ echo "/dev/rootVG/mysqlLV     /var/lib/mysql          ext3    defaults        1 2" >> /etc/fstab

以下、私の環境の確認結果

$cat /etc/fstab | grep mysql
/dev/rootVG/mysqlLV     /var/lib/mysql          ext3    defaults        1 2
$ mount | grep mysql
/dev/mapper/rootVG-mysqlLV on /var/lib/mysql type ext3 (rw)
databaseの追加作成

http://tadachi.txt-nifty.com/blog/2010/01/centos54epgepgr.html
の手順に従ってDB作成を行いました。

apache設定

httpd.confに 以下の設定を追加しておきました。


    Options FollowSymLinks
    AllowOverride None
    Order allow,deny
    Allow from xxx.xxx.xxx localhost
    DirectoryIndex index.html index.html.var index.php

epgrecソフトウェアセットアップ

epgrecの配布ページ
http://www.mda.or.jp/epgrec/index.php/%E3%83%88%E3%83%83%E3%83%97%E3%83%9A%E3%83%BC%E3%82%B8
のドキュメントに従って作業を行っていきます。

  1. config.phpの編集
  2. 初回起動セットアップ
  3. do-recorde.shのセットアップ

PT2用のサンプルを do-record.sh にコピーします。

  1. getepgのcron.d登録

/etc/cron.d にgetepgをコピーします。コピー後、念のため cron.dのリロードを行います。
 /var/log/messagesを見て、もしパーミッション関連のメッセージが出ていれば修正を行います。

ntpdセットアップ

epgrecでは、予約録画の実行をatコマンドを利用して実行しています。そのため、PCの時計がずれていると録画開始時間がずれてしまいます。PCの時計を正確な時間に合わせるため、ntpdのセットアップを必ず行っておきましょう。

次の日記d:id:tirol_choko:20100610に続く

*1:xorg-x11-xfs はX-windowのフォントサーバなのでファイルシステムの xfsとは関係ありません。