説明書

書類を整理していると,規約集のような冊子が幾つか出てくる.特に,銀行関係のもの.細かい字で長ったらしく書いてあるが,どうせ殆どの人は全てに目を通す事は無い.なら,もうちょっと要点だけ簡潔にまとめれば良いのに,と思う.

ソフトウェアのライセンスのように各社共通の規約みたいなものが有れば,「ああ,このソフトウェアは GPL ね.」と同じ感覚で「ああ,この規約は A 規約ね.」のように詳細まで読まずに済むから良いかも知れない,とふと思ったが,きっと上手く行かないだろうなぁ.それに,そんなものが一般的に広く普及するはずもないよなぁ.

プロプライエタリなグラフィックドライバなんて

  • Radeon X600 を搭載したパソコンで Ubuntu 9.10 を利用
  • X600 に対応した ATI のドライバの最新版は ATI Catalyst™ 9.3
  • ATI Catalyst™ 9.3 が対応する Ubuntu のバージョンは Ubuntu 9.04 まで
  • さてどうする?

PEM との戦いの記録

tig.rb は,リスト機能に対応した Twitter 用の IRC ゲートウェイで,なかなかにして便利である.しかし,サーバマシンの OpenBSD を再インストールしたところ,発言やメンバーの取得はできるのに,タイムラインの取得が出来なくなってしまった.

これでは困るという事で原因を探ろうとした所,Ruby で次のようなエラーが出ているのを偶然発見.

OpenSSL::SSL::SSLError: certificate verify failed

どうやら,SSL の証明書がインストールされていないようだ.wget でも https://twitter.com/ は弾かれる.そう言えば,前回も悪戦苦闘したなぁ,と思ったが,ちゃんと作業履歴を残していなかったので,簡単な作業の割に時間を食ってしまった.以下に記録を残す.

PEM ファイルの取得

Firefox で https://twitter.com/ にアクセスし,アドレスバーの青い部分から「詳細を表示」して「ページ情報」のウィンドウを開く.「セキュリティ」パネルから「証明書を表示」して「詳細」を見る.証明書の階層の最上位に有る,Equifax Secure Global eBusinness CA-1 を選択してPEM を「エクスポート」.PEM なのに拡張子が *.crt なのは良く分からない.これを対象のマシンにコピー.Google Chrome で同様の事をする方法は良く分からなかった.

PEM ファイルのインストール

まずは下準備.


sudo mkdir /etc/ssl/certs
sudo mv *.crt /etc/ssl/certs
cd /etc/ssl/certs
for a in *.crt; do sudo openssl x509 -in "$a" \
-out "$(openssl x509 -noout -hash -in "$a").0"; done

最後の手順は次のページを参考にした.どうやら証明書のファイル名は何かのハッシュある必要が有るらしい.c_rehash を使うように指示しているウェブページも多いが,OpenBSD では標準で c_rehash がインストールされていない.

Re: c_rehash (openssl)
http://monkey.org/openbsd/archive/tech/0308/msg00125.html

SSL の事は全然分かっていないのだが,これでどうにか wget や Ruby から Twitter に HTTPS でアクセスする事が出来るようになった.もっとちゃんと公開鍵暗号については勉強しておかなければなぁ……

OpenBSD で Fastladder

RSS リーダは長らく Google Reader を使っていたのだが,周囲の人が皆 Livedoor Reader を使っていたので,ちょっと前に使ってみた事が有った.ピンを立てて一度に開いてみたり,動作が速かったりと,Google Reader よりも優れている点が多く,多くの人が使っているだけあるなぁ,と思ったのだった.ただ,Livedoor Reader の為だけに Livedoor アカウントを持つのもクラウドなアカウントが増え過ぎて嫌だったので,結局 Google アカウントで閲覧できる Google Reader に戻ってしまった.

しかし,やはり Livedoor Reader の高速な動作が恋しくなり,Livedoor Reader と基礎を同じくする Fastladder を利用してみる事にした.

インストールは割と簡単.Ruby 関連と FreeImage のパッケージを pkg_add した後に,指示通りインストールすれば良い.

で,すんなり動作したのだが,フィードの追加だけはどうも上手く行かない.調べてみた所,次のようなページを発見.

FreeBSDでOpen Source版Fastladderを使う – mteramotoの日記
http://d.hatena.ne.jp/mteramoto/20090715/p1

このページを参考に, app/controllers/subscribe_controller.rb の 8 行目を

def Rfeedfinder.open_doc(link)

から

def Rfeedfinder.open_doc(link, options)

に変更する事で解決.これで,ウェブサービスに頼る事無く,自宅サーバで快適 RSS ライフを送る事が出来る.

Chroot 監獄で気を付ける事

現在,ウェブサーバである lighttpd を /var/www を chroot した環境下で動かしている.先日は,その中で PHP を動作させようとしてかなり悪戦苦闘していた.PHP が必要とするライブラリを ldd で調べて,片っ端から /var/www/lib ディレクトリに突っ込んでいたのだが,それだけではどうも動かない.

で,やっと気付いたのが,PHP のモジュールもダイナミックリンクになっているという事.PHP のライブラリ全てに対して,ldd で必要なライブラリを調べて片っ端からコピーする.更に,コピーしたライブラリが別のライブラリを必要とする場合も多いので,それも確認して適宜コピーしておく.

ライブラリは全て /var/www/lib に置く.ライブラリによって,パスが /usr/lib だったり /usr/local/lib だったりするが,それらを一々考えるのが面倒なので, ln -s . local 等としておけば楽.

PHP モジュールは pkg_add でインストールしたものだが,ini 設定ファイルのシンボリックリンクを張る指示はされても,ライブラリのコピーまでは指示されなかったので,なかなか気付けなかった.chroot は,やはり難しい.