2011年7月24日日曜日

『分数ができない大学生』

本書は1999年に出版され、社会に大きなインパクトを与えました。大学の教授や学会の理事長といった教育にたずさわっている方達が、日本の教育政策の問題点・深刻な学力低下・他国との比較についてを述べています。

PastedGraphic-2011-07-24-05-51.jpg

印象に残ったこととして、大学受験における少数科目入試が基礎学力の低下につながる、があります。近年、日本の大学は、受験科目が少数化する傾向にあります。二科目入試や一科目入試など珍しくありません。少数科目入試の何が問題なのでしょうか。

一つに、得意な分野と不得意な分野の両方を学ぶことで、得意な分野を学ぶ考え方を客観的に捉えることができます。この能力は将来、未知の分野を学ぶときに多いに役立ちます。しかし少数科目入試にすることで、得意な分野しか勉強しなくなる可能性があります。

また、日本の学校教育は昔から「読み、書き、そろばん」を基礎学力の根本としていました。「読み、書き、そろばん」能力が、日本を世界でもトップクラスの経済大国に成長させたともいえます。少数科目入試は、その能力を削る可能性があります。具体例として、数学を受験科目から外す⇒学生は数学を勉強しなくなる⇒そろばんの能力が削られる、といったことでしょう。

他にも、大学の授業で、受験科目以外の知識をもとに進める場合、多くの学生がつまづくといったことがあります。具体例として経済学部をあげますと、受験科目を少数化する傾向で、経済学部の入学試験で数学を選択しなくてもいい大学が増えました。そのため、受験生の中には、高校時代に数学を全く勉強してこなかった人もいます。しかし経済を理解するためには、数学が必要です。そうして、大学の授業でつまずく学生が出てくるわけです。

では、大学受験でなぜ少数科目入試を取り入れているのでしょうか。大学独自の受験を課して、その大学にあった学生を入学させたい、その手段がたまたま少数科目入試だったのでしょうか。本書を読み進めていくと、「少数科目入試を取り入れることで受験生の偏差値を上げ、世間のその大学に対する評価を上げたい」、「科目を増やしたら、学生が集まらない」といった事情があるみたいです。もちろん、少数科目入試の弊害は、指導者・教育者のあいだで広く認識されています。しかし、1大学の力で解決するのは、とても難しいことです。なぜなら、その大学だけが多くの受験科目を課すことになれば、学生が集まらなくなるからです。これに関しては多くの大学で強調して同時に実施しなければ解決できません。

最後に。資源の少ない日本は、人的資本を広げざるをえません。基礎学力の向上はその国を成長させるための最大の力になります。今、世間では、ゆとり教育は失敗だととらえ、教育にもっと力を入れるべきだとの声が広まっています。これから教育政策がどう変わっていくか、興味深いですね。

EclipseからJavaVMの起動オプションを指定する

EclipseでJavaVMの起動オプションを指定したい。

Run Configurations を選択

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-245.34.14-2011-07-24-05-35.png


VM arguments に起動オプションを指定すればいいです。

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-245.34.34-2011-07-24-05-35.png

2011年7月21日木曜日

共有ファイルを書き込みとして開けない

共有ファイルを開こうとすると、書き込みとして開けません、とエラーがでます。
原因はファイル競合?

Windowsだと
コンピュータの管理>システムツール>共有フォルダ>開いているファイル
で、共有ファイルのうち、どのファイルが開かれているのかの確認ができます。

コンピュータの管理>システムツール>共有フォルダ>セッション
で、共有ファイルが、どのPCから接続されているのかの確認ができます。

同画面で、右クリックから共有ファイルのセッションを閉じることもできます。

今回はセッションを閉じることで対応しました。

2011年7月18日月曜日

『ウォール・ストリート』 オリバー・ストーン監督

80年代のヒット作『ウォール街』の続編です。前作と同じくオリバー・ストーン監督とマイケル・ダグラス主演のコンビで実現させた作品です。新しくキャリー・マリガン(ウィニー・ゲッコー役)とシャイア・ラブーフ(ジェイコブ・ムーア役)の若きスターも加わり、金融界を取り巻くマネーゲームをスリリングに描いています。

今回の舞台は、リーマンショック後のウォール街です。リーマンショックとは、実際に2008年に起こったサブプライムローン問題を発端に、リーマン・ブラザーズ証券が破産し、世界的な金融危機の引き金となったことに照らして呼ぶ表現です。

PastedGraphic-2011-07-18-15-11.jpg

■あらすじ
ウォール街で働くジェイコブ・ムーアが勤務するKZI社の株が急暴落。ジェイコブが父のように慕っていた経営者ルイスが自殺する。株急落の原因が、投資銀行経営者ブレトンの陰謀によるものだと知ったジェイコブはブレトンへの復讐を決心する。

