LinuxMagic.org

オープンソースのサポートサイトを目指します。

knowledge

MySQL

MySQL基本操作

MYSQLに管理者ユーザ(root)で接続するコマンドです。


$ mysql -u root -p
Enter password: **** [接続するユーザ(root)のパスワードを入力]
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.16

Type ‘help;’ or ‘\h’ for help. Type ‘\c’ to clear the buffer.
mysql>

-u [ユーザ] MYSQLに接続するユーザを指定します。
-p [パスワード] MYSQLに接続するユーザのパスワードを指定します。

MYSQLのデータベース作成


mysql>create databese データベース;

Query OK, 1 row affected (0.02 sec)


MYSQLのユーザ作成

mysql>GRANT ALL PRIVILEGES ON . TO user@localhost IDENTIFIED BY ‘password’ WITH GRANT OPTION;

Query OK, 0 rows affected (0.00 sec)

上記は特定ユーザへ全権限を全てのデータベースにアサインする場合の例
削除する場合は「drop user データベース」で削除

SQL一括実行

$mysql -u root -D dbName -p < batch.sql
Enter password: **** [接続するユーザパスワードを入力]

DB一覧表示

mysql> show databases;



指定DBの選択


mysql> use [DB名];


Table一覧表示

mysql> show tables;



Table作成


mysql> create tables address(
no INT,
name VARCHAR,
tel VARCHAR
);



カラムを確認


mysql> show columns from address;



テーブルを削除


mysql> drop table address;

Streaming Server

RTMP接続サンプル

Jw Player RTMP接続サンプル

懐かしい映画のトレーラで実験。
HTMLソースを読んで書き方を参考にしてください。サーバは RED5の最新版で作成しています。
Port番号は7777を利用。

※実際は映画トレーラもライセンスがあるため、下記はクリックしても再生しないようにしています。埋め込みのサンプル書式として見てください。

Street Of Fire Movie Trailer 1984
Street Of Fire Movie Trailer 1984

Spy Game Movie Trailer 2001
Spy Game Trailer:Brad Pitt

サンプル

下記はサンプルです。戸田競艇の短いシーンを撮影し作成してみました。
※IE7,IE8,Chrome,Opera,FireFoxは再生OKでした。
これは、単なるHTTPストリーミングです。そのためゲージを移動しても前には進みません。
戸田ボート
戸田ボートサンプル

FlashVideo作成

Flash Playerと言っても単独のアプリケーションで動作するものと、WEBブラウザに
埋め込まれたものがあります。

ここでは、前回紹介したFLAVERとは違ってもう少しシンプルなPlayerを紹介します。
「JW FLV MEDIA PLAYER」
上記のPlayerをダウンロードします。

現在はJW FLV Media Player 4.5というバージョンになっています。

ダウンロードすると解凍した後 readme.htmlがフォルダにあるので、これをエディター
で開き次の箇所をパクリます。※ホームページの次の記述をコピーしても良いと思い
ますがバージョンが変わると異なってくるのでそうしてください。
<script type="text/javascript" src="swfobject.js"> ① </script> <script type="text/javascript"> swfobject.registerObject("player","9.0.98","expressInstall.swf"); ② </script> <object id="player" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" name="player" width="328" height="200"> <param name="movie" value="player-viral.swf" /> ③ <param name="allowfullscreen" value="true" /> <param name="allowscriptaccess" value="always" /> <param name="flashvars" value="file=video.flv?=preview.jpg" /> ④ <object type="application/x-shockwave-flash" data="player-viral.swf" width="328" height="200"> <param name="movie" value="player-viral.swf" /> ③ <param name="allowfullscreen" value="true" /> <param name="allowscriptaccess" value="always" /> <param name="flashvars" value="file=video.flv?=preview.jpg" /> ④ <p><a href="http://get.adobe.com/flashplayer">Get Flash</a> to see this player.</p> </object> </object>

実際にJW FLV Media Player 4.5を解凍した際に、上記のswfファイルや画像ファイル
があるので、それを自分が作成したコンテンツに置き換えてください。
それが完了したらサーバ上に設置する際に矛盾無く正しいパスに置き換えてください。

これで動作するはずです。

【修正ポイント】

①swfobject.js の保存先

②インストールPlyer の登録処理

③WEBに埋め込むPlayer本体

