foltiaのインストール:設定編

ここまで完了したら、後はfoltiaのデータベースを作成してwebからアクセス出来るようにするだけですね。
と言うわけで、先にデータベース周りの設定を行います。
とはいっても、postgresql自体を使ったことがないので、ここは素直にデフォルトのままで。
どうせ普段使うのはmysqlですから。

参考にするのは、foltiaのインストールマニュアルあたり。

まずはperlとPHPの設定ファイルをコピーして編集する。
perlとPHPの設定ファイルは以下にあるので、コピーする

perl:
[root@localhost php]# cp /home/foltia/perl/foltia_conf1.pl.template /home/foltia/perl/folt
ia_conf1.pl
PHP:
[root@localhost php]# cp /home/foltia/php/foltia_config2.php.template /home/foltia/php/fol
tia_config2.php

で、引き続き設定を更新。
保存フォルダが前回設定した「/hdd2/foltia」に変更するぐらいで他は変更の必要ないはず。
あ、postgresqlにパスワードだけは設定しておく方が良いかもしれません。

[root@localhost php]# vi /home/foltia/perl/foltia_conf1.pl
$recfolderpath = ‘/hdd2/foltia’;                #録画ファイルを置くPATH
 [root@localhost php]# vi /home/foltia/php/foltia_config2.php
$recfolderpath = ‘/hdd2/foltia’;        //録画ファイルの保存先のパス。

次に、データベースに登録するテーブルの編集。
/home/foltia/mktable.txt
放送局のデータがメインになります。自分の環境に合わせた設定で。
設定内容は省略します。foltiaのインストールガイドに沿って設定すればほぼおk。

編集が終わった後は、postgresqlの設定。
ここも、ほぼインストールガイドそのままで。

[root@localhost php]# su – postgres
-bash-3.2$ initdb –encoding=EUC_JP
-bash-3.2$ exit
[root@localhost php]# /etc/init.d/postgresql start
[root@localhost php]# chkconfig postgresql on
[root@localhost php]# su – postgres
-bash-3.2$ createuser –no-adduser –no-createdb –password foltia
-bash-3.2$ createdb –owner foltia foltia
-bash-3.2$ exit
[root@localhost php]# vi /var/lib/pgsql/data/postgresql.conf
#listen_addresses = ‘localhost’          # what IP address(es) to listen on;
→listen_addresses = ‘localhost’          # what IP address(es) to listen on;
[root@localhost php]# /etc/init.d/postgresql restart

最後にpostgresqlにさっきのデータベース作成ファイルを流し込む

[root@localhost php]# su – foltia
[foltia@localhost ~]$ psql -f mktable.txt foltia
~~~ログ~~~

この中で、ERRORの箇所が幾つか見受けられますが、以下のものは正常動作です。
psql:mktable.txt:2: ERROR:  table “foltia_program” does not exist
→もともとテーブルを削除して作成するため、初回はテーブルが存在しません。
psql:mktable.txt:264: ERROR:  multiple primary keys for table “foltia_station” are not allowed
→テーブルにプライマリキーを設定しているのですが、作成してる時点で設定してるためエラーが出て当然です。
無視して大丈夫。
その後、しょぼかるプログラムダウンロードを最初に行います。

[root@localhost php]# su – foltia
[foltia@localhost ~]$ /home/foltia/perl/getxml2db.pl long
~~~ログ~~~

今回は、このログの内容を気にしません。ウェブの設定が終わってから取得できてるかを確認します。
後は、cronで定時的にチェックを行うようにすれば終了。

[foltia@localhost ~]$ crontab -e
no crontab for foltia – using an empty one
#以下の1行を追加
7 * * * * /home/foltia/perl/schedulecheck.pl > /dev/null 2>&1

とりあえずここまで。
次回はウェブサーバ側の設定を貪ります。

カテゴリー PTシリーズ


BlueOnyxにPEARをインストールする

PHPのライブラリパッケージであるPEARをインストールする。
こいつを入れることで、データベースアクセスからGPS周りのコードが整理できて便利。
Twitterまわりのサブセットも使えるし、XML系もそろってますしね。

とりあえずいつものようにyumでインストールをする。

[root@localhost ~]# yum -y install php-pear
~~~ログ~~~
Error: Missing Dependency: php = 5.1.6-24.el5_4.5 is needed by package php-devel-5.1.6-24.el5_4.5.i386 (updates)
The program package-cleanup is found in the yum-utils package.