当時ジェイコブの恋人の父は、インサイダー取引の罪で懲役の経歴をもつゴードン・ゲッコー。ジェイコブはゴードンに、株暴落の黒幕ブレトンに対する復讐のサポートの取引をもちかける。

■感想
『ウォール・ストリート』は、前半は金融や株がらみのマネーゲームから始まり、後半は家族・恋人といったお金以外の要素が展開されます。お金に振り回されながらも、本当の幸福とは何か、お金が人を幸せにするのか、といった登場人物の葛藤が描かれています。

ストーリ展開に賛否両論がありますが、僕としては作品全体がお金が全て、といった単調な展開でなくて良かったです。シリアスなマネーゲームに没入しながらも恋愛や家族関係で悩む主人公たちの存在が、あの作品をより複雑にしたと感じます。監督の狙い通りではないでしょうか。

お金のために娘との関係を切ったゴードンがラストシーンで、孫のためにもう一度関係をやり直したい、と言い寄るシーンは、様々な捉え方ができるでしょう。僕は、お金にまさる情がある、よりは、お金があるから情が生まれた、と捉えます。つまるとこ、ゴードンはマネーゲームに身を投じたからこそ、お金以外に優先すべきことを整理できたのだと思います。

まだ、前作の『ウォール街』を見ていないので、その作品を通してゴードンの生き方、お金に対する考え方を見ていきます。

2011年7月16日土曜日

ホスト名にアンダースコア使ったらダメです

ホスト名にアンダースコアがある場合、IEでCookieの保存ができません。
FireFoxではアンダースコアを受け入れてくれるのですが、IEだと・・・。
ということで、ホスト名にアンダースコアは使わない方が無難です。

“ホスト名にアンダースコアは使わない”
Web上では常識みたいです。


しかし、相互に補完しあう機能のあいだで、制約に差があるのは厄介な問題です。
今回は、DNSは仕様上アンダースコアを許可してますが、それだとIEではCookieが保存されないよ、ということで問題が起こりました。
他にも例をあげるとすると、携帯アドレスのドット問題もそうでしょう。
(僕の携帯アドレスは違反だらけで、問題を起こすことが多いです。)
http://www.h-fj.com/blog/archives/2009/03/01-100125.php

制約を理解して、うまく付き合っていくしかないでしょう。

2011年7月14日木曜日

Webサーバがしている認証とアクセス許可の仕組み

誰でも無制限にWebサーバにアクセスできる状況は好ましくありません。
特定のユーザにだけページを公開したい、Apacheで実現可能です

■仕組み
HTTPプロトコルには、ユーザを認証する方法を提供しているわけではありません。あくまで、ユーザに身元を訪ねるだけです。ユーザが本人であることを認証するのは、Webサーバ(Apache)の役目です。

簡単に仕組みを説明すると、
①ブラウザ(ユーザ)が、Webサーバにページを要求する
②Webサーバが、認証情報(www-Authenticate)をブラウザ(ユーザ)に発行する
③ブラウザ(ユーザ)は、要求された認証情報に従って情報を追加して、ページ要求の再発行をする
        (例えばアカウント・パスワードや暗号署名など)
④Webサーバは、ブラウザ(ユーザ)から受け取った情報をチェックして、ブラウザ(ユーザ)にページを送るかの判断をする

www-Authenticateの中身は認証方式によって違います。一般に使用されている認証方式は、
・ベーシック
・ダイジェスト
・NTLMプロトコル

これから、様々な認証方式について紹介していきます。

参考)
・Apache拡張ガイド上 (O’REILLY)
・Novell exteNd WebサービスSDKのセキュリティ
http://www.novell.com/ja-jp/documentation/extend52/Docs/help/WSSDK/tutorial/security.html

特定のアクセス元を制限するアクセス制御

誰でも無制限にWebサーバにアクセスできる状況は好ましくありません。
特定のアクセス元にだけページを公開したい、Apacheで実現可能です。

■特定のアクセス元だけアクセスを許可する
ApacheのDocumentRoot以下にディレクトリを作成する
# mkdir security_test