④実際に再生する際のコンテンツ素材
file=xxxxxx はFlashファイル
image=xxxxx は再生前のスクリーン上の表示画像

尚、コンテンツのオリジナルファイルは当然ながら、movファイルやwmvファイル,mpegファイルでしょうから、これをFlashに変換するための変換ソフトが必要です。

動画の相互変換に関しては「えこでこツール」というオープンソースがあります。

下記のpazera video to flash converterは様々な動画形式をFlashに変換してくれる
フリーソフトです。これを使うと簡単に動画をFlash動画に変換し、flv形式または
swf形式に出力をしてくれます。操作はいたって簡単です。

http://www.pazera-software.com/products/video-to-flash-converter/

後は変換したファイルを上記の手順を参考にアップロードしてください。
これで簡単にFlash Videoのコンテンツができました。

Free Flash Player

ホームページ製作しているREXEFが開発したFlash Playerは中々いいですね。

FLVを直接読み込めますし、再生リストをPlayer上に出すので YouTube見たいな
複数の動画カタログを画面にリストして出せます。皆さんもためして見てはいかが?

REXEF

RED5導入

フリーのFLASH VIDEOサーバ RED5
皆さんも一度聞いた事はあると思いますがRED5というFLASH動画配信サーバがあります。
以前、Linuxへ導入したことはありましたが今回は改めてWindows XPに導入をしてみました。

ダウンロードは下記へアクセスしてください。

http://code.google.com/p/red5/最新版は「Red5 0.8.0 Final」です。

導入にはJAVAの環境を導入する必要があります。

http://www.java.com/ja/download/最新版はVersion 6 Update 15 です。

インストールはWindowsの場合はあっという間にRED5にしろ、Javaもインストールが終わります。
くれぐれもJavaのバージョンとRED5のバージョンは関係があるので合わせてください。

インストールが無事完了するとその時点ですでにサービスに追加されてRED5が起動するように
なっています。

それでは実際にデモを動かしてRED5の動作確認をしてみましょう。

[スタートメニュー]→[全てのプログラム]→[Red5]から“Welcome page“を選択します。

どうやら、インストールの際にサンプルビデオを3本ほどダウンロードするようになっているらしく、インストールするversionなのか環境毎にサンプルビデオは違うようです。私はちなみにトランスフォーマー、スターウォーズ、アイアンマンでした。

ここまでいけば取り合えずめでたし。インストールは完了です。

下記はブラウザー埋め込みFlash PlayerでのRTMP接続を行う際の記述サンプルです。

<script type='text/javascript' src='swfobject.js'></script> <div id='preview'>This div will be replaced</div> <script type='text/javascript'> var s1 = new SWFObject('player-viral.swf','ply','470','320','9','#ffffff'); s1.addParam('allowfullscreen','true'); s1.addParam('allowscriptaccess','always'); s1.addParam('wmode','opaque'); s1.addVariable('id','ply'); s1.addVariable('backcolor','3333FF'); s1.addVariable('lightcolor','00CC00'); s1.addVariable('screencolor','99FFFF'); s1.addVariable('icons','false'); s1.addVariable('dock','true'); s1.addVariable('displayclick','fullscreen'); s1.addVariable('file', 'IronMan.flv'); s1.addVariable('streamer', 'rtmp://www.linuxmagic.org/oflaDemo'); s1.addVariable('type', 'rtmp'); s1.write('preview'); </script>

擬似ストリーミング

Apache WEBサーバで擬似ストリーミング(Pseudo Progressive streaming)する場合の方法を紹介します。

まず最初にmod_flvxをダウンロードします。

コンパイル手順)

任意のフォルダへmod_flvx.cを置きます。そしてコンパイルします。
$ /usr/local/apache2/bin/apxs -i -a -c mod_flvx.c

コンパイルしたらApacheのmodulesディレクトリへコピーしてください。

Apache Webサーバの設定ファイルを編集します。
$ vi httpd.conf
以下の記述を必要箇所へ記述しセーブします。

LoadModule flvx_module  modules/mod_flvx.so

AddHandler flv-stream .flv


サーバを再起動します。
$service  httpd restart

これで、擬似ストリーミングする環境ができましたので、後はコンテンツを用意し任意のフォルダへ置くことでストリーミングの環境はOKです。作業としてはHTMLコンテンツへPlayerの埋込みを行うと作業完了です。

