スクリプトなんて大げさなこと書きましたが実際
#!/bin/sh
~
みたいな感じでぐだぐだ書いただけです。
ただ
chmod +x phpmotion.sh
./phpmotion.sh
をすればPHPMotionに必要なものは一通り入るようになってます。
スクリプト:phpmotion.sh.txt
このスクリプトでのffmpeg configureオプション
./configure –enable-libmp3lame –enable-libx264 –enable-libxvid –enable-libfaac –enable-libfaad –enable-pthreads –enable-gpl –enable-shared –prefix=/usr
以下、必要なものと構成、使用上の注意など。
まずこのスクリプトの想定環境は
・CentOS 5.0~5.2 i386(インストール後の初期状態、x64でも使えるかも知れませんが64はあまり試す気がないので。)
インストール時に必要なもの。
・phpmotion v2.1(PHP5のほう)
http://phpmotion.com/forum/index.php/topic,2974.0.html
・phpmotion.sh.txt(.txtを削除し、phpmotion.shに変更してください。)
インストール手順
1.rootディレクトリに「phpmotion.sh」と「PHP5.zip」をアップロード
(/root/)
2.phpmotion.shに実行権限を与える。
(chmod +x phpmotion.sh や chmod 755 phpmotion.shなど)
3.rootになってphpmotion.shを実行する。
(./phpmotion.sh)
すべてのインストールが終了するまで30分くらいかかります。ご飯食べるなりアニメ見るなりお風呂入るなりしてれば終わってるかと。
4.mysqlでデータベースを作る。
mysql -u root -p :パスワードを設定しているとき。
mysql -u root :このスクリプトでインストールしたとき。
grant all privileges on databasename.* to user@localhost identified by ‘password’;
*databasename、user、passwordは自分で設定
create database databasename;
exit
5.phpinfoでffmpegがあるかを確認。
スクリプトによってphpinfo.phpも書かれるのでそのまま
http://127.0.0.1/phpinfo.phpへアクセスしてください。
(127.0.0.1は設置したサーバのアドレスへ)
このように表示されていれば大丈夫です。
6.phpmotionの設定を行う。
http://127.0.0.1/video/setup/へアクセスする。
パーミッションチェックはスクリプトが自動で設定するようになっているのでこの画面までこれていれば大丈夫です。
チェックが通ったところ。
ここにuser、databasename、passwordを入力し、一番上はlocalhostを入力。
各種設定。ここはお好きなように。
これでおkです。admin:adminでログインし、いろいろ設定したいところはしてください。
特に設定しなくても使えるっちゃ使えます。
このページから離れたら
rm -rf /var/www/html/video/setup/
でセットアップのフォルダを削除してください。
注意事項としては、
1.デフォルトでは有効になりませんが、rpmforgeとdagのリポジトリを追加する設定になっています。
初期インストール後に有効にした場合無効に変更されますので変更されたくない場合、その部分を削除してください。
echo “[dag]” >> /etc/yum.repos.d/CentOS-Base.repo
echo “name=Dag RPM Repository for Redhat EL5” >> /etc/yum.repos.d/CentOS-Base.repo
echo ‘baseurl=http://apt.sw.be/redhat/el$releasever/en/$basearch/dag’ >> /etc/yum.repos.d/CentOS-Base.repo
echo “gpgcheck=1” >> /etc/yum.repos.d/CentOS-Base.repo
echo “enabled=0” >> /etc/yum.repos.d/CentOS-Base.repo
echo “gpgkey=http://dag.wieers.com/packages/RPM-GPG-KEY.dag.txt” >> /etc/yum.repos.d/CentOS-Base.repo
sed -i “s/enabled = 1/enabled = 0/g” /etc/yum.repos.d/rpmforge.repo
2.インストールに必要なものは勝手にインストールされます。
これは必要ないだろう!っておもうもの(php-gdなど)があればその部分を削除してください。
以下、インストールされるもの。
yum -y install yum-fastestmirror
yum -y install wget
yum -y install unzip
yum -y install subversion
yum -y install automake
yum -y install gcc
yum -y install gcc-c++
yum -y install libtool
yum -y install ruby
yum -y install mysql-server
yum -y install php php-cli php-gd php-mysql
yum -y install php-develyum -y –enablerepo=dag install yasm git
yum -y –enablerepo=rpmforge install a52dec-devel faac-devel
インストール時に書き換えられるphpmotionファイル
・/var/www/cgi-bin/uu_default_config.pm
・/var/www/cgi-bin/audio/uu_default_config.pm
# http://localhost/video/の/video/を追加しないとアップロードでエラーが出るのでまずはvideoという文字列を追加
sed -i “s/path_to_upload => ‘/path_to_upload => ‘video/g” /var/www/cgi-bin/uu_default_config.pm
sed -i “s/path_to_upload => ‘/path_to_upload => ‘video/g” /var/www/cgi-bin/audio/uu_default_config.pm
sed -i “s/redirect_url => ‘/redirect_url => ‘video/g” /var/www/cgi-bin/uu_default_config.pm
sed -i “s/redirect_url => ‘/redirect_url => ‘video/g” /var/www/cgi-bin/audio/uu_default_config.pm
sed -i “s/ENV{‘DOCUMENT_ROOT’} . ‘/ENV{‘DOCUMENT_ROOT’} . ‘video/g” /var/www/cgi-bin/uu_default_config.pm
sed -i “s/ENV{‘DOCUMENT_ROOT’} . ‘/ENV{‘DOCUMENT_ROOT’} . ‘video/g” /var/www/cgi-bin/audio/uu_default_config.pm
# 次に追加したvideoを/videoに正規表現で置換
sed -i ‘s/video/\/video/g’ /var/www/cgi-bin/uu_default_config.pm
sed -i ‘s/video/\/video/g’ /var/www/cgi-bin/audio/uu_default_config.pm
もっとスマートな書き方があるような気もしますがまぁそこはご愛嬌
すいません。
こちらのサイトを見ながら、FC11にphpmotionのインストールを行っていました。
rootパスにPHP5.zipとインストールスクリプトを設置し実行を行いました。
http://127.0.0.1/video/setup/を開こうとすると
「PHP script /var/www/html/video/classes/config.php is protected by phpSHIELD and requires the phpSHIELD loader phpshield.5.2.lin. The phpSHIELD loader has not been installed, or is not installed correctly. Please visit the phpSHIELD php encoder site to download required loader」
というエラーが出て前に進めません。
http://menta.orz.hm/?p=318
こちらのコメントにあった回避方法を行ってもダメでした・・。
CentOS用にインストールスクリプトを組まれてるとのことですが、FC11では問題が出てくるのでしょうか。
すいませんが、よろしくお願いします。
コメントありがとうございます。
shファイルを使用したとのことなので、
・PHPmotion V2(or V2.1)
・Fedora 11 32bit
の場合には、http://menta.orz.hm/?p=318に書いてある方法よりも
「/usr/local/lib/php/extensions/」
に要求されている「phpshield.5.2.lin」をコピーする方が確実かもしれません。
具体的には、
・/usr/local/lib/php/extensions/にphpshieldというディレクトリを作成
ex) mkdir /usr/local/lib/php/extensions/phpshield
・作成したディレクトリにphpshieldをコピー
ex) cp /var/www/html/video/phpshield/phpshield.5.2.lin /usr/local/lib/php/extensions/phpshield/
・extensionをphp.iniに書き込み
ex) echo “extension=phpshield.5.2.lin” >> /etc/php.ini
・phpshieldを有効にするためにapacheを再起動
ex) /etc/init.d/httpd restart
といった手順になります。
ただし、64bitの場合には64bit用のphpshieldをダウンロードし、
「/usr/local/lib64/php/extensions/phpshield/」にコピーする必要があります。
このshファイルはDagリポジトリなどを使っているため、Fedoraでは正常にインストールできないかもしれません。
(試していないのでわかりませんが、Fedoraの場合Dagリポジトリ、rpmforgeリポジトリの部分を削除すれば使えるかもしれません。)
@めんた
返信ありがとうございます。
色々と調べた結果、phpmoduleのフォルダにphpshield.5.2linをコピーすることで解決しました。
何とかトップ画面までたどり着きましたが、メインのページに赤色で×と表示されています。
また、スクリプトで作られたphpinfo.phpを確認するとffmpegの項目がありません。
これはffmpegがインストールされていないということでしょうか?
おめでとうございます。
トップ画面の赤い×は、おそらくですが、動画のサムネイルが無い場合に表示されるものだったと思います。
ですので、動画をアップロードし、サムネイルが作成されると赤い×が表示されていた部分にサムネイルが表示されます。
phpinfo.phpで表示されるffmpegの項に関しては、ffmpeg-phpが正常にインストールされていない場合には表示されません。
原因としては
1.ffmpegが正常にインストールされていないため、ffmpeg-phpがインストールされなかった
2.ffmpegは正常にインストールされているが、ffmpeg-phpは正常にインストールされなかった
(3.phpがffmpeg-phpをロードしていない)
が考えられます。
まず、ターミナルからffmepg –helpとコマンドを打ち込み、正常に機能しているかを確認し、
正常に機能していればffmepg-phpの再インストール、
command not foundと表示されるようであればffmepgのインストールができていない状態なのでもう一度インストールをしなおし、ffmpegが正常にインストールできたことを確認した後にffmpeg-phpのインストールをしなおすといった手順になります。
度々すいません。
ffmpeg -helpと入れたところコマンドが無いと出ました。
改めて入れなおしたいと思います。
また、同時に並行してアップロードのチェックを行ってみたのですが、
phpmotionV2からV3にバージョンアップし、オーディオをアップしようとしたところ
ERROR: Failed to mkdir /var/www/html/video//video///video/temp/: No such file or directory
というようにhtml/video/temp となればいいものの、重複しております。
これはどのように対処すればよろしいのでしょうか。
よろしくお願いします。
ffmpegに関しては、atrpmsリポジトリからのffmpegでも実用に耐えるかと思います。
GPGキーのインポート
# rpm –import http://ATrpms.net/RPM-GPG-KEY.atrpms
yumリポジトリの追加。
# vi /etc/yum.repos.d/atrpms.repo
[atrpms]
name=Fedora Core $releasever – $basearch – ATrpms
baseurl=http://dl.atrpms.net/f$releasever-$basearch/atrpms/stable
gpgkey=http://ATrpms.net/RPM-GPG-KEY.atrpms
gpgcheck=1
enabled=0
インストール。
# yum -y –enablerepo=atrpms install ffmpeg
引用URL:http://tenten909.exblog.jp/9284768/
(enabled=0を追加)
エラーの部分ですが、
http://127.0.0.1/video/
にインストールする際、V3以降では書き直す項目が多くなっています。
http://wiki.phpmotion.com/InstallingV3
の「Installing to a Sub-Directory」の項目にあるように書き直す必要があります。
ありがとうございます。
ffmpegの方も何とか解決しました。
エラー部分に関してですが、上記のhttp://wiki.phpmotion.com/InstallingV3を見ながら作業しました。
指定されているように/myvideo/を挿入し、./htaccessも変更したところ、トップページ以外は全て404になるという
状況になりました。。
この場合は、/cgi-bin/uu_default_config.pm
/cgi-bin/audio/uu_default_config.pm
といったファイルをmyvideo/cgi-binの下に配置すればよいのでしょうか?
おめでとうございます。
このWikiに書かれている/myvideoは
今回の場合ですと、/videoになるかと思います。
PHPMotionを設置したディレクトリにもよりますが、例として
「/var/www/html/video」 以下にPHPMotionを設置(アップロード)し、
Apacheのルートディレクトリ(http://127.0.0.1/で表示されるディレクトリ)が
「/var/www/html」 である場合には、
Wikiに書かれているmyvideoをvideoとしながら書き換えてみてください。
色々とありがとうございます。
/video/video/と重複する問題も解決し、何とかアップロード出来るところまでいきました。
音声ファイルはアップロードされて、ブラウザ上のプレイヤーで再生されるものの、動画に関してはプレーヤー
自体が出てこない状態で、再生が行われません。
アップロードしたファイルの画面ではサムネイルが出ているので、恐らくffmpeg-phpがインストールされていないと思われますが、そのような理解で合っていますでしょうか?
また、ページのレイアウトに関してですが、トップのステータス画面で、ユーザーに関する記述を消したいと思っています。
「新しいメンバー」「オンラインのメンバー」という項目ですが、どの様に消せばよいのでしょうか。
長々とご質問をして申し訳ありません。
プレイヤー自体が出てこないとのことですが、Apacheのエラーコード、もしくは動画の再生画面にはどの様に表示されているのでしょうか。
サムネイルが表示されているとのことなので、サムネイルを作成しているffmpeg及びffmpeg-php自体は動いているような気がします。
トップページのステータスに関しては、
phpmotionをインストールしたディレクトリ/themes/default/templates/inner_index.htm
内の、
<!–Begin Site Stats–>
以降にその部分の項がありますので、そこから要らない部分は削ってください。
htmlファイルですのでF5で更新すればその都度確認できます。
Your Adobe Flash player may be outdated. Please Click Here to update to the latest Flash Player.
THUMB PATHS=> http://127.0.0.1/video/uploads/thumbs/1mtDEcHphywYibkVNYl2.jpg
http://127.0.0.1/video/uploads/player_thumbs/1mtDEcHphywYibkVNYl2.jpg
再生画面には以上のように表示されています。
よろしくお願いします。
フォーラムで検索した結果では、
/javascripts/swfobject.js
を
http://virtual-links.com/theblacktees/javascripts/swfobject.js
のものに置き換えるといけるようになるようです。
置き換える再にはバックアップをしてから試してみてください。
http://phpmotion.com/forum/index.php/topic,15025.0.html
ありがとうございます。
やってみたところ、やはりダメでした。
色々いじってる間に気づいたところがあります。
mp3をアップすると /upload/audio/にアップされますが、動画の場合は/upload/avi/の中にアップされず、
flvに変換されたものが/upload/直下に置かれます。
FTPでDLし、再生しても音声しか出ず、プロパティーで見ると、動画のエンコードが出来ていませんでした。
また、ffmpegのpathが/usr/bin/ffmpegとなっていますが、/usr/bin/以下にffmpegが見当たりませんでした。
この3つが気になるのですが、何かご存知ではないでしょうか。