ブラウザで確認(http://hogehoge.com/security_test)⇒ディレクトリが表示される

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-127.48.12-2011-07-14-07-48.png

httpd.confを編集(192.168.11.2以外の全てのユーザのアクセスを拒否する)
<Location /security_test>
Deny from all
Allow from 192.168.11.2
</Location>

Apacheを再起動する

192.168.11.2のサーバのブラウザで確認する(http://hogehoge.com/security_test)⇒接続を禁止されている

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-127.55.02-2011-07-14-07-48.png

2011年7月13日水曜日

ログ・ファイルのサイズを変えたい

ログとして出力されるファイルのサイズは、変えることができます。
例えば、ApacheやTomcatのログにファイルサイズの制限をかけたいといった時があります。

Windosで設定
http://www.atmarkit.co.jp/fwin2k/win2ktips/275evlogfenl/evlogfenl.html
Linuxで設定
http://www.atmarkit.co.jp/flinux/rensai/root03/root03c.html


■CentOSでログファイルサイズの制限をかける(logrotate)
CentOSでログファイルの動作を設定する機能に、ログローテータ(logrotate) とよばれるプログラムがあります。
これを使うことで、ログファイルを自動的にローテーションしてくれます。
つまり、access_logがある一定の量たまると、access_log.1という名前に変更して、新たに空のログファイル(access_log)を作成してくれるわけです。

# ls -al /etc/httpd/logs/                                
合計 788
drwx------ 2 root root 4096 7月 4 18:02 .
drwxr-xr-x 15 root root 4096 7月 13 04:03 ..
-rw-r--r-- 1 root root 50599 7月 13 22:32 access_log
-rw-r--r-- 1 root root 80228 6月 30 21:16 access_log.1
-rw-r--r-- 1 root root 37715 5月 31 08:47 access_log.2

ログファイルをローテーションすることによる長所
・ログの確認範囲をある程度絞れる
・ログがディスクサイズを圧迫する可能性を減らす


■logrotateの設定
logrotateの全体の設定は、/etc/logrotate.conf で行います。

# cat /etc/logrotate.conf
# 周期の指定
# monthly, weekly, daily とローケションの単位を指定することができます。         
monthly

# 世代の指定
# rotate 12 と指定すると、logfile.1~logfile.12までのファイルが残ります。
rotate 12

# logfileがlogfile.1に名前変更されるときに、新たに空のlogfileを作成するかの指定
# 作成することを推奨
create

# ローテーションで作成されるファイルを圧縮するかの指定
# デフォルトはコメントアウトされています。
#compress

# 設定ファイルを取り込む設定
include /etc/logrotate.d

# 実際のログファイルの固有の設定
/var/log/wtmp {
monthly
minsize 1M
create 0664 root utmp
rotate 1
}

# system-specific logs may be also be configured here.

設定した後は、cronによって定期的に実行されるようです。


参考)
cron の使い方 
http://landisk.kororo.jp/diary/30_cron.php

2011年7月11日月曜日

設定ファイルのコメント行と空行以外を表示したい

Apacheの設定ファイルには、丁寧に説明が書かれている分コメントが多いので、煩わしくなることが多々あります。コメント行と空行以外が見たい。そんなときは、grepが非常に便利です。

例えば、httpd.confのコメントと空行以外を出力したいときは、このコマンドを使います。
# cat httpd.conf | grep -v -e '#' -e '^$'

grepとオプションを使うことで、実現できます。
httpd.confのコメントは’#’がついているので、その行は出力しない。
‘^$’は正規表現で空文字を表します。つまり、なにもない行は出力しない。

オプションの説明です。
-v : パターンにマッチしなかった行を表示
-e : パターンを指定。マイナス記号で始まっていてもパターンだと解釈します


■備忘録
manコマンドは非常に便利です。
# man grep
でgrepのマニュアルを開くことができます。英語で書かれたマニュアルを読んでいくうちに、manは英語版しかないものかと思い込んでいましたが、勘違いでした。
manコマンドの出力結果を日本語化する
ただし、英語版しかないマニュアルもあるので、英語に慣れておくにこしたことはないです。

2011年7月10日日曜日

広島の名酒『美和桜』

僕の好きな日本酒の一つです。多くの酒を飲んできましたが、地酒ほど美味しいものはありません。

RIMG0247-2011-07-10-19-13.JPG


上京して以来、『美和桜』に出会う機会が少なくなりましたが、最近近くの酒屋で取り扱っていることを知り、再び飲む機会を得ることになりました。ここの酒屋は、品揃えが豊富なのでお薦めです。

橋和屋酒店(雪谷大塚)
http://www.ekyaku.com/oishii/hashiwaya/index.htm


『美和桜』は、広島の三次市三和町で作られているお酒です。特徴は、しっかりとした辛口なのに甘い。多くの日本酒とは、違う道を歩んできたかのような個性ある味わいです。甘みがあって飲みやすい分、日本酒が初めてという方にもお薦めできます。

広島ではとても有名なお酒なので、広島出身の方にプレゼントとしてお渡しすると喜ばれますよ。(広島名産の小イワシの刺身をつければ狂喜乱舞するのでご注意を。)

多摩川河川敷を散歩する

今日は快晴だったので、多摩川河川敷を散歩しました。日曜日ということもあって野球少年・サッカー少年・泳いでる少年でいっぱいでした。大きな声をあげて頑張っている姿を見ているとこっちまで元気が出ます。

一本道です。これがどこまでも続きます。今日は多摩川から二子玉川まで散歩しましたが、一本道が途切れることなく続いていました。

RIMG0244-2011-07-10-18-38.JPG


一本道がだんだん細くなって・・・

RIMG0248-2011-07-10-18-38.JPG

横目でサッカーや野球を見ながら・・・

RIMG0249-2011-07-10-18-38.JPG

脇道には、ところどころ隠れ家的なスポットがあるわけです。
恋愛映画にでも出てきそうな風景です。夜の川辺を見ながら、愛の言葉を・・・といったべたなことはやめてください。

RIMG0253-2011-07-10-18-38.JPG

しかし、もう夏ですね。芝生がとてもきれいです。

RIMG0256-2011-07-10-18-38.JPG


気付いたら二子玉川に着いていました。久しぶりの二子玉川ですが、ものすごく変わりましたね。なんというか・・・若者の街です。これも二子玉川ライズ・ショッピングセンターの影響ですね。二子玉川近郊は大学も多いので、若者向けのショッピングセンターができれば繁盛するとは思っていましたが、予想以上の盛り上がりです。気になるので今度ショッピングしてきます。

2011年7月9日土曜日

mod_proxyを使って、Apacheとtomcatを結合させたい

tomcatを使って動的コンテンツを処理する場合、Apache 単体よりも高速で処理することができます。つまりtomcatを使うことで、パフォーマンスの向上が期待できます。
一方、Apacheには多くの支援ソフトウェアが蓄積されていて、Webサイトを構成するパーツとして連携させることができます。
tomcatとApacheを連携させることで、両方の長所をうまく引き出すことが可能です。


■ポートを指定した結合
Apacheとtomcatの使われているポートは違います。デフォルトの設定は下のようになっています。
Apache : 80
tomcat : 8080

プラウザでポート番号指定のないURL(http://localhost/)が指定された場合、そのサイト上のポート80に対して接続を試みます。ポート番号が指定された場合(http://localhost:8080/)、そのサイト上のポート8080に対して接続を試みます。
なので、tomcatが扱うJSPページを見にいくには、ポートで8080を指定すればいい、ということです。

/usr/local/tomcat/webapps/prime/hello2.jsp (tomcat)
<html>                                        
<head>
        <title>hello</title>
</head>
<body>
        <h1>hello</h1>
</body>
</html>

/var/www/html/tomcat_test1.html (Apache)
<html>                                        
<head>
        <title>tomcat test</title>
</head>
<body>
        <a href=“http://lovemoe.moe.hm/prime/hello2.jsp:8080”>tomcat’s pages</a>
</body>
</head>
</html>

ブラウザから、http://lovemoe.moe.hm/tomcat_test1.html で接続して、リンクから、http://lovemoe.moe.hm/prime/hello2.jsp:8080 にとぶことができます。
URLの指定で、ApacheのhtmlページもtomcatのJSPページも見ることができます。

しかし、わざわざポート指定なんて考えるのめんどくさい。そこで、Apacheのmod_proxyモジュールの出番です。


■mod_proxyをつかったApacheとtomcatの接続
クライアントがポートの指定をすることなく、tomcatのJSPページにアクセスできるようにします。
WebサーバのApacheのhttpd.confを書き換えればOKです。

/etc/httpd/conf/httpd.conf
LoadModule proxy_module modules/mod_proxy.so                    
LoadModule proxy_http_module modules/mod_proxy_http.so

ProxyPass /prime http://lovemoe.moe.hm:8080/prime
ProxyPassReverse /prime http://lovemoe.moe.hm:8080/prime

この設定で、ポートを指定することなく、JSPページの構成ディレクトリであるprime以下のページを取得することができます。

/var/www/html/tomcat_test1.html の赤字を消して、再起動ののち試してみてください。


参考)
Tomcatハンドブック(O’REILY)

『数学嫌いな人のための数学』 小室直樹

PastedGraphic2-2011-07-9-15-01.jpg 

日本人は討論を好まない、と言われています。『口で言うより手のほうが早い』という喧嘩法が尊ばれ、『口達者の仕事下手』ということわざがあるように、討論を重用視していない傾向があります。討論とは、論理の技術であるわけで、討論のないところでは、論理学が発達するはずがありません。ゆえに日本人は、論理思考が弱いと、言われています。

では隣の国、中国はどうでしょうか。中国人は、論争・討論・説得に極めて重きを置いています。戦国時代に、君主を説得させ、卓説を進言し、国の勝利に導く、というのは三国志でもお馴染みの話です。口達者であればそれだけ出世のチャンスが増えるわけです。

日本人と中国人の論理の差が、両国に誤解をもたらし、仲違いの原因になったのではないか、と本書で紹介されています。日本人は、論理無視・論理蹂躙を繰り返し、他国から不信の念を抱かせるのです。論理を知らないことによる日本人の損失は計り知れません。


先にいっておくと、本書は、数学の苦手な人に数学を教えるといったものではありません。数学を使って、どのように論理を展開させていくか、数学が与える影響について、が書かれています。資本主義社会を生き抜くためには、数学の理解が不可欠であることを説き、その仕組みを分かりやすく説明しています。

僕は、経済学に興味がわかなくて、後半は読むのがつらかったですが・・・。それでも数学が好きな方には是非おすすめします。数学についての書かれた話題も数多くあり、歴史の様々な事柄が数学と結びついていく話の展開は非常に面白かったです。

『緋弾のアリア』 赤松中学

名作『緋弾のアリア』のアニメが最終回を迎えました。
ちまたで広告をみかけるので、名前ぐらいは聞いたことがあるのではないでしょうか。

赤松中学によって書かれたライトノベルを渡部高志のもとアニメ化された作品です。

PastedGraphic-2011-07-9-10-06.jpg


武力を公使する探偵「武偵」を育成する東京武偵高校に通う主人公・遠山キンジが、エリート少女武偵・神崎・H・アリアと出会ったことによって、とんでもない日々に巻き込まれていくお話です。

この話で面白いとこは、登場人物が、遠山金四郎やらシャーロックホームズやら怪盗ルパンやら卑弥呼やらの子孫であり、引き継いだ素質や能力を生かして様々な敵と戦うところにあります。
現代のライトノベルの重要な要素(だと勝手に思っている)、学園・ツンデレ・幼なじみを盛り込んだ作品になっています。


ツンデレ・幼なじみ・妹・学園は、現代のアニメの重要な要素です。
ここに若者のアニメに求めるトレンドの変化が伺えます。
少し前までのオタクといえば、戦争やロボットや架空年代記のファンタジーな作品に求める傾向がありました。
その流れが大きく変わったのは、2004年頃の「電車男」がブームしたときからではないでしょうか。
多かれ少なかれ、若者は日常のなかに潜む非現実を求めるようになりました。
その流れで、現代のライトノベルのほとんどは学園を舞台としたストーリが多い気がします。


話は脱線してしまいましたが、僕はアリアの『風穴あけるわよ』のセリフが大好きです。
結局、アリアは誰の風穴もあけることなくアニメは終わりましたが。

2011年7月7日木曜日

tomcat6から7へバージョンアップして起動させるとJSPCエラー

tomcat を 6.0.32 ⇒7.0.16 へバージョンアップ。
webappsとworkのディレクトリをtomcat 6.0.32で使っていたディレクトリと差し替えて、tomcatを起動。

なにやら起動時にJSPCのエラーログが出ています。
画面は真っ白なまま。。。

どうやら、tomcat6でコンパイルされたworkディレクトリ以下の中間ファイルを、tomcat7が読みに行こうとするとエラーが出るみたいです。
とりあえず、workディレクトリ以下の中間ファイルを削除して解決しました。

(単純にバージョンアップによって、サポートするサーブレットとJSPのバージョンが変わっただけなのかな?)


バージョンアップに伴ってエラーがでることは、まあ、あるみたいです。
http://ameblo.jp/archive-redo-blog/entry-10299419792.html
http://nishi2480.blog115.fc2.com/blog-entry-15.html



■workディレクトリの役割って??
JSPが実行されるとき、変換・コンパイルという処理が行われ、サーブレットとして実行されます。
~.jsp =(変換)⇒ ~.java =(コンパイル)⇒ ~.class ⇒ サーブレットインスタンス

このとき作られたjavaファイルとclassファイルは、workディレクトリ以下に置かれます。

ここでの利点としては、1回目にJSPにアクセスするときは時間がかかりますが、2回目のアクセスからはworkディレクトリにあるjavaファイル・classsファイルを見に行くため、レスポンスが速くなります。
言い方を変えると、変換・コンパイルなどの処理が行われない分、レスポンスが速くなります。

tomcatの自動起動の設定

tomcatをリブート時に自動起動させるための設定です。

■linux
chkconfigコマンドを使って設定できます。

- ランレベルを指定した自動起動の設定
chkconfig --leve ランレベル サービス名 onかoff

# ランレベルの一覧
0 : シャットダウンに向かう状態
1 : シングルユーザモード
2 : 使用されない
3 : 標準的な状態
4 : 使用されない
5 : GUIでログインする状態
6 : 再起動に向かう状態


- 自動起動設定の確認
chkconfig --list [サービス名]

例)
# chkconfig --level 2345 tomcat on
# chkconfig --list tomcat
tomcat         0:off        1:off        2:on        3:on        4:on        5:on        6:off


