2013年4月14日日曜日

StartSSL更新を行う

先日、StartComの証明書を更新したのですが、忘れないように手順を残しておきます。

コントロールパネルログイン用の証明書の更新

StartComで作成した証明書の有効期限2週間前になるとメールが来ます。
メールは「コントロールパネルログイン用の証明書」と「サーバーのSSL証明書」の期限が来るのですが、文面が似ているので「コントロールパネルログイン用の証明書」の更新を忘れないようにしましょう。

認証

StartSSL™ Certificates & Public Key Infrastructureのページに行き、Authenticateからログインします。証明書がインストールされていない場合

その際ブラウザに一年前に作成した「コントロールパネルログイン用の証明書」がインストールされている必要があります。 証明書がインストールされていないと、次のような画面が表示されます。
Operaには証明書がインストールされていなかったので、この画面が出てちょっと焦った。
証明書がインストールされていない場合

証明書がインストールされているブラウザで開くと証明書の要求ダイアログが出ますのでOKを選択します。証明書がインストールされている場合

無事認証が完了すると下記の画面が表示されますので”Control Panel”をクリックして進みます。認証後の画面

“Control Panel”画面に進むと下記の画面になりますので、”Validations Wizard”を選択します。Control Panel画面

Email Address Validation

“Select Validation”画面が表示されますので、Email Address Validation を選択します。
Select Validation画面

“Enter Email Address”画面に移りますので、自分のメールアドレスを入力しContiuneを押下します。Enter Email Addres画面

“Complete Validation”画面が表示された後しばらくして、入力したメールアドレスにメールが送信されますComplete Validation画面

送信されたメールにはVerification Codeが送られてきます。

