PHPMotion インストール スクリプト

スクリプトなんて大げさなこと書きましたが実際

#!/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

download

download2

phpmotion.sh.txt(.txtを削除し、phpmotion.shに変更してください。)

download3

インストール手順

1.rootディレクトリに「phpmotion.sh」と「PHP5.zip」をアップロード

(/root/)

winscp

2.phpmotion.shに実行権限を与える。

(chmod +x phpmotion.sh や chmod 755 phpmotion.shなど)

chmod

3.rootになってphpmotion.shを実行する。

(./phpmotion.sh)

phpmotionsh

すべてのインストールが終了するまで30分くらいかかります。ご飯食べるなりアニメ見るなりお風呂入るなりしてれば終わってるかと。

4.mysqlでデータベースを作る。

mysql -u root -p  :パスワードを設定しているとき。

mysql -u root    :このスクリプトでインストールしたとき。

mysql

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は設置したサーバのアドレスへ)

phpinfo

このように表示されていれば大丈夫です。

6.phpmotionの設定を行う。

http://127.0.0.1/video/setup/へアクセスする。

phpmotion_1

パーミッションチェックはスクリプトが自動で設定するようになっているのでこの画面までこれていれば大丈夫です。

phpmotion_2

チェックが通ったところ。

phpmotion_3

ここにuserdatabasenamepasswordを入力し、一番上はlocalhostを入力。

phpmotion_4

各種設定。ここはお好きなように。

phpmotion_5

これでお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-devel

yum -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

もっとスマートな書き方があるような気もしますがまぁそこはご愛嬌

「PHPMotion インストール スクリプト」への14件のフィードバック

  1. すいません。
    こちらのサイトを見ながら、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では問題が出てくるのでしょうか。

    すいませんが、よろしくお願いします。

  2. コメントありがとうございます。

    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リポジトリの部分を削除すれば使えるかもしれません。)

  3. @めんた
    返信ありがとうございます。
    色々と調べた結果、phpmoduleのフォルダにphpshield.5.2linをコピーすることで解決しました。

    何とかトップ画面までたどり着きましたが、メインのページに赤色で×と表示されています。
    また、スクリプトで作られたphpinfo.phpを確認するとffmpegの項目がありません。

    これはffmpegがインストールされていないということでしょうか?

  4. おめでとうございます。

    トップ画面の赤い×は、おそらくですが、動画のサムネイルが無い場合に表示されるものだったと思います。
    ですので、動画をアップロードし、サムネイルが作成されると赤い×が表示されていた部分にサムネイルが表示されます。

    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のインストールをしなおすといった手順になります。

  5. 度々すいません。
    ffmpeg -helpと入れたところコマンドが無いと出ました。
    改めて入れなおしたいと思います。

    また、同時に並行してアップロードのチェックを行ってみたのですが、
    phpmotionV2からV3にバージョンアップし、オーディオをアップしようとしたところ

    ERROR: Failed to mkdir /var/www/html/video//video///video/temp/: No such file or directory

    というようにhtml/video/temp となればいいものの、重複しております。
    これはどのように対処すればよろしいのでしょうか。

    よろしくお願いします。

  6. 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」の項目にあるように書き直す必要があります。

  7. ありがとうございます。
    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の下に配置すればよいのでしょうか?

  8. おめでとうございます。

    このWikiに書かれている/myvideoは
    今回の場合ですと、/videoになるかと思います。
    PHPMotionを設置したディレクトリにもよりますが、例として
    「/var/www/html/video」 以下にPHPMotionを設置(アップロード)し、
    Apacheのルートディレクトリ(http://127.0.0.1/で表示されるディレクトリ)が
    「/var/www/html」 である場合には、
    Wikiに書かれているmyvideoをvideoとしながら書き換えてみてください。

  9. 色々とありがとうございます。

    /video/video/と重複する問題も解決し、何とかアップロード出来るところまでいきました。
    音声ファイルはアップロードされて、ブラウザ上のプレイヤーで再生されるものの、動画に関してはプレーヤー
    自体が出てこない状態で、再生が行われません。
    アップロードしたファイルの画面ではサムネイルが出ているので、恐らくffmpeg-phpがインストールされていないと思われますが、そのような理解で合っていますでしょうか?

    また、ページのレイアウトに関してですが、トップのステータス画面で、ユーザーに関する記述を消したいと思っています。
    「新しいメンバー」「オンラインのメンバー」という項目ですが、どの様に消せばよいのでしょうか。

    長々とご質問をして申し訳ありません。

  10. プレイヤー自体が出てこないとのことですが、Apacheのエラーコード、もしくは動画の再生画面にはどの様に表示されているのでしょうか。
    サムネイルが表示されているとのことなので、サムネイルを作成しているffmpeg及びffmpeg-php自体は動いているような気がします。

    トップページのステータスに関しては、
    phpmotionをインストールしたディレクトリ/themes/default/templates/inner_index.htm
    内の、
    <!–Begin Site Stats–>
    以降にその部分の項がありますので、そこから要らない部分は削ってください。
    htmlファイルですのでF5で更新すればその都度確認できます。

  11. ありがとうございます。
    やってみたところ、やはりダメでした。

    色々いじってる間に気づいたところがあります。
    mp3をアップすると /upload/audio/にアップされますが、動画の場合は/upload/avi/の中にアップされず、
    flvに変換されたものが/upload/直下に置かれます。
    FTPでDLし、再生しても音声しか出ず、プロパティーで見ると、動画のエンコードが出来ていませんでした。
    また、ffmpegのpathが/usr/bin/ffmpegとなっていますが、/usr/bin/以下にffmpegが見当たりませんでした。

    この3つが気になるのですが、何かご存知ではないでしょうか。

コメントを残す