■windows
Windowsのサービスから自動起動の設定ができます。
サービスのApache Tomcatのエントリを探して、ダブルクリック>プロパティからスタートアップの種類を自動にします。


■確認方法
実際にOSごと再起動させてみて、ブラウザからhttp://localhost:8080/ で下のような画面が出てればOKです。

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-073.35.43-2011-07-7-03-13.png

2011年7月6日水曜日

tomcat 7.0.16をダウンロードする(CentOS)

tomcat7.016をインストールして、実際に動かすところまで。
(特権ユーザは作っていません。)

適当なディレクトリ (/tmp) に移動。
# cd /tmp
tomcat 7.0.16をダウンロード。
# wget http://ftp.kddilabs.jp/infosystems/apache/tomcat/tomcat-7/v7.0.16/bin/apache-tomcat-7.0.16.tar.gz
展開
# tar -zxvf apache-tomcat-7.0.16.tar.gz
移動
# mv apache-tomcat-7.0.16 /usr/local/
シンボリックリンクの作成
# ln -s /usr/local/apache-tomcat-7.0.16/ /usr/local/tomcat


tomcat起動
# /usr/local/tomcat/bin/startup.sh

http://localhost:8080/ でtomcat管理画面が開けばOK

2011年7月5日火曜日

鍵を生成する