This mail is intended for the person who requested verification of email ownership at StartSSL™ (http://www.startssl.com).
		
Your verification code is XXXXXXXXXXXXXXXX  
Copy and paste this code now into the form at your open browser window.
	
Thank you!
	
StartCom Ltd.  
StartSSL™ Certification Authority

ここに記載されているコードをVerification Codeに入力します。Verification Codeを入力

Verification Successの画面が出たら終了です。
Email Address Validationは30日間有効なので、その間にDomain Name Validationを行いクライアント証明書を入手する必要があります。Verification Success画面

Domain Name Validation

“Validations Wizard”を選択し”Select Validation”画面を表示させます。今度はDomain Name Validationを選択します。Domain Name Validationを選択

次にドメイン名を入力します。ここではトップレベルのドメイン名を入力します。たとえば foo.invalid.com の場合はinvalid.comを入力します。ドメイン名の入力

Verification Codeを送るメールアドレスを選択してContinueを押下します。(なんか文字化けしてるものがありますね。)ドメイン名の入力

“Complete Validation”画面が表示された後しばらくして、Email Address Validationと同様に選択したメールアドレスにメールが送信されますComplete Validation画面

送信されたメールにはVerification Codeが送られてきます。

This mail is intended for the person who requested verification of domain control at 
StartSSL™ (http://www.startssl.com).

Your verification code is OOOOOOOOOOOO
Copy and paste this code now into the form at your open browser window.

Thank you!

StartCom Ltd.
StartSSL™ Certification Authority

ここに記載されているコードをVerification Codeに入力します。Verification Codeを入力

Verification Successの画面が出たら終了です。
Domain Name Validationも30日間有効なので、30日以内にクライアント証明書を入手する必要があります。Verification Success画面

クライアント証明書の更新

Cerifications Wizardを選択してSelect Cretificate Purpose画面を表示させ、”S/MIME and Authentication Certificate”の選択し次に進みます。Select Cretificate Purpose画面

Generate Private Key画面で”高強度の暗号化”を選んで次に進みます。Generate Private Key画面

Select Email Address画面ではSecure Hash Algorithmを”SHA2”にして次に進みます。Select Email Address画面
これで成功すれば、Congratulations!画面になり、ブラウザにクライアント証明書が自動的にインストールされます。Congratulations画面

クライアント証明書のバックアップ

クライアント証明書が失われてしまった場合に、startSSLにログイン出来なくなりますので証明書のバックアップをしておきます。 Firefoxの詳細画面を表示して「証明書の表示」を押下します。

Firefox詳細画面

先ほどインストールされた証明書を選択して、「バックアップ」押下しファイルへ保存します。

証明書マネージャー画面

サーバー証明書の更新

Cerifications Wizardを選択してSelect Cretificate Purpose画面を表示させ、”Web Server SSL/TLS Certificate”の選択し次に進みます。Select Cretificate Purpose画面

Generate Private Key画面では、Private Keyは以前サーバ上で作成したキーを再利用しますのでskipを押下して次に進みます。Select Cretificate Purpose画面

Submit Certificate Request画面では、以前作成した証明書署名要求ファイルserver.csrをフォームにコピペする。Select Cretificate Purpose画面
作成したファイルが見つからない場合は下記のようにして証明書署名要求ファイルserver.csrを再度作成します。

証明書要求の作成 手順(server.csr)

$ su
# cd /etc/ssl/private
サーバー秘密鍵の作成 (server.key)
# openssl genrsa -out server.key -aes256 4096
パスフレーズを削除
# openssl rsa -in server.key -out server.key
証明書要求の作成(server.csr)
# openssl req -new -key server.key -out server.csr
#

証明書署名要求ファイルに問題が無ければ下記の画面が出ますので次にいきます。Select Cretificate Purpose画面

証明書に紐付けるドメインを選んで次にいきます。Select Cretificate Purpose画面

証明書に紐付けるサブドメインを選んで次にいきます。Select Cretificate Purpose画面

確認画面が出ますので次にいきます。Select Cretificate Purpose画面

作成されたサーバー証明書が、テキストアリアの中に表示されますので、コピーしてfoobar.com.crtとファイル名を付けてセーブします。FinishをクリックするとThank you画面に遷移して終了です。

Select Cretificate Purpose画面

サーバー側の設定

証明書の作成が終了したならば、サーバー側のファイルを新しい証明書を使って更新します。

以前のファイルをバックアップ

$ su
# cd /etc/ssl/startssl
# cp foobar.jp.crt foobar.jp.crt.old
# cp imapd.pem imapd.pem.old
# cp postfix.pem postfix.pem.old
#

新しいサーバー証明書のコピー

# mv ~/foobar.jp.crt /etc/ssl/startssl

startSSLの証明書が無い場合はダウンロードしておくこと。

# cd /etc/ssl/startssl
# wget https://www.startssl.com/certs/ca.pem
# mv ca.pem startssl.ca.pem
# wget https://www.startssl.com/certs/sub.class1.server.ca.pem
# mv sub.class1.server.ca.pem starssl.sub.class1.server.ca.pem
# wget https://www.startssl.com/certs/ca-bundle.pem
# mv ca-bundle.pem startssl.ca-bundle.pem
#

postfixの設定

# cat foobar.jp.crt startssl.sub.class1.server.ca.pem startssl.ca.pem > postfix.pem

/etc/postfix/main.cfには次の記述

smtpd_tls_cert_file = /etc/ssl/startssl/postfix.pem
smtpd_tls_key_file  = /etc/ssl/private/server.key

リスタートして接続確認

# /etc/rc.d/postfix restart
# openssl s_client -connect localhost:smtps -CAfile /etc/ssl/startssl/startssl.sub.class1.server.ca.pem

imapの設定

# cat /etc/ssl/private/server.key foobar.com.crt startssl.sub.class1.server.ca.pem startssl.ca.pem > imapd.pem

/etc/courier/imapd-sslには次の記述

TLS_CERTFILE=/etc/ssl/startssl/imapd.pem

リスタートして接続確認

# /etc/rc.d/courier_imap_ssl restart
# openssl s_client -connect localhost:imaps -CAfile /etc/ssl/startssl/startssl.sub.class1.server.ca.pem

2013年4月12日金曜日

Markdownを使う環境を整えてみた

素のhtmlを使って書くより、Markdownを使用した方がblogやドキュメントが書きやすそうなので、Markdownを使用する環境を整えてみました。

Markdownのインストール

Markdownはオリジナルの表記を拡張した、派生バージョンがあるらしいけれど、まずはオリジナルであるMarkdown.plインストールしてみました。

Markdown.plをインストールする

最初にMarkdownのサイトよりMarkdown.plをダウンロードし、インストールします。

# wget http://daringfireball.net/projects/downloads/Markdown_1.0.1.zip
# unzip  Markdown_1.0.1.zip
# cd Markdown_1.0.1
# chmod 755 Markdown.pl
# mv Markdown.pl /usr/local/bin/Markdown
#

試しにmarkdown.plを使用していくつかの文章を書いてみましたが、ちょっと凝った構造の文章を書こうとすると、HTMLを使わないと表現できなかったりするので、ちょっと貧弱かなと思いました。

kramdown コマンドのインストール

もう少し表現力高いものが欲しいので、シンタクスを拡張したバージョンを使ってみようかと色々と調べてみると、kramdownが機能が豊富で使いやすそうなので、これをインストールしてみました。

$ sudo gem install kramdown
Password:
Successfully installed kramdown-0.14.2
1 gem installed
Installing ri documentation for kramdown-0.14.2...
Installing RDoc documentation for kramdown-0.14.2...
$

これで、/usr/bin/kramdownにインストールされます。

kramdownのドキュメントを見ると、かなり拡張されていて表現力もオリジナルよりアップしています。これならばHTMLタグに頼らなくても大体の文章は書けるのでは無いかと思います。

MarsEditでkramdownを使いプレビューさせる設定

MarsEditはデフォルトでmarkdown表記のプレビューが可能ですが、これはMarkdown.plを使用してプレビューを行っています。このため、kramdownの拡張シンタックスを使うとうまく表示できません。

そこで、markdownのプレビューにkramdownを使うように設定します。

{$HOME}/Library/Application Support/MarsEdit/TextFilters/kramdownkramdownディレクトリを作成し、そこにShell Script ファイルkramdown.shを作成します。

$ midir  $HOME/Library/Application\ Support/MarsEdit/TextFilters/kramdown/
$ cd $HOME/Library/Application\ Support/MarsEdit/TextFilters/kramdown/
$ vi kramdown.sh

kramdown.shの内容は下記のようにします。

#! /bin/sh
CMD=/usr/bin/kramdown
CMDARGS="--auto-ids"
$CMD $CMDARGS $1

CMDARGSに設定するオプションはコマンドラインでkramdown --helpとすると出てきますので、お好みで指定します。

ファイルの作成が完了したならば、プレビュー画面左下にあるPreview Text Filterプルダウンをkarmdownにすれば、kramdownの拡張シンタックスが正常にレンダリングされます。

karmdown でプレビュー

emacsの設定

emacsからもmarkdownを扱えるようにmarkdown-mode.elをインストール・設定をします。

markdown-mode.elのインストール

Emacs Markdown Modeのサ イトよりmarkdown-mode.elをダウンロードしてelispのディレクトリに置きま す。

$ cd ~/.elisp
$ wget http://jblevins.org/projects/markdown-mode/markdown-mode.el
$

.emacs.elの編集

.emacs.elに下記のコードを追加します。

;;==========================================================
;;	   Markdown モードの設定
;;==========================================================
(autoload 'markdown-mode "markdown-mode"
   "Major mode for editing Markdown files" t)
(add-to-list 'auto-mode-alist '("\\.\\(text\\|md\\|mdwn\\|mdt\\)\\'" . markdown-mode))
(defun markdown-custom ()
  "markdown-mode-hook"
  (auto-fill-mode -1)
  (setq markdown-command "/usr/bin/kramdown"))  ;; コマンドパスの設定
(add-hook 'markdown-mode-hook '(lambda() (markdown-custom)))

2013年4月11日木曜日

デザインを変えてみた。

今までのデザインは、幅が狭くて大きめな画像を張ったりすると、はみ出してしまっていたのでレイアウトを変えたいと思ってた。 また、最近Markdowsでドキュメント等を書き始め出して、すごく簡単に書けるのでもっと早くから使っておけばと後悔したりしました。

現在のデザインをかえるならば、cssもいじりまわしてMarkdownが出力するHTMLに最適化したページにして、今後はMarkdownでBlogを書こうと思い2日ほどグダグダといじくり回して出来たのが現在のデザインです。

新デザイン

bloggerのtemplate siteからひな形となるテンプレートを選んで、修正しまくっていたのでエラい時間がかかりましたが、概ね満足なデザインになったと思います。

2013年4月6日土曜日

MacをSyslog Serverにする方法

リモートでSyslogを取りたい場面があって、手元にあるMac miniで取れば良いじゃんと思い方法を調べてみました。

最初にlaunchdの設定を簡単にできるアプリLingonをインストールします。

launchdを立ち上げると下記のような画面が出てきます。ここで、サイドメニューにあるSYSYTEM DAEMONSをマウスオーバーするとSHOWと言う文字が現れますのでこれをクリックします。

クリックすると隠れていたデーモンの一覧が出てきますので、com.apple.syslogdを探してクリックします。

次に画面右下にあるExpert Modeボタンを押下してエキスパートモードにします。

この画面で、下記の赤色で書かれた部分を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>EnableTransactions</key>
    <true/>
    <key>EnvironmentVariables</key>
    <dict>
        <key>ASL_DISABLE</key>
        <string>1</string>
    </dict>
    <key>HopefullyExitsLast</key>
    <true/>
    <key>JetsamProperties</key>
    <dict>
        <key>JetsamMemoryLimit</key>
        <integer>300</integer>
        <key>JetsamPriority</key>
        <integer>-49</integer>
    </dict>
    <key>Label</key>
    <string>com.apple.syslogd</string>
    <key>MachServices</key>
    <dict>
        <key>com.apple.system.logger</key>
        <true/>
    </dict>
    <key>OnDemand</key>
    <false/>
    <key>ProgramArguments</key>
    <array>
        <string>/usr/sbin/syslogd</string>
    </array>
    <key>Sockets</key>
    <dict>
        <key>NetworkListener</key>
        <dict>
            <key>SockServiceName</key>
            <string>syslog</string>
            <key>SockType</key>
            <string>dgram</string>
        </dict>
        <key>AppleSystemLogger</key>
        <dict>
            <key>SockPathMode</key>
            <integer>438</integer>
            <key>SockPathName</key>
            <string>/var/run/asl_input</string>
        </dict>
        <key>BSDSystemLogger</key>
        <dict>
            <key>SockPathMode</key>
            <integer>438</integer>
            <key>SockPathName</key>
            <string>/var/run/syslog</string>
            <key>SockType</key>
            <string>dgram</string>
        </dict>
    </dict>
</dict>
</plist>

編集が終了したら、左上にあるsaveボタンを押下して保存します。保存後下記のコマンドを実行してsyslogdを再起動させます。

$ sudo launchctl unload /System/Library/LaunchDaemons/com.apple.syslogd.plist
$ sudo launchctl load /System/Library/LaunchDaemons/com.apple.syslogd.plist
$

あとはクライアントの設定を行えば、コンソール.appにクライアントのログが記録されます。今回はMac OSX 10.7.5で行いましたが、他のバージョンでも出来ると思います。

2012年11月29日木曜日

外苑前銀杏並木

外苑前の銀杏並木を見てきました。一部黄色になっていない部分はありましたが、概ね見頃な状態でした。

銀杏並木1 銀杏並木1 銀杏並木1 銀杏並木1 銀杏並木1 銀杏並木1

2012年11月6日火曜日

emacs24にしたらマウスでコピペの挙動が変わった

emacs24にしたらマウスでコピペの挙動が変わってしまった。以前はマウスで選択するとクリップボードにコピーされ、マウスの真ん中ボタンでペーストされていたのだが出来なくなってしまった。

どうやらその辺のデフォルト設定が変更になったらしいので、以前の動作に戻すため下記の設定を追加した。

(setq x-select-enable-clipboard nil)
(setq x-select-enable-primary t)
(setq select-active-regions t)
(setq mouse-drag-copy-region t)
(global-set-key [mouse-2] 'mouse-yank-at-click)

2012年11月4日日曜日

スピーカ FOSTEX PM0.3を購入

最近はInternet Radioばかり聴いている訳なのですが、以前はSANSUI AU-α607LのアンプにAppleTVを繋いで、BOSE cubeスピカーから音を出していました。しかし、Internet Radioから流れる音楽はビットレートはそれほど高くありません。むしろ、音楽聴くのもiPhoneやMacからairplayで鳴らしているので、オーバースペックな気がするし機材が場所とっていて狭いので、現状の構成を取っ払って最小構成にしようと思いました。

スペースの確保を優先したかったので、アンプ内蔵のPCスピーカから幾つか候補を絞りました。最初に候補にあがったのが「BOSE Companion2 II マルチメディアスピーカー」でした。BOSE cubeを使用していたのと、Jazzを主に聴くのでドンシャリ系にチューニングされていると言うのも選んだ要因でした。

BOSE Companion2 II マルチメディアスピーカー

次の候補はFOSTEX パーソナル・アクティブスピーカー・システム PM0.3です。FOSTEXと言うメーカは正直知らなかったのですが、国内のメーカでスタジオ・モニター等のスピカーを作っている所らしく、癖がない音を出すと言うのがネット上の評価でした。

FOSTEX パーソナル・アクティブスピーカー・システム PM0.3

FOSTEXと言うメーカに興味を持ったのと、8,000円弱という価格を鑑み、FOSTEX PM0.3を選択しました。しばらく使用して見た感想は

  • 高音から中音の音がすごく良い。ボーカル・トランペット・サックス・ピアノが前に出てくる感じ
  • 低音も普通に頑張っています。ベースのソロの時はちゃんと存在感が出ている音です。低音中毒で低音が足らないと聴いた気がしないという人以外は問題無いレベルだと思います。
  • 少人数の演奏や音が少ない音楽だと活き活きとした音が出ます。ピアノトリオやグレン・グールドのバッハはやばいです。
  • 逆にクラッシックのオケや音が多い音楽では、ぼやけた感じの音になります。ドビュッシーの「喜びの島」を聴いたときは音が多すぎて、音楽が後ろに下がってしまているような印象を受けました。
  • LEDが眩しい。潰したくなりますw

FOSTEX PM0.3は価格の割には、とてもバランスの良い音を出します。買って正解だったと思います。

牛肉にたとえるならば、BOSE等が"ドンシャリ系"は巧みに調整された脂の乗った霜降り肉の神戸牛とするならば、FOSTEX PM0.3は自然の中で育った脂は少ないが適度に柔らかいアルゼンチン牛と言うところでしょうか。(両方とも食べたことは無いが……)