Safari でfirebug 的なDeveloper tool を使う

Chrome のDeveloper Tool と同じ(?) ものが使える。
設定をONにする場所に迷ったのでメモ。(Macの言語設定が英語という前提)

  1. Safari を起動
  2. メニューバー(画面一番上のやつ) のSafari を選択
  3. Preferences (環境設定?) を選択
  4. Advanced を選択
  5. 「show Develop menu in menu bar」にチェック

そうするとメニューバーにDevelop が出てくるのでそれを選択。
「Show Web Inspector」すると、例のアレが出てくる。

いじょー。

Ubuntu10.10 にRails3.0.3 をインストール

すっごく簡単なんだけどなぜかハマったのでメモ。

Rails インストール

MySQL使う前提にしとこう。

apt-get install ruby ruby-dev
apt-get install rubygems
gem install rails -v 3.0.3

apt-get install libmysqlclient-dev
gem install mysql2

パスを通す

  • メンドイので全ユーザでパスを通してる。
 echo "export PATH=/var/lib/gems/1.8/bin:$PATH" >> /etc/bash.bashrc

ぼやき

apt-get で入れる入れないだの、シンボリックリンク張れだの、なにやら混乱を招く情報が溢れているね。。

とりあえず上記で動くはず。いじょ。

EeePC1000HでWindowsXPとUbuntu10 のデュアルブート環境構築

  • 参考にした記事

http://d.hatena.ne.jp/np90/20080424/1209045646
ありがとうございました。

  • 前置き

最初はWindowsXP のみで使ってましたが、ローカルで開発するときとかはやっぱUNIX環境欲しくなりました。
以前はwubi 使ってましたが、apt-get upgrade したら起動しなくなっちゃったので(原因はよくわからないです。。今思えばboot.ini とかいじればよかったのかな。。)、
勉強も兼ねて自分で構築してみることにしました。

UbuntuのインストールにはUSBメモリを使いました。

  • 注意事項
 操作方法はそんなに難しくないのですが、一歩間違えると致命的になりますので焦らずに操作する必要あり。
 すべて自己責任で行ってください。

です。

環境

 EeePC 1000H
 Windows XP (プリインストール)
 Mem:1GB
 HDD:160GB (89GB + 61GB + α)

パーティションの構成

 /dev/sda1 Windows
 /dev/sda2 ★
 /dev/sda3 Windows (?)
 /dev/sda4 ?

購入当初から4つに切られていて、使っていなかったsda2 を使いました

インストールの下準備

  • Ubuntu のダウンロード

http://www.ubuntu.com/netbook/get-ubuntu/download

http://www.forest.impress.co.jp/docs/review/20090907_312720.html

インストール

USB をさしておく

