[Docker] CensOSのイメージを取得する

Dockerレジストリからベースイメージとしてcentosをダウンロードする

念のため、ダウンロードしたベースイメージのOSバージョンを確認する

方法1: /etc/issueを表示させる

方法2: /bashを実行してターミナル操作する

[Docker] Apacheセットアップ例 (2)

Dockerに馴染むべく、以下の例をなぞってみる。

Dockerでapacheを動かす – in the mythosil
http://mythosil.hatenablog.com/entry/2013/12/08/203530

コピー元ディレクトリにhtmlファイルを作成。

タグ付けして(-t apache)、イメージ作成。

ポートのリダイレクトを指定して(-p)、バックラウンド(-d)でコンテナ起動。

ホストOSからアクセスして確認。 http://192.168.33.10:8080/

DockerイメージにコピーしたHTMLファイルの内容が表示されるはず。

ログのコピー。コンテナ中のファイルは”コンテナID:パス”と指定できる。

コンテナ停止。

[Docker] Apacheセットアップ例 (1)

Dockerに馴染むべく、以下の例をなぞってみる。

DockerでApacheを動かす – cpw’s diary
http://cpw.hatenadiary.jp/entry/2013/08/13/225012

タグを付けて(-t=”apache2″)イメージをビルド。

ポート8080を80にマップして(-p)、バックグラウンドで実行(-d)。

ホストOSからアクセスして確認。 http://192.168.33.10:8080/

コンテナの状態を見る。

コンテナを終了する。

存在するイメージを見る。

[Docker] bashを実行するだけの超入門

Dockerに馴染むべく、以下の例をなぞってみる。

VagrantとDockerについて名前しか知らなかったので試した – Qiita
http://qiita.com/hidekuro/items/fc12344d36d996198e96

1. ゲストOSとしてUbuntu14.04を導入

先にBoxを追加してからinitしても同じこと。

2. DockerをゲストOSに導入

VagrantのDocker Provisionerを使うと楽らしい。

プロビジョニングはvagrant upした際に自動的に実行される機能で、ソフトウェアを自動インストールするためなどに使う。

Vagrantfileを編集

3. Dockerイメージの作成

bashを起動するだけのイメージを作成してみる。

作業ディレクトリを作成。

Dockerファイルを作成。

イメージをビルド。

以下オプション。

-t イメージにタグ付け
. Dockerfileのパス

 

コンテナを作成。

以下オプション。

-i 対話モード
-t 擬似ターミナル割り当て
-v /vagrantを/tmp/sharedにマウント
–name=”test1″ コンテナに名前付け
84kure/test1 イメージ指定

 

bashが実行される。

コンテナを確認。

コンテナを捨てる。

4. Dockerイメージの作成を自動化

Vagrantfile

以上、超入門。

[PHPmotion] 動画アップロードのトラブルシュート

500 Internal Server Error

テストユーザから動画をアップロードしたらいきなりエラー。

エラーログを確認。/var/log/httpd/error_log

Perlのファイルに不適切な文字コードでも入っているのだろうか。

ネットで検索した情報から、以下の2つのファイルの先頭に — を追加してみる。

/var/www/httpd/cgi-bin/uu_ini_status.pl
/var/www/httpd/cgi-bin/uu_upload.pl

すると500 Internet Server Errorは解決。動画のアップロードは正常終了するようになった。

アップした動画が表示されない

アップロード自体は成功している模様。

エンコードエラーが起きてるっぽい。

何が悪いのかわからないので、1つずつ可能性を潰していく。

mencoderは存在した。

mencodeはコマンドラインから実行できた。

ログに記録されたコマンドを手打ちしてみたらエラーになった。アップした動画が壊れているのか?

Wikiにトラブルシュートがあったのでなぞる。

PHPmotion Wiki: Debugging FFPmpeg – Mencoder
http://wiki.phpmotion.com/ServerVPSDebugging

(1)~(6)の手順に従って手作業で処理したら静止画キャプチャも動画エンコードも出来たので、関連するモジュールのインストールには問題なさそう。

書かれているチェックポイントを順に確認。まずは最初のチェックポイント。

You server does not support what is called command line php. This gives phpmotion the ability to run these same command when a video finishes uploading

インストールされている。問題ない。

次のチェックポイント。