暗号化されたWebサーバー(Apache + SSL)
で紹介した鍵の生成について、説明を補足したいと思います。
■証明書の作成                                       

~省略~

②Webサーバ鍵の作成
# openssl genrsa -des3 -out ssl.key/server.key 1024

-des3 : DES3方式でファイルを暗号化
-out ssl.key/server.key : 生成する鍵のファイル
1024 : 鍵の長さ

表示される指示に従って、パスフレーズを入直します。

opensslについての詳しい説明は、manコマンドで見ることができます。


■非対称暗号方式の鍵の生成 genrsa
- genrsa(Generation of RSA Parameters.)
RSAとは、素因数分解の解読困難性に基づく公開暗号方式の一つ。
1978年に開発されて、広く公開されています。

例)openssl genrsa [ -des | -des3 | -idea ] -out file -rand file [numbits]

- gendsa(Generation of DSA Parameters)
DSAとは、離散対数問題に基づく公開鍵暗号を応用して開発された、デジタル署名方式の一つ。

例)openssl gendsa -out file


■暗号化アルゴリズムの指定 -des3
秘密鍵をファイルにそのまま保存するのは、セキュリティ面で危険なので、秘密鍵のファイルを共通鍵暗号のdes3方式で暗号化しています。

- des3
168ビット(実質的には112ビット)の固定長の鍵で暗号化。DESの延命措置として設計された

