静岡に1/1リアルガンダムを見に行きました。昨日と今日の2日間、夕方から終了まで居ました。
公開は来年1月まで続きますが、9月からは18時までとなるため、夜のショーを見るためには、夏休み中の今が最後のチャンスです。
土曜日は夏休み最後の土曜日ということで大勢の人出でした。とはいえ、昨年のお台場に比べるまでもないですが、公開期間も長いため東京ほどには混雑していませんでした。
2日間織り交ぜて写真掲載します。
一日目は静岡駅近くのホテルから一駅だと思って東静岡駅まで歩いてきました。一駅だと思っていたら、30分もかかってしまいました。ということで、帰りと2日目はJR移動です。
東静岡駅の脇からガンダムがのぞいています。
駅構内からもガンダムが見えましたが、2日間富士山は見えませんでした。駅からだと見えるはずなのですが・・・残念です。
駅前公園への階段途中からだとちょうど正面を撮れます。
入場します。
リアルガンダムに再会です。感動ですねー
今回はお台場でも好評だった「タッチウォーク」の他に、「フォトデッキ」ということで、ガンダムの前でスタッフが写真を撮ってくれるコーナーが増えていました。
手持ちのカメラで一枚、プロのスタッフが一枚撮ってくれます。プロの撮った写真は下で1000円で販売されます。高いので自分は買いませんでしたが、皆買っていましたよ。
タッチウォークも待ち時間は短いものでした。土曜日は1時間くらいでしたが、日曜日は30分くらい。
間近で見るガンダムはやは大きいです。
回りに何もないお台場に比べ、今回はすぐ後ろに巨大なビルが立っているため、間近でないとその大きさを実感できません。ちょっと残念。
デカールも静岡バージョンとなっています。
オフィシャルショップもガンプラ生誕30周年バージョンです。会場限定パンフレットもガンプラ30周年の歴史です。これが意外と楽しい内容となっています。昔を思い出すなー
飲食スペースには秋葉原で盛況な「ガンダムカフェ」の静岡出張所が出店しています。期待していた連邦スーツのウェイトレスはいませんでしたが・・・
折角なので、2日ともにガンダムカフェを体験してきました。
一日目は、「ジャブローコーヒー」に「ガンプラ焼き(あずき)」です。
二日目は、「コーヒーフロート」に「ガンプラ焼き(クリーム)」です。ガンプラ焼きの皮はサクサクしていますよ。
去年ほどの初物の感動はありませんが、やはりガンダムは最高です!!
今年は、写真だけではなく、カメラで30分おきのショー映像も撮りましたので、期間限定で公開します。
三脚なしで手持ちで撮影していましたので、ちょっとブレブレです。
月: 2010年8月
Virtual Server 2005 R2上のDovecotが落ちる・・・
Virtual Server 2005 R2上にCentOS5.5をインストールして、PostfixとDovecotでメールサーバーを組みました。
が・・・・・Dovecotが頻繁に落ちるのです。
dovecot: pop3-login: Time just moved backwards by 5 seconds. I’ll sleep now until we’re back in present. http://wiki.dovecot.org/TimeMovedBackwards
dovecot: auth(default): Time just moved backwards by 4 seconds. I’ll sleep now until we’re back in present. http://wiki.dovecot.org/TimeMovedBackwards
dovecot: Time just moved backwards by 6 seconds. This might cause a lot of problems, so I’ll just kill myself now. http://wiki.dovecot.org/TimeMovedBackwards
こんなエラーメッセージが続きます。
意味は「時間が○秒戻ったので私(Dovecot)は停止します」って、勝手に死ぬなよー
Virtual Server上に入れたCentOSはクロックの割り込みがうまく行かず、時間がすぐに大幅に狂ってしまいます。
そこでNTPサービスをインストールしましたが、時間が狂いすぎるのか同期できず、仕方なしにバッチで強制的に合わせていました。
# vi /etc/crontab
—
*/10 * * * * root ntpdate 219.164.211.137 > /dev/null 2>&1
—
しかし、エラーメッセージにある「http://wiki.dovecot.org/TimeMovedBackwards」を見てみると、このntpdateコマンドがいけないようですね。
急な同期がダメなのは次のホームページが参考になります。
http://www.ys-network.info/?p=996
このページに死んだDovecotを監視するバッチがあったのでセットします。
# vi /root/dovecot_check_restart.sh
—
#!/bin/sh
HOST=’localhost’
#PORT=110
PORT=143
#HP=@$HOST:$PORT
HP=:$PORT
echo ‘Checking to see if Dovecot is up…’
if ( lsof -Pni $HP -s TCP:LISTEN 2>&1 >/dev/null ); then
echo ‘Dovecot is up’;
else
echo ‘Dovecot is down, restarting…’;
/etc/init.d/dovecot restart
logger -p mail.info dovecot_check_restart.sh restarting Dovecot
fi
—
# chmod 700 dovecot_check_restart.sh
# vi /etc/crontab
—
* * * * * root /root/dovecot_check_restart.sh 2>&1 > /dev/null
—
# service crond restart
これで自動復帰するようになったDovecotですが、実際に接続して使用するとやはり途中で切断されることがしばしば・・・・
さらに調べていると「Virtual Machine Additions For Linux 2.0」で親ホストと同期するのがいいみたい
ということで
参考サイト
http://tnt-blog.at.webry.info/200801/article_3.html
http://www.microsoft.com/downloadS/details.aspx?FamilyID=bf12642f-77dc-4d45-ae4e-e1b05e0a2674&displaylang=en
まずはダウンロードした「VMAdditionsForLinux_32Bit.msi」を親ホスト(Windows Server 2003 R2)にインストールします。
インストールしたフォルダ内のISOファイル(C:\Program Files\Microsoft Virtual Server\Virtual MachineAdditions\VMAdditionsForLinux.iso)をCentOS5.5のCD-ROMにマウントします。
ここからは内部コマンドです。
# mount /dev/cdrom
mount: /etc/fstab や /etc/mtab 内に /dev/hdc を見つけられません
このコマンドだとエラーになりました。
# mkdir /mnt/cdrom
# mount /dev/cdrom /mnt/cdrom/
mount: ブロックデバイス /dev/cdrom は書き込み禁止です、読込み専用でマウントします
CDROM領域を作成してマウントすると読込み専用でマウントされました。
# cd /mnt/cdrom/
[root@fsmail cdrom]# ls
install.sh vmadd-kernel-module-RHEL-2.0-1.i386.rpm
vmadd-full-2.0-1.i386.rpm vmadd-scsi-2.0-1.i386.rpm
vmadd-full-RHEL-2.0-1.i386.rpm vmadd-shutdown-2.0-1.i386.rpm
vmadd-heartbeat-2.0-1.i386.rpm vmadd-timesync-2.0-1.i386.rpm
vmadd-kernel-module-2.0-1.i386.rpm vmadd-x11-2.0-1.i386.rpm
多くのRPMパッケージが入っていますね。
[root@fsmail cdrom]# ./install.sh
シェルがあったので実行してみましたが・・・・何も起きませんでした。
そこで1つずつインストール。依存関係のあったkernel-devel をUPDATE
# yum install kernel-devel
kernel-devel i686 2.6.18-194.11.1.el5 updates 5.4 M
次の順で4つのRPMパッケージをインストールしました。
# rpm -ivh vmadd-kernel-module-RHEL-2.0-1.i386.rpm
# rpm -ivh vmadd-heartbeat-2.0-1.i386.rpm
# rpm -ivh vmadd-shutdown-2.0-1.i386.rpm
# rpm -ivh vmadd-timesync-2.0-1.i386.rpm
残念…..CentOS5.5には入らないようです。
これが入ればそのまま使用と思いましたが、諦めます・・・
Cronでサービスの死活監視
最近仕事でVPSにWeb、メール(Postfix、Dovecot)、Webメール、メーリングリスト(Mailman)とインストールしたのだが・・・
本番が始まると突然のサービス停止に時々見舞われて、極めて不安定な状態です。
どうもメーリングリストの設定なのか相性なのか、ここが起因になって他のサービスが停止するようです。
ということで、死活監視を行うことになったのですが、今回はCronのみで死活監視を行うことに挑戦しました。
cronの編集は「# vi /etc/crontab」を前提としています。
Webの死活監視
0 * * * * root wget -O – (URL) > /dev/null 2>&1 || echo `date +\%Y/\%m/\%d_\%H:\%M:\%S` > /dev/null | tee -a /var/log/service_watch.log | service httpd restart > /dev/null | tee -a /var/log/service_watch.log
毎時0分に起動します。Wgetコマンドにより(URL)に指定したコンテンツを取得、取得できなかった場合は、ログファイル(/var/log/service_watch.log)に時刻とサービス再起動状態を記録します。「tee」コマンドの「-a」はファイルに追記するオプションです。
smtpの死活監視
1,11,21,31,41,51 * * * * root (sleep 2;echo “quit”) | `telnet 127.0.0.1 25 >& smtp_status`;if [ `grep -c ‘220’ smtp_status` != 1 ]; then service postfix restart; logger -t smtp “crond check – smtp service restart”; fi; > /dev/null 2>&1
1分から10分おきに実行します。quit入力を2秒後にセットし、ローカルの25番ポートに接続します。正常に接続できれば、エコーの中に「220」が入るので、それがない場合は接続できなかったと判断して、Postfixの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check – smtp service restart)で書き込まれます。
pop3の死活監視
2,12,22,32,42,52 * * * * root (sleep 2;echo “quit”) | `telnet 127.0.0.1 110 >& pop3_status`;if [ `grep -c ‘Welcome’ pop3_status` != 1 ]; then service dovecot restart; logger -t pop3 “crond check – dovecot service restart”; fi; > /dev/null 2>&1
2分から10分おきに実行します。quit入力を2行後にセットし、ローカルの110番ポートに接続します。正常に接続できれば、エコーの中に「Welcome」(独自のバナーメッセージ)が入るので、それがない場合に接続できなかったと判断して、Dovecotの再起動をします。ログは標準のmessageログに指定したメッセージ(crond check – dovecot service restart)で書き込まれます。
メーリングリストはサービスが起動していても、キューが詰まる現象があったので、1時間ごとに強制的に再起動させるようにしました。
10 * * * * root service mailman restart > /dev/null 2>&1
倶利伽羅不動尊 万灯会
お盆の今日、母を連れて倶利伽羅不動尊の万灯会に行ってきました。
どのくらい混雑するのかわからなかったので早めに出かけましたが、着いたときはまだまだ空いていました。
蝋燭の点灯準備が進む中、境内?を一通り見て回ると、津幡町文化財ともなっている古墳跡から全体を見下ろすことができました。
暗くなるまで二胡の演奏などを楽しみ、ようやく蝋燭の明かりがきれいな夜になりました。
先程の地点からみても、境内いっぱいの明かりの列がきれいです。
本堂での万灯会のあと、
池で燈籠流しが始まりました。
読経の流れる中、燈籠流しは厳かに続きました。流れが少ない池ですので、燈籠は湖岸に溜まりがちでしたが、良いセレモニーでしたね。
とはいえ、境内の一番人気!?はこちらのトロロだったり・・・するんですけど。
CakePHPサイトでSSL制御をhtaccessで行う方法
mod_rewriteモジュールでサイト全体をSSL対応(https)する「.htaccess」ファイルの書き方は・・・
RewriteEngine On
RewriteCond %{HTTP_HOST} ^free-style.biz$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://free-style.biz/$1 [R=301,L]
条件として2行目の「HTTP_HOST」はあってもなくてもよいです。
3行目の「%{HTTPS} off」により「http://で始まっている」=「https://で始まっていない」という条件になります。
4行目で絶対表示でURLを指定し、ルート以下のパスを「$1」として追加します。
さて、CakePHPサイトで「www」で始まるURLを「wwwなし」に変更してアクセスする場合の書き方を説明します。(/app/webroot/.htaccess)
RewriteEngine On
RewriteCond %{HTTP_HOST} ^www.free-style.biz$
RewriteCond %{HTTPS} on
RewriteRule ^(.*) https://free-style.biz/$1 [R=301,L]
RewriteCond %{HTTP_HOST} ^www.free-style.biz$
RewriteCond %{HTTPS} off
RewriteRule ^(.*) http://free-style.biz/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
大まかな流れは
1.www付きをwwwなしにして再アクセスする(http://の場合)
2.www付きをwwwなしにして再アクセスする(https://の場合)
3.ディレクトリやフォルダが実在しない場合はindex.phpを実行する
となります。3は通常のCakePHPのままです。
条件(RewriteCond)とルール(RewriteRule)は何個も重ねて定義されますが、「[R=301,L]」により正常に再アクセスされた場合はここで一旦終了するようになります。
http://www.free-style.biz/でアクセスされた場合は、1番目で「http://free-style.biz/」に再アクセスされて一度終了し、「http://free-style.biz/」でアクセスされて3番目でindex.phpが実行されます。
この仕組みが理解できれば、htaccessを使いこなせるようになりますよ!
CakePHPのhtaccessファイル解説
普段CakePHP(v1.3)を利用するにあたり、あまり考えずに使用している「.htaccess」ファイルについて解説します。
/(ルート)
RewriteEngine on
RewriteRule ^$ app/webroot/ [L]
RewriteRule (.*) app/webroot/$1 [L]
1行目「RewriteEngine on」はmod_rewriteモジュールを使用するためのスイッチです。
2、3行目はともに「RewriteRule」なので、書き換えルールの適用となります。意味は「app/webroot/ に移動する」となります。
/app/
RewriteEngine on
RewriteRule ^$ webroot/ [L]
RewriteRule (.*) webroot/$1 [L]
ここはルートとほぼ変わりないですが、書き換えルールが「webroot/に移動する」となっています。
/app/webroot/
RewriteEngine On
RewriteCond %{REQUEST_FILENAME} !-d
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^(.*)$ index.php?url=$1 [QSA,L]
一般公開するときはここをルートにすることが推奨となっています。その理由はこのファイルにあります。
1行目「RewriteEngine on」はmod_rewriteモジュールを使用するためのスイッチです。
2、3行目の「RewriteCond」は書き換えルールを適用するための条件を定義しています。2行目はパラメータ「-d」により、実際にディレクトリが存在しない場合、3行目はパラメータ「-f」により、実際にファイルが存在しない場合となり、両方合わせて、指定されたURLパスに実際にディレクトリもファイルも存在しない場合となります。
4行目で書き換えルールが指定されています。「^(.*)$ index.php?url=$1」は同フォルダ内の「index.php」を実行するという意味ですが、「?url=$1」の「$1」が何なのか?よくわかりませんでした。
Perlを使用するには当たり前の正規表現らしいのですが、「$1」の「$」は末尾を示すわけではなく、「$1」で「要素の1番目を適用する」ということになります。
要素の1番目とは「^(.*)$」のことです。index.phpの前に半角スペースがあり、半角スペースでつなげていくことにより要素を複数定義できます。「^(.*)$」は「先頭から0文字以上の文字列を末尾まで」という意味です。つまり、ルート以下のパスがここに入ります。
CakePHPでは必ずindex.phpから始まると誤解している人がいますが、これはある意味で正しく、ある意味で間違っています。
CakePHPのフレームワーク内の制御としてはindex.phpが常に実行されます(正しい部分)が、webwoot配下に実際に配置されたhtmlファイルや画像ファイルはそのまま表示され、index.phpは実行されません(間違っている部分)。
静的なhtmlファイルのみではなく、phpファイルであっても、webroot配下に配置すれば実行することができます。ただし、ルートが「/app/webroot/」まで下げられていないと、CakePHPのフレームワーク外ではURLに「/app/webroot/」が表示されてしまうことがあります。
炎天の雪刊行記念 諸田玲子さんトークショー&サイン会
先月まで北國新聞と富山新聞で531回連載されてきた「炎天の雪」が今月集英社より刊行されました。
本日、しいのき迎賓館の三階セミナールームで、刊行記念となるトークショーとサイン会が開催されました。
会場の手前ではうつのみや書店が諸田玲子さんの本を販売し、奥で受付をしていました。サイン会への参加は本の購入者なので、さっそく発売されたばかりの「炎天の雪」を購入しました。
廊下には連載中の挿絵を担当した横田美砂緒さんの挿絵が・・・
この挿絵が物語を盛り上げてくれたのですよね。書籍になったら・・・やはり挿絵はなくなりました。残念です。
カバーの絵だけが書き下ろしの横田さんの晋作です。
トークショーのほうは泉鏡花記念館の青山館長と進められました。自分は金沢が舞台の時代小説ということで興味はあったにしても、初めて最後まで読んだ新聞小説であったので、どこにそんなに興味を持ったのだろうと思っていました。小説の舞台となった江戸の宝暦というのは、飢饉や大火など貧困にあえいだ時代であり、泰平から変化への過渡期となった時期ですが、現代も不況が長引き、9・11以降の社会不安があって、そのあたりは時代背景が似ているところは、実は意図的だったそうです。
構想時には一年ぐらいの泥棒の物語だったそうですが、進むにつれ、将軍の母や加賀騒動に巻き込まれた子供たちが活き活きと活動し、諸田さんによって一番の長編となったそうです。書くときは1か月分以上で書き上げていたらしく、連載とはいえ、引き込まれる展開はそこらにもあったそうですよ。
1時間の楽しいトークショーはあっという間に終わり、本の購入者に向けてサイン会が始まりました。
「炎天の雪」は上下2冊なのですが、2冊ともにサインしていただきました。作家さんの直筆はとてもきれいな字とは言えない方も多いのですが、諸田さんの字はとてもきれいな字ですね。
トークショーへの参加者は先着100名でしたが、サイン会に参加したのは30名弱でしょうか?私は17番目でしたが、滅多に参加できない作家さんのトークショーに参加していながら勿体無い話です。
上下で4000円ですよ。会いたいといってもそう簡単に会える方でもないのに・・・
その分一人ひとりはゆっくりとサイン書いていただけたので良かったです。
「炎天の雪」は上下2冊ですが、531回の新聞連載をそのまま収録したのでは2冊には収まらないそうです。
そうです。この単行本化するにあたり、すべてを推敲しおなしているんですよ。新聞連載と比べながら読む楽しみもあるんですよ。金沢の時代小説の決定版ですので、そのうち「炎天の雪」の観光スポット案内でも作りましょうか。
「鏡花と能楽」 後期展
泉鏡花記念館と金沢能楽美術館で開催中の「鏡花と能楽」ですが、昨日より後期展が始まったので、両館見てきました。後期展では「照葉狂言」と金谷御殿を中心に展示されていました。