忘れたときに備えた記録

トップ 最新 追記
2005|02|03|04|05|06|07|08|09|10|11|12|
2006|01|02|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|05|06|07|08|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|11|12|
2009|01|02|03|04|05|06|10|12|
2010|06|07|08|12|
2011|07|09|
2012|09|11|
2013|02|03|09|
2015|10|11|
2016|01|08|11|
2017|02|08|10|
2018|11|

2005-06-01(Wednesday)

Apacheでのワイルドカード証明書

同じIPを持つホストで、複数のホスト名をバーチャルホストで作り、各ホストをhttpsサーバとして働かせる方法。

僕が使っていた以前までの方法では、証明書を作る際にホスト名を1つだけ指定しており、Apacheでは同じホストの同じポート(443)に対応する証明書が1つしか使えないので、同時に動かせるhttpsのサーバも1つだけだった。

例えば、www1.hinet.mydns.jpとwww2.hinet.mydns.jpの2つのホストを動かしていても、httpsできるのはどちらか一方だけだった。

で、これをどちらでもhttps出来るようにする方法。証明書を作るときのホスト名を*.hinet.mydns.jpとして、Apacheの設定ファイルの各VirtualHostの中で同じ証明書を使うようにする。同じ証明書で複数のホストをまとめて証明してしまおうと言うわけ。

これで、ブラウザからつないでも「証明書に書かれているホスト名が違います」と言うエラーが出なくなる。

Tags: メモ

2005-06-02(Thursday)

PuTTY + Emacsでの日本語入力

PuTTYでホストにログインして、Emacsで日本語入力する方法