FLASH PLAYER

Flash PlayerはOS上で動作するものとWEB上で埋め込まれた形で再生するもので分かれます。

OSローカルで再生するもので代表的なものは以下のものがあります

※沢山検索エンジンで探索すると見つかります。

WEBブラウザ上で再生するもので代表的なものは以下のものがあります

  Flash Playerは本格的なRTMPストリーミングとHTTP疑似ストリーミング、HTTPストリーミングで分かれるため、サイト構築の際に用途に合わせた選択が必要と思います。
そのためには、ストリーミングを利用する同時ユーザ数、コンテンツの動画画質、動画タイトルの再生時間が関係してきます。

FlashVideo

[配信方式について]

まず最初にストリーミングの配信方法ですが、大きくは以降に述べる2種類の方法があります。見たいときにみるオンデマンド配信
と、リアルタイムで放送されるリアルタイムストリーミング(ライブ配信)がそれに相当します。

[Video on Demand]
サーバー上にある動画ファイルを必要に応じてその時に再生する方式が「オンデマンド」となります。
ユーザーは、いつでも好きな時にその動画へアクセスすることができ、常にいちばん先頭から再生することができるのが「オンデマンド」の特徴です。一時停止、早送り、巻戻しなども自由自在です。

Yahoo動画のGyaoとか、YouTube、ニコニコ動画は見たいときに最初から見る事ができますのでVideo on Demandになります。

[ライブ配信]
これはテレビ放送と同じで、その時間に生放送を視聴する方式がライブ配信になります。
ですから、例えば午後2時に放送する番組があったとします。遅れて再生スタートを押しても頭からではなく現在起きている映像がリアルタイムで再生されます。

多くの人が同時に視聴するため、多大なトラフィックが発生し通信コストが掛かるため、ホスティングプロバイダーでもストリーミングのアクセスが多い場合は、課金形態がかわる場合があるので要注意です。

そのため、 有料会員制を行う必要が生じてしまい、結果的にはサービスとしてはあまり普及していません。
見る側の特にはなりかもしれませんが、運営サイドとしては儲からないサービスなのかもしれませんね。

Devel

mobile simulator

携帯電話関連の話題と情報提供
Firefoxで携帯3キャリアのシュミレーションができる
こんなツールあるの知ってました?

FireMobileSimulator

なんと、firefoxにアドオンして携帯電話端末をシュミレーションできるツールです。
携帯系のコンテンツを作成している会社とかなら、これである程度シュミレーション
できてしまいますね。

デバイス設定 というところを設定で追加すると新機種の端末もシュミレートできるようです。

こんなすぐれものが無料で手に入るなんて幸せ!

LDAP

Fedora Directoryの導入

インストール方法は色々あって、結構大変であることがわかってきた。実際 CentOS5.3をこのサイトは使っていますが yumを使ってすんなりとは入りません。 repositoryの位置とか違っているし。

そんなわけで単純にrpmでバイナリーが簡単ですね。

まず導入するには、 JAVAのRunTimeが入ってないといけないのでそれを先に行う必要があります。
SUNのJAVA DOWNLOADページ

8月1日現在では、私のプラットフォームがintel celeronなので“jre-6u14-linux-i586-rpm.bin“を導入しました。

次にバイナリーにアクセス権を設定し実行できるよう設定します。

  1. chmod +x jre-6u14-linux-i586-rpm.bin
  2. ./jre-6u14-linux-i586-rpm.bin

導入できたらJAVAの環境変数を設定します。

  1. vi /etc/profile

export JAVA_HOME=/usr/java/default
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/jre/lib:$JAVA_HOME/lib:$JAVA_HOME/lib/tools.jar

☆ 上記の変数3行を最下行にでも追加してください。

  1. cd /etc/alternatives/
  2. ln -sf /usr/java/jre1.6.0_14/bin/java java

これでたぶんJavaはOKでしょう。

次に Fedora Directoryのサイトに行きrpmのバイナリーをダウンロードします。

DOWNLOAD

上記のマトリックス「Fedora Directory Server 1.0.4」の欄から自分のプラットフォームにあったパッケージを選択します。
私の環境では“fedora-ds-1.0.4-1.FC6.i386.opt.rpm“をダウンロードします。

ダウンロードしたファイルは展開後に実行してください。
次のような画面が流れます。