BIOS の設定
  • 再起動して起動時にF2 を連打。(BIOS設定画面を開くため。)
    • 最初どのFunction ボタンかわからなくて適当にF2, F8, F9 を連打していたら起動しなくなりました。。僕の場合はCLRTC shorting (参考: http://forum.eeeuser.com/viewtopic.php?id=7407) で直りました。あせった。。
  • BIOS のBoot設定
    • Hard Disk Drives の1st Drive をUSB にする
    • Boot Device Priority の1st Boot Device をUSB にする

で、再起動。

Ubuntu インストール
  • ブートローダのインストール先は/dev/sda2
  • インストール後、再起動をしないようにするためには、「いますぐ再起動」みたいなウィンドウを「×」マークで閉じた。

あとはほぼ参考サイトどおりでできました。

やた!

mod_ruby+erubyのRPMインストール

環境

# cat /etc/issue
CentOS release 5.5 (Final)

# uname -a
Linux 2.6.18-194.26.1.el5 #1 SMP Tue Nov 9 12:54:20 EST 2010 x86_64 x86_64 x86_64 GNU/Linux

# ruby -v
ruby 1.8.7 (2010-08-16 patchlevel 302) [x86_64-linux]

# httpd -v
Server version: Apache/2.2.3

# rpm -qa |grep -i apr
apr-util-1.2.7-11.el5_5.2
apr-devel-1.2.7-11.el5_5.3
apr-util-devel-1.2.7-11.el5_5.2
apr-1.2.7-11.el5_5.3

手順

eruby のインストール
 # yum install eruby
mod_ruby のインストール
 ### SRPM の取得
 $ wget ftp://nic.funet.fi/.m/mirrors2/archive.redhat.com/contrib/libc6/SRPMS/mod_ruby-1.1.2-1.src.rpm
 ### SRPM のインストール
 $ rpm -ivh mod_ruby-1.1.2-1.src.rpm
 ### mod_ruby のtar ボールの取得
 $ cd /usr/src/redhat/SOURCES
 $ wget http://www.modruby.net/archive/mod_ruby-1.3.0.tar.gz
 ### SPECファイルの修正
-Version: 1.1.2
+Version: 1.3.0
…
-./configure.rb --with-libapreq-includes=%{_includedir}/apr-0
+./configure.rb --with-libapreq-includes=%{_includedir}/apr-1 --with-apr-includes=%{_includedir}/apr-1
 ### RPM ビルド
 $ rpmbuild -ba mod_ruby.spec
 ### RPM インストール
 # rpm -ivh /usr/src/redhat/RPMS/x86_64/mod_ruby-1.3.0-1.x86_64.rpm

利用

Apache の設定
 LoadModule ruby_module modules/mod_ruby.so
  • VirtualHost 設定
<Directory /var/www/html/public>
    Options ExecCGI FollowSymLinks

    <Files *.rb>
      RubyRequire apache/ruby-run
      SetHandler ruby-object
      RubyHandler Apache::RubyRun.instance
    </Files>

    <Files *.rhtml>
      RubyRequire  apache/eruby-run
      SetHandler ruby-object
      RubyHandler Apache::ERubyRun.instance
    </Files>
</Directory>

# /etc/init.d/httpd reload

確認

/var/www/html/public/test.rb

 p Time.now

/var/www/html/public/test.rhtml

 <%= Time.now %>

アクセス


いじょ。

おまけ

mod_rubyRPM作成は途中であきらめかけたけど、tar を展開してみたら下記を見つけて、SPEC ファイルを書き換えてみたらうまくいったというかんじ。

configure.rb

548 AC_WITH("apr-includes") { |withval|
549   $APACHE_INCLUDES += " -I#{withval}"
550 }.if_not_given {
551   for dir in [ "/usr/include/apr-0" ]
552     if File.exist?(File.expand_path("apr.h", dir))
553       $APACHE_INCLUDES += " -I#{dir}"
554       break
555     end
556   end
557 }

やったことは、実際には/usr/include/apr-1 だったので、それを指定しただけ。

あきらめなくてよかった!

RailsでTwitterのOAuth使ってみた

参考にしたサイト

http://tech.lampetty.net/tech/index.php/archives/323

ありがとうございました。

ほぼこの通りですが、トークンの中身や、アクセス・トークンを取得した後にそれを使いまわすやり方に少し苦労したので備忘録メモ。
一応、キーは全て大文字のアルファベットに置き換えてあります。わかりづらいかもしれませんが。。予めご了承ください。

Callback 関数内の動作

request_token の生成

生成

    request_token = OAuth::RequestToken.new(
      consumer,
      session[:request_token],
      session[:request_token_secret]
    )
  • session の中身
session
{:session_id=>"SESSION_ID",
 :request_token=>"REQUEST_TOKEN",
 :request_token_secret=>"REQUEST_TOKEN_SECRET"}
  • request_token の中身
#<OAuth::RequestToken:0xb7a5e6ac @params={},
 @token="TOKEN",     # session[:request_token]
 @secret="SECRET">   # session[:request_token_secret]
 @consumer=#<OAuth::Consumer:0xb7a558cc
   @http=#<Net::HTTP twitter.com:80 open=false>,
   @key="CONSUMER_KEY",
   @secret="CONSUMER_SECRET",
   @options={:site=>"http://twitter.com",
             :authorize_path=>"/oauth/authorize",
             :access_token_path=>"/oauth/access_token",
             :oauth_version=>"1.0",
             :signature_method=>"HMAC-SHA1",
             :http_method=>:post, :proxy=>nil,
             :request_token_path=>"/oauth/request_token",
             :scheme=>:header},
   @http_method=:post>,
access_token の生成
    access_token = request_token.get_access_token(
      {},
      :oauth_token => params[:oauth_token],
      :oauth_verifier => params[:oauth_verifier]
    )
  • access_token の中身。基本的にrequest_tokenにparams が追加されただけ。
#<OAuth::AccessToken:0xb7a3d970 
    @params={"oauth_token"=>"OAUTH_TOKEN",
             :oauth_token=>"OAUTH_TOKEN",
             "oauth_token_secret"=>"OAUTH_TOKEN_SECRET",
             :oauth_token_secret=>"OAUTH_TOKEN_SECRET",
             :user_id=>"USER_ID",
             "user_id"=>"USER_ID",
             :screen_name=>"SCREEN_NAME",
             "screen_name"=>"SCREEN_NAME"},
    @token="OAUTH_TOKEN",
    @secret="OAUTH_TOKEN">
    @consumer=#<OAuth::Consumer:0xb7a558cc
                  @http=#<Net::HTTP twitter.com:80 open=false>,
                  @key="CONSUMER_KEY",
                  @secret="CONSUMER_SECRET",
                  @options={:site=>"http://twitter.com",
                            :authorize_path=>"/oauth/authorize",
                            :access_token_path=>"/oauth/access_token",
                            :oauth_version=>"1.0",
                            :signature_method=>"HMAC-SHA1",
                            :http_method=>:post,
                            :proxy=>nil,
                            :request_token_path=>"/oauth/request_token",
                            :scheme=>:header},
                  @http_method=:post>,

params のハッシュがシンボルと文字列の両方入ってるのは1つにできないのかな。。
「user_id」と「screen_name」が予め両方入っていたので、トークンもそれに合わしてるっぽい。

動作確認

Callback関数で取得したアクセス・トークン(oauch_token)とトークン・シークレット(oauch_token_secret) を保持しておいて、それを使ってAPIをたたく。

class TwitterController < ApplicationController
  def index
    consumer_key       = "CONSUMER_KEY"
    consumer_secret    = "CONSUMER_KEY"
    oauth_token        = "OAUTH_TOKEN"
    oauth_token_secret = "OAUTH_TOKEN_SECRET"

    consumer = OAuth::Consumer.new(consumer_key, consumer_secret, {:site => 'http://api.twitter.com'})
    access_token = OAuth::AccessToken.new(consumer, oauth_token, oauth_token_secret)

    response = access_token.get('/statuses/friends_timeline.json')
    @timeline = JSON.parse(response.body)
    render :text => @timeline
  end
end

その他参考にしたサイト

http://www.atmarkit.co.jp/fsecurity/special/106oauth/oauth03.html

  • oauth-plugin

http://code.google.com/p/oauth-plugin/wiki/AccessToken


いじょー(・ω・)

MongoDBのRPMを入れてみた

が、UTF-8が使えない。。誰か知ってたら教えていただけると嬉しいです!

Problem

When I run the mongo-server, it says "spider monkey build without utf8 support. consider rebuilding with utf8 support" but I don't know how..

# tail -f /var/log/mongo/mongod.log

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more

Tue May  4 22:48:50 *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
Tue May  4 22:48:50 db version v1.4.0, pdfile version 4.5
Tue May  4 22:48:50 git version: nogitversion
Tue May  4 22:48:50 sys info: Linux chrislea.com 2.6.9-023stab048.6-enterprise #1 SMP Mon Nov 17 19:09:18 MSK 2008                                     i686 BOOST_LIB_VERSION=1_37

error occurs when I use Japanese in it.

> k = { name : "ほげ" };
Wed May  5 07:54:26 User Exception 10213:non ascii character detected
error:non ascii character detected

hmm..

What should I do?

環境

# cat /etc/issue
CentOS release 5.4 (Final)
Kernel \r on an \m

# uname -a
Linux ip-10-130-34-195 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 i686 i386 GNU/Linux

インストール

chrisleaさんのリポジトリを使用。
> http://yum.chrislea.com/centos/5/i386/

mongo-1.4.0-mongodb_1.i386.rpm
mongo-devel-1.4.0-mongodb_1.i386.rpm
mongo-server-1.4.0-mongodb_1.i386.rpm

で、早速ダウンロードして入れようと思ったら案の定、依存エラー。

# rpm --test -ivh mongo-*
警告: mongo-1.4.0-mongodb_1.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
エラー: 依存性の欠如:
        boost >= 1.35 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_filesystem-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_program_options-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_system-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_thread-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libjs.so.1 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_filesystem-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_program_options-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_system-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_thread-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libjs.so.1 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています

あぁそういえばboostが必要だとか書いてたな。。

ということで入れてみる。

# yum install boost==================================================================================================================
 Package                   Arch                    Version                          Repository               Size
==================================================================================================================
Installing:
 boost                     i386                    1.33.1-10.el5                    base                    863 k
Installing for dependencies:
 libicu                    i386                    3.6-5.11.4                       base                    5.2 M

Transaction Summary
==================================================================================================================

なんか一個依存関係があってついてきたけどまぁいいでしょう。

で、もう一回MongoDBを追加しようとしてみると。。

# rpm --test -ivh *
警告: mongo-1.4.0-mongodb_1.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
エラー: 依存性の欠如:
        boost >= 1.35 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_filesystem-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_program_options-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_system-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_thread-mt.so.4 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libjs.so.1 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libboost_filesystem-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_program_options-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_system-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libboost_thread-mt.so.4 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています
        libjs.so.1 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています

あれ、また同じエラー?

で、よくよく見るとこの部分。

boost >= 1.35

あ、なるほど、そんなことも書いてましたね。で、chrisleaさんのリポジトリを確認すると、なるほど確かにありますねと。

# yum erase boost libicu
# wget http://yum.chrislea.com/centos/5/i386/boost-1.37.0-6.i386.rpm
# rpm --test -ivh boost-1.37.0-6.i386.rpm

で、インストールしようとしたところでまたエラー。

# rpm --test -ivh boost-1.37.0-6.i386.rpm
警告: boost-1.37.0-6.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
エラー: 依存性の欠如:
        libicudata.so.36 は boost-1.37.0-6.i386 に必要とされています
        libicui18n.so.36 は boost-1.37.0-6.i386 に必要とされています
        libicuuc.so.36 は boost-1.37.0-6.i386 に必要とされています

あぁそういえばさっきlibicu みたいなの入れたなーと思ってターミナル遡って確認したらビンゴ。もういっかい普通に入れる。

# yum install libicu
…
# rpm -qi libicu
Name        : libicu                       Relocations: (not relocatable)
Version     : 3.6                               Vendor: CentOS
Release     : 5.11.4                        Build Date: 2009年06月26日 04時38分13秒
Install Date: 2010年05月04日 22時25分14秒      Build Host: builder16.centos.org
Group       : System Environment/Libraries   Source RPM: icu-3.6-5.11.4.src.rpm
Size        : 13109644                         License: X License
Signature   : DSA/SHA1, 2009年06月26日 22時56分57秒, Key ID a8a447dce8562897
URL         : http://www.ibm.com/software/globalization/icu/
Summary     : ユニコード用の国際化コンポーネント - ライブラリ
Description :
International Components for Unicode - libraries.

これでboost は大丈夫。

 rpm -ivh boost-1.37.0-6.i386.rpm
警告: boost-1.37.0-6.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
準備中...                ########################################### [100%]
   1:boost                  ########################################### [100%]

で、やっと本命のmongo さんだけど、まだひっかかる。

# rpm --test -ivh mongo-*
警告: mongo-1.4.0-mongodb_1.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
エラー: 依存性の欠如:
        libjs.so.1 は mongo-1.4.0-mongodb_1.i386 に必要とされています
        libjs.so.1 は mongo-server-1.4.0-mongodb_1.i386 に必要とされています

こんなことを言われる。RPMsearch で検索するとどうやらjsというパッケージが必要とのこと。普通に入れる。

# yum install js
…
# rpm -qi js
Name        : js                           Relocations: (not relocatable)
Version     : 1.7.0                             Vendor: Dag Apt Repository, http://dag.wieers.com/apt/
Release     : 1.el5.rf                      Build Date: 2009年11月23日 10時03分05秒
Install Date: 2010年05月04日 22時28分13秒      Build Host: lisse.hasselt.wieers.com
Group       : Development/Languages         Source RPM: js-1.7.0-1.el5.rf.src.rpm
Size        : 3323391                          License: GPL
Signature   : DSA/SHA1, 2009年11月25日 20時47分36秒, Key ID a20e52146b8d79e6
Packager    : Dag Wieers <dag@wieers.com>
URL         : http://www.mozilla.org/js/
Summary     : JavaScript interpreter
Description :
JavaScript is the Netscape-developed object scripting languages.
This package has been created for purposes of Sablotron and is suitable
for embedding in applications.

目的のファイルもちゃんと入ってる。

# rpm -ql js
/usr/bin/js
/usr/lib/libjs.so.1
/usr/share/doc/js-1.7.0
/usr/share/doc/js-1.7.0/README.html
# rpm -ivh mongo-*
警告: mongo-1.4.0-mongodb_1.i386.rpm: ヘッダ V3 DSA signature: NOKEY, key ID 44a334da
準備中...                ########################################### [100%]
   1:mongo-server           ########################################### [ 33%]
   2:mongo                  ########################################### [ 67%]
   3:mongo-devel            ########################################### [100%]

入った!

起動

で、使い方がよくわからないので入ってるファイルを確認。まずはmongo

# rpm -ql mongo
/usr/bin/mongo
/usr/bin/mongodump
/usr/bin/mongoexport
/usr/bin/mongofiles
/usr/bin/mongoimport
/usr/bin/mongorestore
/usr/bin/mongostat
/usr/share/doc/mongo-1.4.0
/usr/share/doc/mongo-1.4.0/GNU-AGPL-3.0.txt
/usr/share/doc/mongo-1.4.0/README
/usr/share/man/man1/mongo.1.gz
/usr/share/man/man1/mongod.1.gz
/usr/share/man/man1/mongodump.1.gz
/usr/share/man/man1/mongoexport.1.gz
/usr/share/man/man1/mongofiles.1.gz
/usr/share/man/man1/mongoimport.1.gz
/usr/share/man/man1/mongorestore.1.gz
/usr/share/man/man1/mongos.1.gz
/usr/share/man/man1/mongosniff.1.gz
/usr/share/man/man1/mongostat.1.gz

まぁクライアント用のコマンドなんかが入ってる。次に、mongo-server

# rpm -ql mongo-server
/etc/mongod.conf
/etc/rc.d/init.d/mongod
/usr/bin/mongod
/usr/bin/mongos
/usr/share/man/man1/mongos.1.gz
/var/lib/mongo
/var/log/mongo

設定ファイルや起動スクリプト、データの置き場所もある。

設定ファイルを一応眺めてみるも、とりあえず変更の必要はなさそうなのでデフォルトで起動してみる。

# /etc/init.d/mongod start
/etc/init.d/mongod: line 25: /etc/sysconfig/mongod: そのようなファイルやディレクトリはありません
Starting mongod: runuser: mongod というユーザは存在しません

いろいろ怒られる。ユーザはとりあえず作る。よくわかんないけどapache ユーザやmysql ユーザを参考にする。nologin とかでいいんだろうか。。

# useradd mongod -d /var/lib/mongo -s /sbin/nologin
useradd: warning: the home directory already exists.
Not copying any file from skel directory into it.

/etc/sysconfig/mongod のほうもよくわからない。でも、/etc/sysconfig/httpd なんかを見ると特に必要がなければ中身は空っぽっぽい。

というわけで空っぽのファイルを置いておいた。
# touch /etc/sysconfig/mongod

もういっかい起動してみる。

# /etc/init.d/mongod start
Starting mongod: warning: some regex utf8 things will not work.  pcre build doesn't have --enable-unicode-properties
all output going to: /var/log/mongo/mongod.log
can't open [/var/log/mongo/mongod.log] for log file
Tue May  4 22:44:57  dbexit:
Tue May  4 22:44:57      shutdown: going to close listening sockets...
Tue May  4 22:44:57      shutdown: going to flush oplog...
Tue May  4 22:44:57      shutdown: going to close sockets...
forked process: 13501
Tue May  4 22:44:57         shutdown: waiting for fs preallocator...
Tue May  4 22:44:57      shutdown: closing all files...
Tue May  4 22:44:57      closeAllFiles() finished
Tue May  4 22:44:57  dbexit: really exiting now

うーん。うまく起動してくれない。下記に注目。
can't open [/var/log/mongo/mongod.log] for log file

ということで確認してみると、これまたおマヌケな事態に。。

# cd /var/log/
# ll
…
-rw-r----- 1 root   root              0  4月 11 14:25 mongo
    • mongod ユーザには手も足も出ないパーミッション
    • /var/log/mongo/mongod.log を開こうとしているのに、mongo 自体はファイル。(ディレクトリですらない。)

ということで調整。

# rm mongo
# mkdir mongo
# chown mongod:mongod mongo

これで再挑戦。

# /etc/init.d/mongod start
Starting mongod: warning: some regex utf8 things will not work.  pcre build doesn't have --enable-unicode-properties
all output going to: /var/log/mongo/mongod.log
forked process: 13568     [  OK  ]

「OK」と出ているので、今度こそやったか?と思いきや、これまた動いてない模様。試しにmongo コマンドを打つも、「connect failed」してしまう。

# mongo
MongoDB shell version: 1.4.0
url: test
Tue May  4 22:47:13 *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
connecting to: test
Tue May  4 22:47:13 JS Error: Error: couldn't connect: couldn't connect to server 127.0.0.1 127.0.0.1:27017 (anon):952
Tue May  4 22:47:13 User Exception 12513:connect failed
exception: connect failed

で、ちょっと考える。

# /etc/init.d/mongod status
mongod は停止していますがサブシテムがロックされています

# tail -f mongo/mongod.log
Tue May  4 22:47:47  dbexit:
Tue May  4 22:47:47      shutdown: going to close listening sockets...
Tue May  4 22:47:47      shutdown: going to flush oplog...
Tue May  4 22:47:47      shutdown: going to close sockets...
Tue May  4 22:47:47      shutdown: waiting for fs preallocator...
Tue May  4 22:47:47      shutdown: closing all files...
Tue May  4 22:47:47      closeAllFiles() finished
Tue May  4 22:47:47      shutdown: removing fs lock...
Tue May  4 22:47:47      couldn't remove fs lock errno:9 Bad file descriptor
Tue May  4 22:47:47  dbexit: really exiting now

ロックファイルを作ろうとして、なにやら失敗しているようだ。

で、データ用のディレクトリを見てみると、あいたたた。。

# ll
…
drwxr-xr-x  2 root   root         4096  4月 11 14:25 mongo

これまたmongod さんには権限がなかったですね。。ということで権限をあげる。
# chown mongod:mongod mongo

再び起動。

# /etc/init.d/mongod restart
Starting mongod: warning: some regex utf8 things will not work.  pcre build doesn't have --enable-unicode-properti                                    es
all output going to: /var/log/mongo/mongod.log
forked process: 13649                           [  OK  ]

なんかUTF-8をサポートしてないとか不吉なことは言っているが、起動はしている模様。

# tail -f /var/log/mongo/mongod.log

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more

Tue May  4 22:48:50 *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
Tue May  4 22:48:50 db version v1.4.0, pdfile version 4.5
Tue May  4 22:48:50 git version: nogitversion
Tue May  4 22:48:50 sys info: Linux chrislea.com 2.6.9-023stab048.6-enterprise #1 SMP Mon Nov 17 19:09:18 MSK 2008                                     i686 BOOST_LIB_VERSION=1_37
Tue May  4 22:48:50 waiting for connections on port 27017
Tue May  4 22:48:50 web admin interface listening on port 28017

mongo コマンドを打ってみると。。

# mongo
MongoDB shell version: 1.4.0
url: test
Tue May  4 22:49:18 *** warning: spider monkey build without utf8 support.  consider rebuilding with utf8 support
connecting to: test
type "exit" to exit
type "help" for help
>
>
> exit
bye

繋がった!