SSLのインストールに失敗する

SSLの更新期限が近づいてきたのですが、新しいブランドでサービスを行うとのことから、乗り換えることにしました。
前回と同じようにか秘密鍵を生成して証明書を発行してもらって、Apacheにインストール・・・に失敗します。
よくよく調べてみると、モジュラスが異なっているためにhttpdが起動できない模様です。
なぜこうなったのかよくわからないまま、再発行をお願いすることになりました。

とりあえず、モジュラスの確認方法をメモで残しておきます。

<サーバ>
Apache + mod_ssl + openssl

<エラーメッセージ>
Unable to configure RSA server private key

<調べ方>
証明書のモジュラスを表示
openssl x509 -noout -text -in certfile

秘密鍵のモジュラスを表示
openssl rsa -noout -text -in keyfile

この結果において、「modulus」と「public exponent」が同じでない場合、認証できないのでApacheが起動しないようです。

ImageMagickの書籍紹介

書店で見かけたImageMagickの本です。
これからImageMagickに触れてみようという人にとっては、とっつきやすいかもしれません。
しかし、値段も馬鹿高いし、表紙も胡散臭いし、google先生と仲良しな人には、正直読むところがありません。

イラレと同じ大きさの画像を作る

ImageMagickでEPSを背景なしのpngにする方法があったけど、やり方をすっかり忘れてしまったので、GostScriptにお願いすることに。

・イラストレータで見た大きさと同じ画像に変換するには「-r72」のおまじない
・背景を透明にするには「-sDEVICE=pngalpha」のおまじない

を唱えよう

gs -q -dSAFER -dNOPAUSE -dBATCH -sDEVICE=pngalpha -dEPSCrop -r72 -dTextAlphaBits=4 -dGraphicsAlphaBits=4 -sOutputFile=output.png input.eps

Windowsの場合はgsではなくgswin32cになります。

Fedora10をインストールしてみる

最近リリースされたFedora10をインストールしてみる。

とりあえずはISOイメージをダウンロードして、DVDに焼付け・・・を開発機ではライティングソフトがこけるので、クローラー機にコピーして焼くことに。
とりあえず問題なく焼き終わったので、インストールテスト専用マシンに突っ込んで、インストールの開始。

WordPressを2.7にしてみた

ダッシュボードでずっとアナウンスされていたけど、日本語版がまだ2.5.3のままでしばらく放置していました。

先ほど確認してみたら日本語版も2.7がきていたので更新することに。
何が変わるかというと、管理側が大幅に更新されるということは、定期確認で知っていたけれど、実際に使ってみないとどうなるかまではわかりません。

とりあえず・・・今風になったかな、という感じですね。
原因不明で消失していたメニューのメディアも復活したし、ファイルのアップロードもできるようになったようです。

テーマを自作できればもうちょっと広がるのでしょうけど、今のところは拾ってきたものでガマンガマン。

ImageMagickでEPSを画像に変換したときの色化け

とりあえず何の変哲もないコマンド

convert sample.eps sample.png


シンプルなEPSならなんら問題なく画像になるのだけれど、グラデーションの場合に問題が発生する。
若干輝度が高くなってしまうのだ。
塗りとグラデーションが混在している場合、塗りは問題なく色が出るけれど、グラデーションは明るめに色が出てしまう。
これはどうやって回避すればいいのだろう・・・

WCG-BOINC@MIXI

分散コンピューティングBOINCのWCGプロジェクト日報サイト「WCG-Team 2ch:404」のBOINC@MIXI版です。
ちょっと前(2008-12-05)から制作に入っているのですが、基盤はあったので、まぁ順調に進んでいるところです。
システムはPerlでmod_perlに対応。自作のキャッシュ機能付きテンプレートモジュールとの併用で、体感速度も大幅に向上。
もともとメンバ数が少ないのもあるのでしょうが。
mixiではアスキーアートの表示を意識したスタイル設定が存在しないので、日報支援機能はありません。
要望があればmixiに対応したものを考えますが、文字の幅を調べてもらえるならば、専用のモジュールを作ってもいいですね。
とりあえず、今はここだけの公開ですが、興味があればWCG-BOINC@MIXI:404までお越しください。
もう少し様子を見て問題なければmixiに投稿します。

モジュールがmod_perlに対応しているかどうかについて

mod_perlでいろいろ動かしてみると、モジュールの対応というものを意識せざるを得なくなりました。
自作のテンプレートモジュールをテストしていたところ、どうも通常とは結果が異なることに気がつきました。
よくよく調べてみると、モジュール内で保持している変数の値がずっと残っているためと判明。
newで呼ばれるところに初期化の処理を加えたところ、希望通りの動きをしてくれました。
よくよく考えると当たり前なのですが、作りが甘いことを実感しました。
公開中のものも、そのうち修正しないとダメですね。

CentOS5.2でmod_perlを使えるようにする

かなり昔(確かApache2.0が出た頃)にWindows2000でmod_perlを使ってみようとして挫折したままでした。
なぜ動かなかったのかまでは、はっきり覚えていません。
心機一転、改めてmod_perlに挑戦です。
OSはCentOS5.2、Apacheは2.2.3、mod_perlは2.0.2です。

まずは、mod_perlをインストールします。

yum -y install mod_perl


パッケージが見つかるとインストールが開始され・・・ずに、

Parsing package install arguments
Package mod_perl - 2.0.2-6.3.el5.i386 id already installed.


つまり、既にインストールされているとのこと。
手間が省けてラッキーなのか、必要のないモジュールをロードしていたのは問題なのかは気にしてはいけません。
次に、httpd.confを設定しますが、この環境ではperl.confから設定をロードしているので、そのファイルの編集します。

LoadModule perl_module modules/mod_perl.so


これは先述の通り、インストール済みでロード済みなので、このまま。
仮にコメントアウトされているなら外します。
次に、スクリプトの起動設定ですが、perl.confで弄ると、なぜか500エラーになってしまうので、.htaccessで設定を行うことにします。本当はエラーの原因を見つけ出して修正できればいいのですが、まだまだ勉強が必要のようです。
httpdをrestartして問題がなければ、.htaccessの設定に移りましょう。

# mod_perl
<IfModule mod_perl.c>
  <Files ~ "\.(cgi|pl)$">
      SetHandler perl-script
      PerlHandler ModPerl::Registry
      PerlSendHeader On
  </Files>
</IfModule>


そもそも、拡張子の.cgiと.plはAddHandler cgi-scriptで設定してあるので必要ないのかもしれませんが、一応付けておきます。
mod_perlが実行できるかどうかは、

#!/usr/bin/perl -w
use strict;
print "Content-Type: text/html\n\n";
print exists $ENV{'MOD_PERL'} ? 'true' : 'false';


このようなスクリプトで確認できます。
trueが表示されれば、サーバー側の設定は終わりました。

次はスクリプトの設定です。
基本的な事として、編集の初期化に注意すること、実行パスはルートになることさえわかっていれば、特に問題はないでしょう。
自作のモジュールなどを利用している場合は、モジュールを読む前に、例えばドキュメントルートが/home/public_html/の場合は、

use lib '/home/public_html/';


ちなみに、BEGINではダメらしいです。
そして、

chdir '/home/public_html/';


このあたりを押さえておけば動くはずです。

Let’s mod_perl life!

Windowsではどうやるんだろう・・・orz