(set-keyboard-coding-system 'euc-jp)

うちで使っているDebianでは、これがデフォルトでは japanese-iso-8bitになっているせいでWindows側の日本語入力が正しく伝わらなかったのだ。

FreeWnnなりCannaなり使ってEmacs側で日本語入力できなくもないんだけど、それだと親指シフト入力ができないので。


2005-06-05(Sunday)

今後、tDiary-XHTML化キットの開発に関する記録もこちらに書くことに。

tDiary-XHTML化キット開発記

何しろ本格的なRubyのプログラム自体まだ始めたばかりなので、やたらと初歩的なところでつまづいてしまう。

まず、動作試験用に作ったスクリプトを実行しようとして

-bash: ./test.rb: /usr/bin/env: bad interpreter: 許可がありません

と怒られた。

ええっ!?と思って散々調べた挙句、実はパーミッションを何故か605にしていたというオチ。

次。別のRubyソースをrequireしようとしたら、「そんなファイルはありません」と怒られた。

tdiaryのソースをまねして同じ書き方をしているのに、なんで!?と思って散々調べたら、requireする用の検索パス'$:'を適切に設定していなかったのが原因。奥が深い。

取りあえず出来上がり

というわけで、XHTML化キットとして作ったもののデモがこちらにあります。

最初はHTMLとして表示され、特定のリンクをクリックするとXHTML化するように動くのがミソです。

ファイルはこちら -> x-tdiary.20050606.tar.gz

予め tDiary-2.0.1 を動作する形で用意しておき、そこに追加する形で展開して下さい。

その後、index.rb, update.rbの代わりにそれぞれx-index.rb, x-update.rbを使用するように、.htaccess, tdiary.conf等を修正すれば動くはずです。

本日のツッコミ(全1件) [ツッコミを入れる]

_ yamk [WinXP + IE6 で XHTML を見たところ、以下のエラーが出てしまいました。 「テキストの内容に無効な文字..]


2005-06-06(Monday)

yamkさんすみません、閲覧環境について言及するのを忘れていました。

XHTML化tDiaryの閲覧環境について

  • IEでは、MathPlayerをインストールしないとエラーが出るようです。
  • Firefoxでは、フォント関係のエラーが出ますが、取りあえず動作確認のページに表示している数式はフォントの追加インストールなしでも見られるはずです。ただ、Linux版だと行列の括弧が綺麗に大きくなりません。

あれ!?

MathPlyerを追加しても、IEでは見れませんでした。う〜む。

トップページ

お知らせやダウンロード案内と、日記とを分ける為にトップページをこしらえてみました。


2005-06-12(Sunday)

サーバの取り替え

今までこの日記は、玄箱HG(PowerPC 200MHz)にDebianを入れてその中で動かしていたが、色々とすることが出来てきて玄箱には荷が勝ちすぎる場合が増えてきた。

で、5年ほど前に購入してここ2年ほどはサブマシンとして余生を過ごしてきたGateway製のパソコン(PentiumIII-733MHz)を、電源を最近の静音仕様のものに取り替えれば使えるんじゃないかという案を思いつく。マシンが僕の寝床の足の向こう3m程のところに鎮座しているので、普通の状態だとうるさくて夜中は動かしていられないのだ。

てなわけで、ヨドバシカメラで玄人志向製のATXな静音電源を買って来て、嬉々として取り付けようとして深刻な問題が発覚。Gatewayマシンのケースの規格が何世代か前のもので、ATX電源が取り付けられなかったのだ。

結局、ケースからマザーボード、CPUにメモリーと一通り買い込んで、新しいサーバーマシンを作ることになった。

設定を変更してサーバが外から見えなくしてから、新マシンにOSをインストールしてデータを玄箱から移動して、何とか出来上がり。というのが今朝未明のお話。

今朝昼過ぎになって新たなサーバを改めて立ち上げて、データが移っているか確認してみてあらビックリ。トラックバックが入っていました。どうもサーバを外から見えなくする寸前に来ていた模様です。

というわけで、ヤンさん、お返事が遅れたのはこんな事情があったのですが、どうも失礼しました(汗

宣言を書き換えたページのそちらでの掲載、一向に構いません。

tDiary-XHTML化Kit

header.rhtmlでXML宣言抜けが発覚tDiaryへのパッチ形式だった古いバージョンではきちんと書いていたから、XHTML化キットにしようとして改めて書き直したときに書き漏らした模様。

修正したものはSubversionのリポジトリで公開しています。

XHTMLの規格

このXHTMl化キット、開発の手順として、

1.取りあえず手元の環境で動作するものを作り

2.それから改めて厳密なXHTMLを出力するようにrhtml等を調整する

という予定で進めているので、他にもいくつか正しくない書き方があります。恐らくはそのせいで、現在に至っても僕のサイトのテストページは、XHTMLモードにするとIEでは閲覧できません。もう少々お待ち下さい。


2005-06-14(Tuesday)

IEでのXML,XHTMLの表示実験

ヤンさんのところでやっている実験を、僕のところでも試してみました。僕の入れたツッコミに関して調べるのが目的。なので、3種類の拡張子をディレクトリ毎に同じContent-typeにしています。

結論

IEは拡張子ではなく、ちゃんとContent-typeで判断してくれてます(つД`)なのであのツッコミは大嘘と言うことで。

Application/xmlだけ単なるxml文書として表示して、他の2種類はきちんとxhmlとして表示しています。

でもtext/xmlなのにxhtmlとして表示しちゃうのって、変な気がするなぁ

追記

この辺のContent-typeの由来を知りたくて検索して見つけたページ。

XHTML Media Types (ja)

後できちんと目を通しておこうっと


2005-06-17(Friday)

DelphiのTImageにおける描画処理の流れ

例えばこんな処理

Im: TImage;(フォームのメンバー変数)
procedure Form1.Button1.Click;(フォーム上のボタンのクリックイベント)
var
  B: TBitmap;
begin
  Image1.Picture.Graphics := B;
  Image1.Canvas.MoveTo(0, 0);
  Image1.Canvas.LineTo(10, 10);
end;

LineToを使ったのはフォームがどうとか知らないBitmapオブジェクトのはずなのに、ボタンをクリックするときちんと描画した内容が表示されるのが不思議で仕方がなくなり調査。以下のような仕組みで、ImageオブジェクトがBitmap.Canvas.hogeの描画処理を拾っていることが分かった。

  1. TImage.CreateでFPictureのオブジェクトを作るときに、FPicture.OnChangeイベントにPictureChanged手続きを代入。この手続きではInvalidate手続きを呼び出している。
  2. TPictureのGraphicsプロパティにBitmap等を代入すると、BitmapのOnChangeイベントに自分のChanged手続きを代入。この中ではOnChangeイベントを呼び出している。
  3. TImage.CanvasはPicture.Graphics.Canvasを渡している。
  4. ここまでが準備。
  5. Image1.Canvas.hogeとすると、Bitmap.Canvas.hogeが実行される。
  6. すると、BitmapのOnChangeイベントが実行され、そこから上記の流れを遡ってImage.PictureChangedが実行される。
  7. PictureChangedの中のInvalidateが、Image1に対して再描画するメッセージを送るよう、システムに通知している。

以上。

Tags: メモ

入力用フォームのサイズを大きくする方法

スタイルファイルの form.update textarea でサイズが指定されているので、次のようにする。

form.update textarea {
    display: block;
    margin-left: 3em;
    margin-bottom: 1em;
    width: 90%;
    height: 30em;
}

これをappend-css.rbで使える「CSSの追加」にでも書いておくと、広い画面で入力できるようになる。

Tags: tDiary

2005-06-20(Monday)

フォームフィールドのGETにおける区切り

tDiary-XHTML化キットの作業で日記のリンクを見ていたら、各日付の「編集」ボタンのリンクでCGIに渡すパラメータが';'で区切られているのを発見した。

CGIへのパラメータって、'&'で区切るんでなかったっけ?と思って調べたら、やはり そう だった。cgi.rbの独自な拡張なんだろうか?

Tags: メモ

2005-06-21(Tuesday)


2005-06-22(Wednesday)

外部のリンクからのアクセス

tDiaryをXHTML化したとして、例えば次みたいな状況を考える。

Tags: x-tdiary
  1. ある日付の日記に、別のtDiaryへのリンクを張る
  2. その日記をXHTMLモードで見る
  3. その状態でリンク先へ飛ぶ
  4. リンク先の日記のリンク元には、XHTMLモードでのURL(?xhtml=on)が記録される
  5. そのリンク元リンクを、XHTMLに対応していないブラウザでクリックする

こういう場合にはURLでの指定を無視して非XHTMLモードで動作させたい。

てなわけで、そういう処理を作って テスト中。←このリンクはXHTMLモードで動くように指定してるけど、この日記とリンク先の動作試験ページは別の日記なので、指定を無視して非XHTMLモードで動くはずです。

う、この方法でXHTMLモードを制御すると、ブラウザのキャッシュを無効にするか、いちいちスーパーリロードしないと切り替わったものが表示されないなぁ


2005-06-23(Thursday)

外部からのリンクでXHTMLモードにならないようにする処理

昨日書いたような処理がとりあえず完成。LastModifiedのタイムスタンプを1秒だけ減算して警告ページを表示するようにしたので、初めて訪れてくる人はHTML版のページに誘導され、一度XHTML版のページに入ってキャッシュを持っている人はそっちが効いて直接XHTML版のページを表示できるようになった。

こちら から入って試せるようになっています。

Tags: x-tdiary

2005-06-26(Sunday)

玄箱

マニュアルをどこかにやってしまったので、デフォルトのパスワードをメモ。

WEB用 : webadmin

コンソール用 : kuroadmin

Tags: メモ

2005-06-30(Thursday)

このページを作ったのは、Linuxや各種サーバのインストールを何回も行うときの為に、忘れたら困るけど覚えずらい項目を保存しておくのが目的でした。だから備忘録。

それをこうして公開しているのは、そもそもここに書いてあることのほとんどが元々はネット上で検索して調べたものだからです。(だから、出来るだけ情報源になったサイトを書くようにしているけど、書き損ねているものもあるかもしれません)

僕と同じはまり方をした人がもし居たならその人が一発で答えにたどり着けるように、断片的に集めたものを自分に必要な形にまとめ直して公開することで、ネットで調べさせてもらった分の恩返しになればいいなぁという思惑があるのですな。

なので、こういうコメントをもらうと嬉しくて舞い上がってしまいます。でへへへへ。

coLinuxのDebianとCygwin/X

coLinuxをダウンロードしてきてインストール。ファイルイメージにはDebianを選ぶ。

coLinuxの中で設定を適切に行い、gdmなどのディスプレイマネージャを含むX関係のパッケージをインストールする。

以下は、この環境に同じマシンのWindowsXPからグラフィカルログインできるようにするためのメモ。

Cygwinのホームページからsetup.exeをダウンロードしてきて、どのパッケージをインストールするかを選ぶダイアログで All Default となっているのを All Uninstall としてから、X11の下の「xorg-ほにゃらら」をInstallにする。これで、CygwinのXサーバがインストールできる。

次に、Windowsの環境変数に、'c:\cygrin\bin;C:\cygwin\usr\X11R6\bin'(デフォルトのフォルダにインストールした場合)を追加する。

'C:\cygwin\usr\X11R6\bin'にXという名前のショートカットがあるので、これを適当な名前でコピーして、プロパティを開く。まず「読み取り専用」に入っているチェックを外しておく。

んで、「リンク先」を'C:\cygwin\usr\X11R6\bin\XWin.exe -query 192.168.0.40 -rootless'として実行すると、coLinux上のgdmを使ってログインできる。

独特なキーボード(例えば富士通の親指シフトキーボード)を使っていると、うまく認識してくれなくて英語キーボードとして扱ってしまうことがあるので、そのときは'-xkbmodel jp106 -xkblayout jp'とすればうまく動く。

ちなみにcoLinux側のgdmの設定は、ここに書いていることそのまんまでOK。XKeep云々の設定はいらなくて、代わりにgdm.confの[servers]の節にある0=Standardをコメントアウトする。

Tags: メモ