$ rpm -Uvh fedora-ds-1.0.4-1.FC6.i386.opt.rpm
準備中… ########################################### [100%]
1:fedora-ds ########################################### [100%]

Install finished. Please run /opt/fedora-ds/setup/setup to complete installation and set up the servers.
$ /opt/fedora-ds/setup/setup
INFO Begin Setup . . .

LICENSE AGREEMENT AND LIMITED PRODUCT WARRANTY
FEDORA DIRECTORY SERVER

This agreement governs the use of Fedora Directory Server,
Administration Server and Management Console (collectively, the
SOFTWARE”) and any updates to the Software, regardless of the
delivery mechanism.

1. FEDORA DIRECTORY SERVER

後は画面にそって入力を行ってください。管理者にはLDAPプロトコルの管理者とWEBコンソールの管理者があるので
そこを誤解しないように。

うまく導入できれば次のような画面が最後に流れます。

[slapd-www]: starting up server …
[slapd-www]: Fedora-Directory/1.0.4 B2006.312.1539
[slapd-www]: www.hogehoge-linux.org:389 (/opt/fedora-ds/slapd-www)
[slapd-www]:
[slapd-www]: [02/Aug/2009:01:55:28 +0900] – Fedora-Directory/1.0.4 B2006.312.1539 starting up
[slapd-www]: [02/Aug/2009:01:55:29 +0900] – slapd started. Listening on All Interfaces port 389 for LDAP requests
Your new directory server has been started.
Created new Directory Server
Start Slapd Starting Slapd server configuration.

………

You can now use the console. Here is the command to use to start the console:
cd /opt/fedora-ds
./startconsole -u admin -a http://www.hogehoge-linux.org:30146/

INFO Finished with setup, logfile is setup/setup.log

終わったら/etc/sysconfig/iptablesを編集して389と 30146を開けるようにしてください。

$ cd /opt/fedora-ds
$ ./startconsole -u admin -a http://www.hogehoge-linux.org:30146/
これで接続できるはずです。

こんな画面がでるはず、WEB管理者用のパスワードをいれてログインしてください。

Web

301 redirect

サイト引っ越し、リニューアルにはHTTP 301 REDIRECT
301 redirectって何?
サイトの引っ越しの際にサーチエンジンが今までキャッシュしていた情報が使えなくなる
場合がありますよね。全く同じドメインで同じサイト構造ならほとんど気にする必要はない
けど、引っ越しと構造があきらかに変わる場合は気をつけないとサーチエンジンにキャッシュ
されている情報が全く使えなくなる。また、引っ越しの狭間でサーチエンジンに誤解される
ケースもあります。同じサイトなのに2つあるとか。このなるとペナルティになってしまう。

そこで”301 REDIRECT”が役に立つ。
これを使うのには一番簡単な方法は.htaccessというファィルを使うことです。これにより
過去にあったパスやファイルが無くても、現在の仕様にあわせて転送のコーディネイトが
できる。

.htaccess ファイルとは
Apacheでは認証処理をフォルダ単位で行う場合によく使いますよね。あのファイルです。
実際にはこのファイルは認証だけではなく、フォルダやサイト毎の属性を変える機能が
あります。今回はこの中でリダイレクトする機能を使います。

How to make “301 Redirect”
1. エディターで.htaccessをオープンします。

2. 既存で既にそのファイルがある場合は適切な位置に記述する必要があります。

3. 次のように301の後に既存パスと新規パスを書きます。

状況は引っ越しの具合を見て引っ越しもとで設置するのか、引っ越し先で設置する
場合でパスが変わってきますが、既存パスはアクセスしてきた人が打ち込んだパス
ですのでそれをどこに飛ばすかが次の新規パスになります。 

redirect 301 /old/old.htm http://www.your.com/new.htm

4. 設定は書き換えるあるいは、転送するファイル単位、フォルダ単位で記述を
一行づつ加えていってください。

5.できたらセーブしてテストを行ってください。

telnetでテストする際、レスポンスコードで301が変えればOKです。

$ telnet localhost 80
Trying 127.0.0.1…
Connected to localhost.localdomain (127.0.0.1).
Escape character is ‘^]’.
HEAD /301.html HTTP/1.0

HTTP/1.1 301 Moved Permanently
Date: Sun, 2 Aug 2009 07:16:02 GMT
Server: Apache/1.3.26 (Unix) PHP/5.0.1
Location: http://anotherhost/301.html
Connection: close
Content-Type: text/html; charset=utf-8

