Harada's Diary

自分だけの動画サイトを構築する。

※4/01 追記
公開している「Harada’s Theater」ですが、期間が過ぎましたので非公開とさせて頂きます。
短い間でございましたが、ご愛顧頂きありがとうございます。


Harada’s Theater
http://video.hdserver.mydns.jp


とまぁこんな感じで某動画サイト風なサイトを構築することができます。
今回はこちらの構築メモを載せます。

ClipBucketについて

YouTubeのような動画共有サイトを自分で持つ、そんな願いを叶えてくれるのが ClipBucketです。
動画や写真のアップロード・閲覧・評価やコメントの投稿など一通りの機能を備えています。

とはいうものの、映像にはセンシティブな情報が映り込むことや 著作権の観点から公衆に向けて送信するに適さないものなどがあり、 不特定多数への公開を原則とする YouTubeを使った共有に余り向いていないケースもあります。

ClipBucketなら、閉じたグループの中だけでまるで YouTubeのような動画共有ができるので、 そのような場合にとても適していると言えるでしょう。


概要

Clipbucketの構築にはたくさんのミドルウェアやソフトウェアが必要になります。 今回はCentOS最新版の7.3で構築を進めます。

# rm -rf /var/www/clipbucket/cb_install/ 

1.LAMPインストール

yumで必要なパッケージを揃えます。

# rm -rf /var/www/clipbucket/cb_install/ 

2.ImageMagickのインストール

# rm -rf /var/www/clipbucket/cb_install/ 

PHPモジュール用のImageMagickも必要になるので、下記PECLにてインストールします。

# rm -rf /var/www/clipbucket/cb_install/ 

最後に、/etc/php.iniにextension=imagick.soを追記してあげましょう。

# rm -rf /var/www/clipbucket/cb_install/ 

2.FFMPEGインストール

FFMPEGはCentOSの標準のレポジトリで提供されていないので EPELとNUX Dextop Releaseをレポジトリに追加します。

# rm -rf /var/www/clipbucket/cb_install/ 
# rm -rf /var/www/clipbucket/cb_install/ 

3.FLVTool2インストール

FLVTool2のインストールにはrubyが必要になるのでrubyをインストールします。

# rm -rf /var/www/clipbucket/cb_install/ 

rubyのライブラリ管理用コマンドgemでflvtool2をインストールします。

# rm -rf /var/www/clipbucket/cb_install/ 

4.MP4Boxインストール

yum上ではmp4boxはgpacという名前になります。

# rm -rf /var/www/clipbucket/cb_install/ 

5.PHPの設定

上記すべてがインストール完了したら、PHPの設定を構成する必要があります。 php.iniファイルを下記の通り修正しておきます。

# rm -rf /var/www/clipbucket/cb_install/ 

保存が完了したら、apacheを再起動しておきます。

# rm -rf /var/www/clipbucket/cb_install/ 

6.MariaDBの初期設定

MySQLをインストールすると使えるようになる、mysql_secure_installationコマンドを実行し、 インストール後の初期設定を行います。

# rm -rf /var/www/clipbucket/cb_install/ 

初期設定が完了したらclipbucket用のデータベースを作成します。 “PASSWORD”の箇所は任意の文字を指定します。

# rm -rf /var/www/clipbucket/cb_install/ 
# rm -rf /var/www/clipbucket/cb_install/ 

7.Apacheの設定

続いてApacheの設定になります。 /etc/httpd/conf.d以下にVirtualhostを用のconfを以下の様に作成します。

# rm -rf /var/www/clipbucket/cb_install/ 

後は保存をして、apacheの再起動をしましょう。

# rm -rf /var/www/clipbucket/cb_install/ 

8.ClipBucketをダウンロード

clipbucketをダウンロードします。 最新版は公式サイトにあるので、こちらからダウンロードしてきます。

# rm -rf /var/www/clipbucket/cb_install/ 

ダウンロードが完了したらunzipで解凍します。

# rm -rf /var/www/clipbucket/cb_install/ 

解凍したフォルダの中にはuploadとdo_not_uploadディレクトリがあるので uploadディレクトりの中身をDocumentRootにコピーします。間違ってもdo_not_uploadの中身はコピーしない様に。

# rm -rf /var/www/clipbucket/cb_install/ 

9.ディレクトリのパーミッション設定

以下のディレクトリはフルアクセスの許可が必要になるので権限を追加します。

# rm -rf /var/www/clipbucket/cb_install/ 

また、clipbucketディレクトリの所有者はapacheユーザに変更します。

# rm -rf /var/www/clipbucket/cb_install/ 

10.cronのセットアップ

動画の変換を自動で実行する場合、 phpスクリプトをcronで定期的に実行させる必要があるので、下記を登録します。

# rm -rf /var/www/clipbucket/cb_install/ 

11.ファイヤウォールの許可設定

80番ポートを制限している場合、許可設定を入れてあげましょう。 systemdなので、iptablesではなくfirewalldになるので注意。

# rm -rf /var/www/clipbucket/cb_install/ 

12.ブラウザでのインストール作業

ここからはWEB上で作業を進めます。
ブラウザでhttp://IPアドレス/ 若しくは http://ドメインでアクセスして、Okをクリック

clipbucketのサーバ要件を満たしているか事前チェックになります。
PHPShieldがnot installになっていますが、こちらは特に気にしなくて大丈夫なので、そのままOKへ。

それ以外の項目でエラーが出ていたら、パッケージが足りていないので別途インストールしましょう。

各ディレクトリの書き込み権限の確認が入ります。
もし、エラーが出たら、対象のディレクトリの権限を変えてあげましょう。

DBの設定です。
先ほど設定したMariaDBのデータベース情報を記載します。 

adminユーザの設定です。
clipbucket上の管理者ユーザを設定してあげます。 

最後にClipbucketのHP設定です。
自由にタイトルを、キャッチフレーズを決めましょう。 

ここまででインストール作業は完了になります。 

13.インストールディレクトリの削除

セキュリティの為、インストールディレクトリは削除しましょう。

# rm -rf /var/www/clipbucket/cb_install/ 

14.WEBページの再設定

インストール自体は完了しましたが、一部設定に若干の不備が残っているので修正します。
adminユーザでログイン後、Dashborad > Stats And > Website Configurationへ移動して 下記箇所を書き換えます。

FFMPEGとMP4Boxのパスが違う箇所になっているので、サーバ内の正しいパスを記載しておきます。


いかがでしたでしょうか。
今後のイメージとして、アップロードされた動画はキャッシュとして保存され 1分毎に実行されるcronのPHPスクリプトで変換が行われ、完了次第動画が閲覧できる、という流れになります。

なので、基本的にサーバのスペックが大事になります。
CPU、メモリ、ディスク、どれかが弱いとエンコードは全体的に時間がかかります。

ちなみにCentの6系だとソフトウェアの互換性の問題で、うまくインストールできなかったです。。
また、トラフィックを鬼の様に食うので、家庭用の回線では実装は難しいかと思います。

今回は回線上限のないサーバを使用している為実現できていますが、くれぐれも自宅サーバとかではやらないでね。。

参考サイト

 http://qiita.com/knife0125/items/3d685f1368a654d5187d