なんかエラーだって言われる。
そういえば、PHPを5.2にしたことで通常使うリポジトリの5.1.6は使えなくなっていたんだった。
というわけで、PEARもPHP5.2をインストールしたものと同じリポジトリを直接指定する。
こういうときのために、リポジトリはOFFでも保存しておいたほうが便利。

[root@localhost ~]# yum -y –enablerepo=utterramblings install php-pear
~~~ログ~~~
Complete!

難なくインストール完了。
ちなみに、インストールに失敗した5.1.6のpearは1.4.9、今回入ったのは1.7.2。
えらい違いますな(^^;
とりあえず一覧を取得しておきます。

[root@localhost ~]# pear list
Warning: require_once(PEAR.php): failed to open stream: Operation not permitted in pearcmd.php on line 52

怒られた。
とりあえずsafemodeが行けないのかと思い外す。
さらにアップグレードも一緒にやる。
safemodeにするには、BlueOnyxのコントロールパネル>セキュリティ>PHP Settingsから選べばいいだけ。

[root@localhost ~]# pear channel-update pear.php.net
[root@localhost ~]# pear upgrade-all
[root@localhost ~]# pear upgrade –force PEAR
[root@localhost ~]# pear list
Failed loading /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so:  /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so: undefined symbol: zend_unmangle_property_name_ex
Installed packages, channel pear.php.net:
=========================================
Package          Version State
Archive_Tar      1.3.5   stable
Console_Getopt   1.2.3   stable
PEAR             1.9.0   stable
Structures_Graph 1.0.3   stable
XML_RPC          1.5.3   stable
XML_Util         1.2.1   stable

インストールはできたっぽい。しかし、最初のFailed loadingが気になる。loader_linが5.1なので、これを5.2に変更する必要がある。

[root@localhost ~]# vi /etc/php.d/ioncube.ini
;zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.1.so
zend_extension = /home/solarspeed/ioncube/ioncube_loader_lin_5.2.so

これでもう一度listを取得すると怒られませんでした。
あとはPHPにPEARのパスを通すようにします。
コントロールパネル>セキュリティ>PHP SettingsのOpen Basedirの最後に
:/usr/share/pear/
を追加します。これでOK。

あとは、適当に使いそうなpearをあらかじめ入れておきます。

ツイッター関係のPEAR群
[root@localhost ~]# pear install HTTP_OAuth
→まだアルファ版だよと怒られる
[root@localhost ~]# pear install HTTP_OAuth-alpha
→Net_URL2、HTTP_Request2、HTTP_Oauthがインストールされる
[root@localhost ~]# pear install Services_Twitter
→まだベータ版だよと怒られる
[root@localhost ~]# pear install Services_Twitter-beta
→ Service_Twitterがインストールされる

携帯電話関係のPEAR群
[root@localhost ~]# pear install Net_UserAgent_Mobile
→Net_UserAgent_Mobileがインストールされる。
[root@localhost ~]# pear install Net_UserAgent_Mobile_GPS
→まだアルファ版だと怒られる。
[root@localhost ~]# pear install Net_UserAgent_Mobile_GPS-alpha
→Net_UserAgent_Mobile_GPSがインストールされる。
[root@localhost ~]# pear install Net_IPv4
→Net_IPv4がインストールされる。

メール送受信やチェックのためのPEAR群
[root@localhost ~]# pear install Mail
→Mailがインストールされる。
[root@localhost ~]# pear install Net_Socket
→Net_Socketがインストールされる。

Amazon APIを使うためのPEAR群
[root@localhost ~]# pear install Services_Amazon
→まだベータ版だと怒られる
[root@localhost ~]# pear install Services_Amazon-beta
WARNING: “pear/HTTP_Request” is deprecated in favor of “pear/HTTP_Request2″
WARNING: “pear/Net_URL” is deprecated in favor of “pear/Net_URL2″
→上記2点が近いものがインストールされていると怒られ、しかしそれらを含めXML_Parser、XML_Serializer、Services_Amazonがインストールされる

こうやってみると簡単ですね。
いつでもPEARならインストールできるので、必要になった時にあとはインストールするようにしましょう。
今現在のPEARインストール状況は以下。

[root@localhost ~]# pear list
Installed packages, channel pear.php.net:
=========================================
Package                  Version State
Archive_Tar              1.3.5   stable
Console_Getopt           1.2.3   stable
DB                       1.7.13  stable
HTTP_OAuth               0.1.7   alpha
HTTP_Request             1.4.4   stable
HTTP_Request2            0.5.1   alpha
MDB2                     2.4.1   stable
Mail                     1.1.14  stable
Net_IPv4                 1.3.1   stable
Net_Socket               1.0.9   stable
Net_URL                  1.0.15  stable
Net_URL2                 0.3.1   beta
Net_UserAgent_Mobile     1.0.0   stable
Net_UserAgent_Mobile_GPS 0.1.1   alpha
PEAR                     1.9.0   stable
Services_Amazon          0.8.0   beta
Services_Twitter         0.5.0   beta
Structures_Graph         1.0.3   stable
XML_Parser               1.3.2   stable
XML_RPC                  1.5.3   stable
XML_Serializer           0.20.0  beta
XML_Util                 1.2.1   stable

PEARパッケージ作ろうかな。ANPソースが使えるような。

カテゴリー CentOS(BlueOnyx), サイト構築


HTTPのリダイレクトを切る

BlueOnyxの設定に、リダイレクト機能があります。
実は、http://anplabo.com/ と設定されたサイトがあった場合、必ずhttp://www.anplabo.com/ へ転送されます。
これは若干不都合があるため、リダイレクト機能を切ります。

[root@localhost ~]# vi /usr/sausalito/handlers/base/apache/virtual_host.pl 
RewriteEngine on
このあとの3行をコメントアウトにする
#RewriteCond %{HTTP_HOST}                !^$vhost->{ipaddr}(:80)?\$
#RewriteCond %{HTTP_HOST}                !^$vhost->{fqdn}(:80)?\$ [NC]
#RewriteRule ^/(.*)                      http://$vhost->{fqdn}/\$1 [L,R=301]
RewriteOptions inherit

あとはApacheを再起動して終了。

ちなみに前もって作ってしまったサイトがあった場合は
/etc/httpd/conf/vhosts/site*
の中身を同じようにコメントアウトする必要があります。
その辺の設定とかは次回のサイト設定をしてからですかね~。

カテゴリー CentOS(BlueOnyx), ウェブ設定


Webから操作できる録画ツールfoltiaをインストールする

foltiaは、しょぼかるを利用した自動録画ができるツール。
webでも管理できるので、今回の目的にはぴったりだということで。

今回はここを参考にインストールをすることにします。
FoltiaHD インストール on CentOS
まずは使えるようにするためのツールをインストール。

[root@localhost ~]#yum -y install postgresql-devel php-pgsql ImageMagick gcc-c++
~~~ログ~~~
[root@localhost ~]# wget http://nchc.dl.sourceforge.net/sourceforge/cpan2rpm/cpan2rpm-2.027-1.noarch.rpm
~~~ログ~~~
[root@localhost ~]# rpm -Uvh cpan2rpm-2.027-1.noarch.rpm
[root@localhost ~]# rm -f cpan2rpm-2.027-1.noarch.rpm

次にffmpegを使うためにインストール。
でも、リポジトリは別の場所のほうが良いらしい。

[root@localhost ~]# vi /etc/yum.repos.d/dag.repo
[dag]
name=Dag RPM Repository for Redhat EL5
baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag
enabled=0
gpgcheck=1
gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt

PHP5.2のときと同じような方法でリポジトリを追加。(普段は使わないからこの形にしてみました)

[root@localhost ~]# yum -y –enablerepo=dag install yasm git
Complete!
[root@localhost ~]# mkdir /tmp/install/
[root@localhost ~]# cd /tmp/install/
[root@localhost install]# wget http://www3.mplayerhq.hu/MPlayer/releases/codecs/essential-20071007.tar.bz2
[root@localhost install]# tar jxvf essential-20071007.tar.bz2
[root@localhost install]# mkdir /usr/local/lib/codecs
[root@localhost install]# mv /tmp/install/essential-20071007/* /usr/local/lib/codecs/
[root@localhost install]# chmod -R 755 /usr/local/lib/codecs/
[root@localhost install]# git clone git://git.videolan.org/x264.git
Initialized empty Git repository in /tmp/install/x264/.git/
[root@localhost install]# cd x264
[root@localhost x264]# ./configure –enable-shared
[root@localhost x264]# make && make install
[root@localhost x264]# cd /tmp/install/
[root@localhost install]# wget http://jaist.dl.sourceforge.net/sourceforge/faac/faad2-2.7.tar.bz2
[root@localhost install]# cd faad2-2.7
[root@localhost faad2-2.7]# sh bootstrap
Ready to run ./configure
[root@localhost faad2-2.7]# ./configure –prefix=/usr
[root@localhost faad2-2.7]# make && make install
[root@localhost faad2-2.7]# cd /tmp/install/
[root@localhostinstall] wget http://apt.sw.be/redhat/el5/en/i386/RPMS.dag/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@localhost install] rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@localhost install] rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm
[root@localhost install] sed -i “s/enabled = 1/enabled = 0/g” /etc/yum.repos.d/rpmforge.repo
[root@localhost install] yum -y –enablerepo=rpmforge install a52dec-devel faac-devel
[root@localhost install] echo “/usr/local/lib” >> /etc/ld.so.conf.d/lib.conf
[root@localhost install] ldconfig
[root@localhost install] svn co svn://svn.mplayerhq.hu/mplayer/trunk mplayer
[root@localhost install] svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
[root@localhost install]# cd mplayer
[root@localhost mplayer]# ./configure –prefix=/usr
[root@localhost mplayer]# make && make install
[root@localhost mplayer]# cd /tmp/install/ffmpeg/
[root@localhost ffmpeg]# ./configure –enable-libmp3lame –enable-libx264 –enable-libxvid –enable-libfaac –enable-libfaad –enable-pthreads –enable-gpl –enable-shared –enable-nonfree –prefix=/usr
ERROR: libmp3lame not found

あれ、lameがないって言われる。
まあ、mp3自体は使うつもりはないんだけど、エラーでインストールできないのもなんだし。

[root@localhost ffmpeg]# cd ../
[root@localhost install]# wget http://downloads.sourceforge.net/project/lame/lame/3.98.2/lame-398-2.tar.gz
[root@localhost install]# tar xzf lame-398-2.tar.gz
[root@localhost install]# cd lame-398-2
[root@localhost lame-398-2]# ./configure –prefix=/usr

いざlibmp3lameも入れたしもう一度チャレンジ!

[root@localhost lame-398-2]# cd /tmp/install/ffmpeg/
[root@localhost ffmpeg]# ./configure –enable-libmp3lame –enable-libx264 –enable-libxvid –enable-libfaac –enable-libfaad –enable-pthreads –enable-gpl –enable-shared –enable-nonfree –prefix=/usr
ERROR: libxvid not found

今度はlibxvidですか。
こいつはパラメータで指定してるから入れないと無理だよなぁ…というわけで入れる。

[root@localhost ffmpeg]# cd ../
[root@localhost install]# wget http://downloads.xvid.org/downloads/xvidcore-1.2.2.tar.gz
[root@localhost install]# tar xzf xvidcore-1.2.2.tar.gz
[root@localhost install]# cd xvidcore/build/generic/
[root@localhost generic]# ./configure –prefix=/usr
[root@localhost generic]# make && make install

よし、xvidも入れ終わったし、3度目の正直!

[root@localhost generic]# cd /tmp/install/ffmpeg/
[root@localhost ffmpeg]# ./configure –enable-libmp3lame –enable-libx264 –enable-libxvid –enable-libfaac –enable-libfaad –enable-pthreads –enable-gpl –enable-shared –enable-nonfree –prefix=/usr

お、通ったっぽい。後はmake&installだな。

[root@localhost ffmpeg]# make && make install
[root@localhost ffmpeg]# cd /tmp/install/

mplayerもffmpegもインストールは結構時間がかかるから気をつけたほうがいいです。
続いてPerlの設定を。

[root@localhost install]# cpan2rpm –instal Time::HiRes
エラー: マクロファイル内で “%_gpg_name” を設定しなければなりません。

なんか怒られた。パラメータを追加すれば通るらしい?

[root@localhost install]# cpan2rpm –no-sign –install Time::HiRes
[root@localhost install]# cpan2rpm –no-sign –install Schedule::At
[root@localhost install]# cpan2rpm –no-sign –install DBI
[root@localhost install]# wget http://search.cpan.org/CPAN/authors/id/M/MN/MNOONING/PlRPC/PlRPC-0.2020.tar.gz
[root@localhost install]# tar xvf PlRPC-0.2020.tar.gz
[root@localhost install]# cpan2rpm –no-sign –install PlRPC-0.2020.tar.gz
[root@localhost install]# cpan2rpm –no-sign –install Net::Daemon
[root@localhost install]# cpan2rpm –no-sign –install PlRPC-0.2020.tar.gz

なんか依存関係で文句言われる。とりあえずおまじない的に入れることにする。
ただ、どうやってもWin32::ODBCが入れられない。バージョンがないとか言われる。
Win用だからCentOSには入れられないのでしょうかね?
ここでふとyumのほうがどうなっているかを確認する。
BlueOnyxだから、この辺入ってるかなーって…

[root@localhost install]# yum -y install perl-DBI
~~~ログ~~~
Package perl-DBI-1.52-2.el5.i386 already installed and latest version

あれ、入ってるじゃないですか。
というわけで、面倒なのでここからはyumでインストールする。

[root@localhost install]# yum -y install perl-DBD-Pg
Complete!
[root@localhost install]# yum -y install perl-Jcode
Package matching perl-Jcode-0.87-0BQ1.i386 already installed.

あとは、foltiaをコピーして終了。

[root@localhost install]# su – foltia
[foltia@localhost ~]$ svn co http://svn.dcc-jpl.com/foltia/trunk foltia
[foltia@localhost ~]$ mv foltia/install/* /home/foltia/

ウェブ設定周りは、バーチャルドメイン関係の設定を終わらせてから見ることにします。

カテゴリー PTシリーズ


PT2で試験録画をしてみる

無事インストールが終わったら、録画テストをしましょう。
この時既に録画ツール等はすべて入れ終わってるので録画することが可能なのです。

念のため、依存関係を調べておきます。

[root@localhost ~]# ldd /home/foltia/pt1-c44e16dbb0e2/recpt1/recpt1
        linux-gate.so.1 =>  (0×006af000)
        libpcsclite.so.1 => /usr/lib/libpcsclite.so.1 (0×006f4000)
        libarib25.so.0 => not found
        libm.so.6 => /lib/libm.so.6 (0×00c9d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0×00c83000)
        libc.so.6 => /lib/libc.so.6 (0×00b35000)
        libdl.so.2 => /lib/libdl.so.2 (0×00c7d000)
        /lib/ld-linux.so.2 (0×00b17000)

なにやらlibarib25.so.0が見当たらないとのこと。
これは依存モジュールへパスが通っていないのが原因か。
というわけで、どうして失敗したのかは不明だが明示してあげることに。

[root@localhost ~]# echo “/usr/local/lib”  >> /etc/ld.so.conf
[root@localhost ~]# ldconfig
[root@localhost ~]# ldd /home/foltia/pt1-c44e16dbb0e2/recpt1/recpt1
        linux-gate.so.1 =>  (0×00de9000)
        libpcsclite.so.1 => /usr/lib/libpcsclite.so.1 (0×00a31000)
        libarib25.so.0 => /usr/local/lib/libarib25.so.0 (0×00f96000)
        libm.so.6 => /lib/libm.so.6 (0×00c9d000)
        libpthread.so.0 => /lib/libpthread.so.0 (0×00c83000)
        libc.so.6 => /lib/libc.so.6 (0×00b35000)
        libdl.so.2 => /lib/libdl.so.2 (0×00c7d000)
        /lib/ld-linux.so.2 (0×00b17000)

今度は無事見つかったようです。
というわけで、コマンドラインからテストしてみます。

[root@localhost ~]# su – foltia
[foltia@localhost ~]$ cd /home/foltia/pt1-c44e16dbb0e2/recpt1/
[foltia@localhost recpt1]$ ./recpt1 –b25 –strip –device /dev/pt1video0 26 20 /hdd2/test.ts
using B25…
enable B25 strip
using device: /dev/pt1video0
Cannot open tuner device: /dev/pt1video0

デバイスが開けないといわれます。
とりあえず再起動していないのが悪いのでしょうか。
再起動してみます。

[root@localhost hdd2]# mkdir -m 707 foltia
[root@localhost hdd2]# su – foltia
[foltia@localhost ~]$ cd /home/foltia/pt1-c44e16dbb0e2/recpt1/
[foltia@localhost recpt1]$ ./recpt1 –b25 –strip –device /dev/pt1video2 23 20 /hdd2/folt
ia/test1.ts
using B25…
enable B25 strip
using device: /dev/pt1video2
Signal=30.491706dB
Recording…
[foltia@localhost recpt1]$

PT2用に用意したHDDにfoltiaユーザで書き込めるようにして録画テスト。
無事録画できることを確認。あとはツールのセットアップだけです。

なお、pt1video0~1がBSで、2~3が地上波です。

カテゴリー PTシリーズ


次のページ »