CentOSでホームサーバを作ろう
PT2を使って録画する(録画予約編ー前編)
最終更新:
centos-homeserver
-
view
はじめに
EPGrecを使用して録画予約を実現する。
phpmyadminなどのインストールと設定
# yum -y install phpmyadmin
RPMForgeを導入しているので、インストール可能。
# yum -y install php-mbstring
PHPのmbstring拡張を有効にするためにインストール。
apacheのサービス登録と起動
apache自体はphpmyadminのインストール時に併せてインストールされるので、
ここではサービス登録と起動だけを行う。
ここではサービス登録と起動だけを行う。
# chkconfig --level 345 httpd on
# service httpd start
mysql-severパッケージのインストールと設定
# yum -y mysql-server
# chkconfig --level 345 mysqld on
# service mysqld start mysql_secure_installationを実施するためMySQLサーバ起動
# mysql_secure_installation mysqlの初期設定用ツール
以下のような質問形式で設定が可能。
NOTE: RUNNING ALL PARTS OF THIS SCRIPT IS RECOMMENDED FOR ALL MySQL
SERVERS IN PRODUCTION USE! PLEASE READ EACH STEP CAREFULLY!
〜
Enter current password for root (enter for none): まだrootのパスワードを設定していないのでEnter
OK, successfully used password, moving on...
〜
Setting the root password ensures that nobody can log into the MySQL
root user without the proper authorisation.
〜
Set root password? [Y/n] y rootのパスワードを設定するので「y」入力し、パスワード設定
New password:
Re-enter new password:
Password updated successfully!
Reloading privilege tables..
... Success!
Remove anonymous users? [Y/n] y 匿名ユーザを削除する
... Success!
〜
Disallow root login remotely? [Y/n] y rootでのリモートログイン不許可
... Success!
〜
Remove test database and access to it? [Y/n] y テスト用データベース削除
- Dropping test database...
... Success!
- Removing privileges on test database...
... Success!
〜
Reload privilege tables now? [Y/n] y 権限のリロード
... Success!
Cleaning up...
All done! If you've completed all of the above steps, your MySQL
installation should now be secure.
Thanks for using MySQL!
ローカルネットワーク内でphpmyadminを使用できるようにする。
インストール時に設定ファイルが作成されているので、それを修正する。
# vi /etc/httpd/conf.d/phpmyadmin.conf
<Directory "/usr/share/phpmyadmin">
Order Deny,Allow
Deny from all
Allow from 127.0.0.1
Allow from 192.168.1 ←内部ネットワークアドレスを追加
</Directory>
# service httpd restart ←httpd再起動
phpmyadminの事前設定
phpmyadminの設定ファイルを開いて、
# vi /usr/share/phpmyadmin/config.inc.php
blowfish_secretに値を設定する。
(値は何でも良い。パスワードでは無く、クッキーの暗号化に用いるキーを設定するだけなので。)
(値は何でも良い。パスワードでは無く、クッキーの暗号化に用いるキーを設定するだけなので。)
$cfg['blowfish_secret'] = 'hogehoge123'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */
epgrecが使用するMySQL用アカウントの作成
http://(サーバーのアドレス)/phpmyadmin を開き、
先程作成したルートアカウントでログインする。
そして、以下の手順に従いepgrec用のMySQLアカウントを作成する。
(同名のデータベースも作成して、そのデータベースに対して全ての権限を与える。)
先程作成したルートアカウントでログインする。
そして、以下の手順に従いepgrec用のMySQLアカウントを作成する。
(同名のデータベースも作成して、そのデータベースに対して全ての権限を与える。)
- ルートアカウントでログイン
- 「特権」のリンクをクリック
- 「新しいユーザを追加する」のリンクをクリック
- 「新しいユーザを追加する」の画面で以下の作業
- ユーザ名:epgrec ←例なのでこれ以外でも構わない
- パスワード:epgrec ←例なのでこれ以外でも構わない
- ユーザ専用データベース:「同名のデータベースを作成してすべての特権を与える」
- 画面最下部の「実行する」ボタンをクリック
作成が問題なく終了したら、一度ルートをログアウトして
新しく作成したユーザ&パスワードでログインできることを確認する。
新しく作成したユーザ&パスワードでログインできることを確認する。
- 「データベース」をクリック
- ユーザ名と同名のデータベースが作成されていることを確認
- 同名のデータベースをクリック
- 「操作」タブをクリック
- 下部の照合順序のプルダウンメニューを「utf8_unicode_ci」に変更して
「実行する」をクリック - 同名のデータベースの照合順序が「utf8_unicode_ci」に変化したことを確認。
その他の事前設定
録画済み一覧にサムネイルを追加する機能を使うのであれば、ffmpegを導入する。
# yum -y install ffmpeg
EPGrecの導入(事前準備)
基本的にEPGrecの開発元の手順にそって導入を行う。
また「CentOS5.4録画サーバ機にEPG対応録画フロントエンド(epgrec)を入れる」も参考にした。
また「CentOS5.4録画サーバ機にEPG対応録画フロントエンド(epgrec)を入れる」も参考にした。
epegdumpr2の導入
# tar xfz epgdumpr2.tar.gz
# cd epgdumpr2
# make
# cp ./epgdump /usr/local/bin/
atコマンドの導入とapacheユーザの設定
予約録画のためatコマンドをインストールする。
# yum -y install at
atコマンドを利用不可のユーザにapacheユーザが含まれていないことを確認する。
# cat /etc/at.deny
apacheユーザがatコマンドを実行するので、ログイン可能なユーザに変更する。
# cat /etc/passwd | grep apache
apache:x:48:48:Apache:/var/www:/sbin/nologin
↑デフォルトでは/sbin/nologinに設定されているので、ログイン不可。
# usermod -s /bin/bash apache ←ログインシェルを/bin/bashに設定してログイン可能にする。
# cat /etc/passwd | grep apache
apache:x:48:48:Apache:/var/www:/bin/bash
↑ログインシェルが変更されていることを確認。
epgrecの導入
開発元のHPから最新版のepgrecを入手して、以下のコマンドで展開する。
(注:pオプションを付与して展開ファイルのパーミッションを維持すること)
(注:pオプションを付与して展開ファイルのパーミッションを維持すること)
# tar xfzp epgrec-20100322.tar.gz -C /var/www/html/
配下の全ファイルの所有者:グループを変更
# cd /var/www/html/epgrec
# chown -R apache:apache ./
/var/www/epgrec/config.php.sampleをconfig.phpにリネーム。
# mv ./config.php.sample ./config.php
なお、初期設定時の地デジチャンネルスキャン処理に関する設定は、
日経Linuxのものが修正されて、開発元の最新版epgrecに導入されているので、
(※日経Linuxのgrscanコマンドが存在したら、地デジスキャン設定処理を実行する部分が追加されている。)
特に変更する必要は無い。(ありがたいことです。)
日経Linuxのものが修正されて、開発元の最新版epgrecに導入されているので、
(※日経Linuxのgrscanコマンドが存在したら、地デジスキャン設定処理を実行する部分が追加されている。)
特に変更する必要は無い。(ありがたいことです。)
config.phpの設定では、$RECORD_MODEの設定等もあるが
とりあえず、特に変更しなかった。(デフォルトのまま)
とりあえず、特に変更しなかった。(デフォルトのまま)
do-record.shの設定(録画用のシェルスクリプト)
PT2を使用しているので、do-record.shは以下のようにdo-record.sh.pt1をリネームする。
# cp -a do-record.sh.pt1 do-record.sh
このスクリプトで録画処理が実行できるかを確認する。
一旦、一般ユーザになってから以下を実行する。
一旦、一般ユーザになってから以下を実行する。
$ OUTPUT=NHK-1ch.ts CHANNEL=C48 DURATION=10 TUNER=0 MODE=0 TYPE=GR /var/www/html/epgrec/do-record.sh
チャンネルの所には、事前に調べておいた番号を設定する。
準備編で記述されているように、自分の地域ではNHK総合がケーブルテレビのC48に割当られていた。
準備編で記述されているように、自分の地域ではNHK総合がケーブルテレビのC48に割当られていた。
- 参考