Your server has the **exec** command disabled in your php settings. PHPmotion needs access to this command in order to be able to execute command via ssh shell. To check if this is the case, upload a [[http://wiki.phpmotion.com/HelpPHPinfoFile phpinfo]]file to your server and check the **disable_functions** section to see if **exec **is listed there.

phpinfoを表示してみる。問題ない。

次のチェックポイント。

You have some security features installed on your server that are preventing PHPmotion access to ffmpeg and mencoder.

This could be either:
– You have “open_basedir” or “safe_mode” restriction set in your php. Check using a phpinfoe
– You have either “Selinux” or “Suhosin” installed on your server and its restricting PHPmotion from working correctly

これらもphpinfoを表示して確認。問題ない。

悪いところはなさそう。さらに読み進む。

HINT

If you managed to convert videos is ssh but you still dont see them when you upload. Try this

Upload a video as normal on your website
Once complete, open the url http://www.yourdomain.com/convertor.php
Check to see if the video is now showing

if the video show after doing this, you should check to see if curl is installed on your server. If its not installed, you should consider installing it.

良くわからないけど、curlはインストールされていないのでインストールしておく。

結局・・・

さっきの手作業で気になったのは、動画ファイルの拡張子がmpgだったこと。僕がアップした動画ファイルの拡張子はmp4。試しに拡張子をmp4からmpgに変えてアップしたらサーバー上で無事にエンコードされてサイトで動画が観れるようになった。アップする動画ファイルに相性がありそうな感じ。

[PHPmotion] ブラウザから初期設定する

仮想環境にブラウザからアクセス。http://192.168.33.10/

Welcome & Terms

PHPmotion-01

System Pre-Installation Checks

PHPmotion-02

エラーが出た。

対処として、PHPshield loaders 64bit をダウンロード
http://downloads.phpmotion.com/phpshield-loaders/64bit.zip

解凍して出来た2つのファイルを/var/www/html/phpshieldフォルダへコピーする。ページを再ロードしたらエラー解決。

PHPmotion-03

Chmoding Directories and Files

PHPmotion-04

Setting Up MySql Database

PHPmotion-05

MySQL Host: localhost
Database Name: phpmotionup
Database Username: phpmotionuser
Database Password: 12345678

Adding Site Information

PHPmotion-06

Admin Details:
Username: admin
Password: 12345678
Email Address: admin@example.com

General Site Information
Site name: Video Site
Website Url: http://www.example.com → http://192.168.33.10
Date Format: y-m-d
System Email Address: team@example.com
System Email (From Name): Video Site Team

Server Side Settings:
Path to FFmpeg: /usr/bin/ffmpeg
Path to FLVTool2: /usr/bin/flvtool2
Path to Mencoder: /usr/bin/mencoder

PHPmotion-07

setupフォルダを消さないと管理者ログイン画面が表示されない
# rm -r -f setup

管理者画面にアクセス
PHPmotion Site Administration
http://192.168.33.10/siteadmin/index.php

PHPmotion-08

管理者ログインして機能を眺める。

PHPmotion-10

続く・・・

[PHPmotion] セットアップする (CentOS 5.9)

PHPmotionは動画共有サイト向けのオープンソースのCMS。

VagrantでCentOSの仮想環境を作ってインストールを試みるが、連携するミドルウェアが多くて一筋縄ではいかず。最初CentOS 7.0で試していたんだけど、バージョンが新しすぎるせいか、標準リポジトリに見つからないミドルウェアが続出。自力で模索するのは諦めて、インストールに成功した事例をネットで探すしたところ、以下の記事がヒット。

» phpmotionインストール(yum編)
http://www.kurobuti.com/linux_server/?page_id=543

ターゲットはCentOS 5と推測し、Cent OS 5.9を用意して記事の手順をなぞらせてもらう。

仮想環境の作成

Boxは以下を選択。

CentOS 5.9 x86_64 minimal + guest additions, puppet, chef
http://tag1consulting.com/files/centos-5.9-x86-64-minimal.box

Vagrantfile中のプライベートネットワーク設定のコメントを外す。

Vagrantを再起動。

pingが通るか確認。

必要なパッケージのインストール

rpmforgeリポジトリをインストール。

必要なパッケージをインストール。

ffmpeg-phpをインストール。

PHPmotionのインストール

PHPのバージョンをチェック。

PHPmotionをダウンロード。

Download PHPmotion
http://phpmotion.com/content/view/1/180/
(for servers running PHP5.0.x – PHP5.2.x )

phpmotionを解凍し、/var/www/htmlへ移動する。

ファイルやディレクトリのパーミッションを変更する。

PHPの設定

MySQLの設定

データベースとユーザーを作成する。

Apacheの設定

Apacheを起動する。

ここまでの作業がうまく出来ていれば、ブラウザから初期設定できるようになる。

続く・・・

[Visual C++] ActiveXをウェブページで使う (IE限定)

インスタンス生成はobjectタグで行い、制御はJavaScriptでやると簡単。

サンプルコード

[Visual C++] ActiveXにメソッドを追加する

前記事は以下。

[Visual C++] ActiveXの作り方 | プログラミング雑記
https://www.84kure.com/blog/?p=718

ActiveXにメソッドを追加するには

1. [Class View]を表示してタイプライブラリ下のインターフェースをポイント。

activex_add_method_1

2. 右ボタンクリックして[Add]-[Add Method…]メニューを選択。

activex_add_method_2

3. [Add Method Wizard]でメソッドの戻り値、名前、パラメータを指定。

activex_add_method_3

4. メソッドにidを割り当て、必要ならば他の属性を指定。

activex_add_method_4

5. [Class View]の下側ペインに追加したメソッドがリストされるので、クリックして処理をコーディング。

activex_add_method_5

6. ビルドする。

[Vagrant] Rubyをインストールする (CentOS 6.5)

必要なパッケージをインストール

rbenvをインストール

環境変数の設定。

インストール確認。

ruby_buildをインストール

Rubyをインストール

利用可能なバージョンをリスト。

現在の安定版2.2.1をインストール。

インストール確認。

Railsをインストール

ドキュメント生成は省略。

テスト。