- des
56ビットの固定長の鍵で暗号化。

- AES
128、192、または256ビットの鍵を使用。アメリカ政府によってDES/3DESの代わりに採用された。


■鍵の中身をみる
# openssl genrsa -des3 -out ssl.key/server.key 1024
で生成されたのは秘密鍵だけです。

# cat server.key
-----BEGIN RSA PRIVATE KEY-----                            
Proc-Type: 4,ENCRYPTED
DEK-Info: DES-EDE3-CBC,F9DCCDC63CF70577

2IR2+M77stMurZo7oovmryQZQDkiFZT3vEukHjnTvT5qLurwRTOs7PAzvqeaniqJ
F+WBgZ0afXnVX6u0QNTbgBDocYRk/pvFNUkelt5NpYacaTNCbsJBy2Xeg2WTrRba
H0gUH8YCoSSV9gRE68zUEJHJKNWI3OQoV81EoRVG4ivR1Uha/9CC5l20kj4aXBDg
cZhwD9XPdcAZO0MBMxIpkVZ73rBlnURTo1/7tdsq8d19gOWQ1100oOhvqb+Yq/8T
3iFndmObcTvlXBsm603RaJmV7V57Ww9WCcOG9kGnJyCcwwmsogRPuyMDV8FJbh7v
BibKIv5c+tCBEPNE5TTLPGi0/I7BrFtM6WskW2HwhhbWHBIJjUIR0t+uvfNwihhS
BgPwlSDUco9zbQGdfITH2F9U26h1i6ZdcndhzAVDZcBNZ+e7Uqb4du0aOxn2IjN9
UUPN+727HidX7NWRlWZpoiro1YAmORxvo6HuXpkdL92kMwgE8K5zU5JPH4PNKAgL
XIn+P59abkenWsvSE6+9zU6umAB74vFTx0kfr8ocmQgLfLiJG8EV+bcOxRkPPDzU
ezac7tLjL+cd346mYDoEjtXIdUR/BMY8yp/eCukCYI2QoTItmrCWvUZ59JM+kZhV
tFVbbNLuqXx9o38NfG6QP/2AQYi8jM/dNluNIkYQ4vtVB0NK6cE+pt4fxkeaF8Wb
0iE661Lq07hcC8TRYOLUs0NfCCHYnLKaTBYXqSsi8gVHBX1GdvtInu2hlgAz6vMr
qH/RmqYMFwDRzzZtVBozuFzqH7u9ZD/dyQsShco1tJq6avgvaO/Jow==
-----END RSA PRIVATE KEY-----


秘密鍵から公開鍵を再現することもできます。
# openssl rsa -in server.key -pubout
Enter pass phrase for server.key:                             
writing RSA key
-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCUvVrWw6cpTJfs01NqGreIKvxO
jBG2ZL34bMIaIrWQCWcI9FzJINuoYU/CCck3HfsekEYwtrSKPD6nngQUz7jVtKXf
AfpHd87+9hZF21Bx4iCVvWtdKRlVhRUAIDjYeCsKUiCMuZJw/GCLa1U/qHSavurl
lZMrijtXjjRl/h9+ewIDAQAB
-----END PUBLIC KEY-----