Connection closed by foreign host.

SEO対策

WEB製作関連、WEBサーバ構築の情報提供

GoogleがSEOの検索エンジン最適化スターターガイド公開してたのね!
最近仕事に没頭しすぎて調べていませんでしたがGoogleがSEO最適化についてガイドライン
だしてたのね。気づいてなかった。ありゃりゃ。

http://googlewebmastercentral-ja.blogspot.com/2009/06/google.html

最近胡散臭いSEO業者が増えて、苦情の話をよく聞きますが、改めてガイドラインなど読んで
きちんと知識をつけないとね。

それはとりあえず、おいて。
GoogleにはSEOに繋がるWEBの管理ツールが色々あります。知ってる方も多いと思いますが
一応紹介しておきます。

Google に URL を追加
Googleセントラル(Web master toolがある)
Google analystic
Google Adsense
google websaiet optimizer
Google Insights for Search

Adsenseは直接的ではないですが、間接的にはSEOに繋がるかもしれません。

Apacheのログの規制

Apacheのログの規制
ウェブサーバのログは放っておくとトンでもない容量になるから余計なログは獲りたくない。
これを制御する設定をメモしておく。

$ vi httpd.conf ⇒CustomLogのあたりに追記・修正を行う。

各種動画、画像へのアクセスログを除外する。
SetEnvIfNoCase Request_URI “\.(jpg|mpg|mpeg|jpeg|(rm|avi|mov|aif|aiff|png|gif|swf)$” no_image CustomLog logs/access_log combined env=!no_image

ローカルアクセスのログを除外する。
SetEnvIfNoCase REMOTE_ADDR “^(127\.0\.0\.1|10\.\.\.|192\.168\.\.*)$” no_local
CustomLog logs/access_log combined env=!no_local

怪しいrobot からのアクセスログを除外する設定
BrowserMatchNoCase (nabot|dloader|digext|openbot|archiver|crawler|spider|scooter|zyborg) bad_bot deny from env=bad_bot

ワーム(Worm) からのアクセスログを除外する設定
SetEnvIf Request_URI “^/(mem_bin|_mem_bin|vti_bin|_vti_bin|c|d|msadc|MSADC|scripts|default\.ida|NULL\.IDA|cmd\.exe|root\.exe)” worm deny from env=worm
※上記は1行です。繋がっています。

DocumentRoot変更でエラー

ApacheでDocumentrootを変えるとエラーが発生。
SE LINUXがenableの状態でApacheのドキュメントルートを変更するとエラーがでるんだよね。
ちまたのチップスではSE LINUXを停止するテクニックが出ていますが、これはどうなんでしょう?
正しい処方箋とは思えませんね。

SE LINUXで運用すると Apacheの場合、セキュリティ上の都合でディレクトリの変更が多きな問題
になるため、制限を受けています。

例えば、バーチャルホストを作るときなど、ドキュメントルートはドメイン毎に変えたいもの。
CGIのパスやAliasなんかもそうでしょう。

SE LINUXがONだとApache起動時に「DocumentRoot must be a directory」なんてエラーがでてしまう。

これはSE LINUXではサーバ設定する際にドキュメントルートにSE LINUXのラベルをつけないと
だめなので生じる問題。

例えばDocumentRootが /var/www/html から /var/content/homeに変えたいなら
$ chcon   system_u:object_r:httpd_sys_content_t    /var/content/home

CGI の場合もやはりラベルのつけ方を気をつけないと問題がでます。

$ chcon    system_u:object_r;httpd_sys_script_rw_t     test.cgi

こんな感じ。

この作業の後にApacheを起動すれば問題なく立ち上がるでしょう。

このようにこのような作業はApacheだけではなく他のサーバでも同様の似たような作業が必要です。

IEの様々なバージョン検証

WEB制作でブラウザーの検証するならこれ
ブラウザー毎に表示が異なる問題ってよくありますよね。
それならこれがお勧めです。

IE TESTER

対応しているIEのバージョンが広いので便利ですね。

私のブログ

以前書いていたブログはまた、そのまま復帰します。たまには読んでください。

Linuxと関係ないかもよ日記

お役立ちLinux Links

Archives

RSSフィード配信

Articles RSS Feed