2011年7月4日月曜日

mod_perlをApacheに組み込む(Linux)

mod_perlとは、Apacheの追加機能(モジュール)の一つで、Perl言語で書かれたプログラムを高速に実行する機能です。
CGIでPerlスクリプトを実行すると、呼び出しごとにPerlを起動してスクリプトを読み込むために時間がかかりますが、mod_perlを使うと、変換後のプログラムをメモリ上にキャッシュすることができます。


■mod_perlのインストール
yumコマンドでインストール。
# yum -y install mod_perl

yumコマンドが使えないときは、ダウンロード⇒展開⇒make⇒make test⇒make install でもインストールできます。


■Apacheの設定ファイルを変更
ここでは、全てのcgiファイルに対して、mod_perlを使うよう設定します。
httpd.confの編集
LoadModule perl_module modules/mod_perl.so

PerlModule ModPerl::Registry
<Files *.cgi>
SetHandler perl-script
PerlOptions +ParseHeaders
PerlResponseHandler ModPerl::Registry
</Files>

後はApacheを再起動して動作確認すれば良いです。


■備忘録
mod_perlの環境で、DBD::OracleでOracleに接続しようとするとエラーが出る。
ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc. at /var/www/cgi-bin/dbtest.cgi line 7.

調べてみると、同じような原因でつまづいている人が多いみたいです。
http://www.gossamer-threads.com/lists/modperl/modperl/84070
http://q.hatena.ne.jp/1214968851

半日ほど使ってあれこれやってみたのですが、いまだ解決せず・・・。

2011年7月3日日曜日

ホタルがいない

http://homepage3.nifty.com/hikarigaoka/shiki/hotaru/

県立四季の森公園でホタルが見れるらしい。
そんな噂を聞きつけて、先日ホタルの観察に行きました。

・・・ホタルがいない??

調べてみると、ホタルによっては、光る時間帯というものがあるようです。


■ホタルが飛ぶ条件
・きれいで流れがゆるやかな水場
・曇っていて風のない夜
・生暖かい日
・20時頃


■ホタルの光るメカニズム
ホタルの体内で起こる化学反応によって、得られたエネルギーが発光のエネルギーとなって光ります。
特筆すべきなのは、変換効率の高さにあります。
実験によると、得られたエネルギーが発光のエネルギーに使われる変換効率は約9割であることが明らかになっています。
これは、現在知られている発光システムの中でも最高の効率です。

現在は、ホタルの変換効率の良さを明らかにして、バイオ産業や医療など様々な分野で応用していく動きが進んでいます。


■感想
東京でホタルが見れることを知りました。
ただスポットとなる場所は減り続けているみたいです。
僕の友達も、以前は近所でホタルが見れていたが、今はそこにホタルがいないよ、と言っていました。
きれいな川が減ってきている、ということなんでしょうか?

そんな中、川をきれいにしてホタルを取り戻すボランティアをしている場所もあるようです。
http://www.ecolife-net.jp/kankyojiman/date/20nen/kids/23.html

ホタルの集まる場所に、人も集まります。
鮮やかな光景を残していくためにも、ゴミは持ち帰る、といった配慮は大事です。


参考)
ほたる鑑賞に行こう
http://www.rurubu.com/season/summer/hotaru/column.aspx
有機ELの科学;ホタルの発光から量子効率まで
http://www.s-graphics.co.jp/nanoelectronics/news/oelfirefly/
ゲンジボタルの発光現象の仕組みをとらえる

目覚ましテレビ『ココ調』のロケに参加

フジテレビで働く友達のツテで、目覚ましテレビの『ココ調』のロケに参加することになりました。
熱いラーメンを食べたときと冷たいラーメンを食べたときの体温変化について調べるものです。

お台場のフジテレビに初めて入るということで貴重な体験でした。

ラーメンを食べて、一定時間おきに、体温を測定する赤外線センサを使ったり、体の表面温度を測ったり、と本格的な調査でした。
結果は乞うご期待です。
7月6日(水)に放送されます。

大学の同級生・後輩とともに参加。
良い笑顔です。

RIMG0234-2011-07-3-22-31.JPG


RIMG0235-2011-07-3-22-31.JPG

RIMG0236-2011-07-3-22-31.JPG

2011年7月2日土曜日

暗号化されたWebサーバー(Apache + SSL)

apache + SSL でHTTPSを利用することができます。
HTTPSについては、HTTPSとは で詳しく述べています。

ApacheでSSLを利用するには、下記のものが必要になります。
・OpenSSL : SSLを利用するため
・mod_ssl : ApacheをSSLに対応させるため

今回はSSL対応のWebサイトのテスト運用ということで、Webサイトの鍵を自分で証明する自己署名という方法を使います。(本格運用するためにはCAへの登録が必要)


■OpenSSLのインストール
Linuxのディストリビューションによっては、yumコマンドが使えます。
yumコマンドが使えるとき
# yum install openssl

yumコマンドが使えないとき
http://www.openssl.org/source/ から[LATEST]とついたファイルをwgetコマンドでダウンロード
例)# wget http://www.openssl.org/source/openssl-1.0.0d.tar.gz

②ファイルを展開
# tar zxvf openssl-1.0.0d.tar.gz

③ソースをファイルに合わせて設定
# cd openssl-1.0.0d
# ./config

④ソースをコンパイル
# make

⑤インストール
# make install


Windowsの場合
http://www.slproweb.com/products/Win32OpenSSL.html からOpenSSLをダウンロードして、インストール。(OpenSSLをインストールするには、事前にActivePerlのインストールが必要)


■mod_sslのインストール
Apacheのインストール時点で、mod_sslがインストールされていることがほとんどです。
それでもmod_sslが無いよ、ってときはyumコマンドでインストールしてください。
# yum -y install mod_ssl

参考)http://thinkit.co.jp/free/article/0706/3/7/



■証明書の作成
①適当な作業ディレクトリに移動して、鍵と証明書を入れるディレクトリを作成します。
# mkdir ssl.key ssl.crt
# chmod 700 ssl.key ssl.crt

②Webサーバ鍵の作成
# openssl genrsa -des3 -out ssl.key/server.key 1024

-des3 : DES3方式でファイルを暗号化
-out ssl.key/server.key : 生成する鍵のファイル
1024 : 鍵の長さ

表示される指示に従って、パスフレーズを入直します。

③証明書の作成
# openssl req -new -days 365 -key ssl.key/server.key -out ssl.crt/server.crt

-days 365 : 証明書の有効期限
-key ssl.key/server.key : サーバー鍵のファイル
-out ssl.crt/server.crt : 生成する証明書のファイル

表示される指示に従って、質問に答える

③自己署名
# openssl x509 -req -signkey ssl.key/server.key -days 365 -in ssl.crt/server.crt -out ssl.crt/server.crt

今回は自己署名ということで、CAの代わりになって、証明書に署名する。
表示される指示に従って、パスフレーズを入力します。

④鍵のパスフレーズの解除
正式なSSLの運用では、この手順を実行しないでください。
自己署名のテストなので、パスフレーズを解除しています。

# mv ssl.key/server.key ssl.key/server.key.bak
# openssl rsa -in ssl.key/server.key.bak -out ssl.key/server.key

⑤Apacheの設定
ssl.confの設定も見にいけるようにしておく

今回は、httpd.confに下の設定を追加しました。
LoadModule ssl_module   modules/mod_ssl.so
Include /etc/httpd/conf.d/ssl.conf


ssl.confの設定ファイルを開いて、ポート番号、証明書と鍵の場所を追加してください。
今回は、ssl.confに下記の設定を追加しました。
#ポート番号の指定
Listen 443
#サーバー証明書の場所
SSLCertificateFile /etc/httpd/conf/ssl.crt/server.crt
#サーバーの鍵の場所
SSLCertificateKeyFile /etc/httpd/conf/ssl.key/server.key
#httpsの仮想ホスト
<VirtualHost *:443>
#サーバー名
ServerName lovemoe.moe.hm:443

⑥Apacheの再起動

これで完成。httpsでアクセスして、https通信できればOK。
例)https://lovemoe.moe.hm/index.html

上手くいかなければ、apacheを起動したときのログを見て、対処する。


■httpsへアクセスする
firefoxで開いて、httpsでアクセスする
下の画面が出てくるので、”危険性を理解した上で接続するには > 例外を追加...”を選択
%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.37.17-2011-07-2-13-15.png


下の画面が現れるので、”セキュリティ例外を承認” を選択
%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.38.25-2011-07-2-13-15.png

URLの左にある、青色の部分を選択すると、下のような画面がでます。
ここから、証明書についての詳細を表示することができます。

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.28.08-2011-07-2-13-15.png

こんな感じ

%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.41.14-2011-07-2-13-15.png




■取得した証明書を削除する
不必要な証明書をブラウザに取り込んでしまったので、削除したい。
(今回あやまって、https://lovemoe.moe.hm/index.html をアクセスして証明書をブラウザに取り込んでしまった人のために)

FireFoxだと、環境設定>詳細>暗号化を選択すると、下記の画面がでます。
“証明書を表示” を選択します。
%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.43.02-2011-07-2-13-15.png

下の画面から、取り込んだ証明書を削除することができます。
%2525E3%252582%2525B9%2525E3%252582%2525AF%2525E3%252583%2525AA%2525E3%252583%2525BC%2525E3%252583%2525B3%2525E3%252582%2525B7%2525E3%252583%2525A7%2525E3%252583%252583%2525E3%252583%2525882011-07-0216.44.20-2011-07-2-13-15.png