EC2の環境に、PHP MongoDB Driverをインストール

▽ ローカルの開発環境

PHP MongoDB Driver をインストール。

参考: https://github.com/mongodb/mongo-php-driver/blob/master/README.md

まずzipをダウンロードして、解凍。
解凍したディレクトリにターミナルでcdして、

$ phpize
$ ./configure
$ make
$ sudo make install

出来たmodules/mongo.soを、
/Applications/MAMP/bin/php/php5.3.6/lib/php/extensions/no-debug-non-zts-20090626 へ移動。

/Applications/MAMP/bin/php/php5.3.6/conf/php.ini を編集。
extension= が沢山書かれている場所に、 extension=mongo.so を追記

phpinfo して、mongoDBが入っていれば完了!
(要Apacheの再起動)

※ MAMP 2.0.5で作業。2.1系でトラブル発生中。(12/7/10頃)

▽ EC2でMongo

参考: http://blog.genies-ag.jp/2011/08/amazon-ec2-amazon-linux-apachephp.html
参考: http://web.j-q.co.jp/?p=124
参考: http://www.if-not-true-then-false.com/2010/install-php-mongodb-mongo-driver-on-linux-mac-os-x-windows-unix-bsd/

# sudo vi /etc/yum.repos.d/10gen.repo
[10gen]
name=10gen Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64
gpgcheck=0

を記入

# yum search mongo
# yum install mongo-10gen.x86_64

PEARインストール
参考: http://stackoverflow.com/questions/8636538/does-aws-provides-pear-package-manager-installation-from-repository

# wget http://pear.php.net/go-pear.phar
# php go-pear.phar

PECLインストール (ローカルとほぼ同じ手順)
参考: https://groups.google.com/forum/?fromgroups#!topic/mongodb-user/9be1bpaNvVU

# wget http://pecl.php.net/get/mongo-1.2.10.tgz
# tar xvf mongo-1.2.10.tgz
# ./configure (エラー出た)
# sudo yum install gcc (参考: http://www.linuxforums.org/forum/applications/41118-how-install-gcc.html)
# ./configure (出来た)
# make (エラー出た)
# sudo yum install make
# make (出来た)
# sudo make install
Installing shared extensions: /usr/lib64/php/modules/

MONGOのドライバーをインストール
http://www.if-not-true-then-false.com/2010/install-php-mongodb-mongo-driver-on-linux-mac-os-x-windows-unix-bsd/

# sudo pecl install mongo

「You should add “extension=mongo.so” to php.ini」 って出た!

/etc/php.ini のそれっぽい場所に、

extension_dir = "/usr/lib64/php/modules/"
extension=mongo.so

を記入。

phpinfo してmongoDBが無事に入っていれば完了!

AWSのSecurity Groupの設定で、27017を開けたら、
PHPからも無事に書き込み出来ました。PHPの書き方はまた次回。

[追記]
さらに、http://d.hatena.ne.jp/akuwano/20120130/1327884845
を見てデータベースにパスワードをかけておいた方が良いかも。

こう書くとサーバー起動時にmongodを実行できるはず

# sudo chkconfig --add mongod
# sudo chkconfig mongod on

Mongo DBで最初の実験

DBの一覧

> show dbs
local	(empty)

DBの作成(データを入れると作成される)

> use mydb

試しにデータ追加

> db.addressbook.save({'name':'sohei'})

追加したデータを確認

> db.addressbook.find();
{ "_id" : ObjectId("4feed99e86eaec42be0c7e77"), "name" : "sohei" }

もう一度DBの一覧

> show dbs
local	(empty)
mydb	0.203125GB (←DBが出来た)

追加したデータを消す

> db.addressbook.drop()
true

データが削除出来たか確認

> db.addressbook.find();

(何も表示されなければOK)

DBを削除

> db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }

DBが削除出来たか確認

> show dbs
local	(empty)

これで最初の状態に戻ってテスト終了。

参考: http://mitsukuni.org/wiki/MongoDB/#b0459381

Mongo DBをOS Xで使う

▽ インストール
参考 : http://codedehitokoto.blogspot.jp/2012/01/nodemongodb.html

$ curl -O http://fastdl.mongodb.org/osx/mongodb-osx-x86_64-2.0.2.tgz
$ tar -xzvf mongodb-osx-x86_64-2.0.2.tgz
$ sudo mv mongodb-osx-x86_64-2.0.2/bin/* /usr/local/bin/
$ rm -fr mongodb-osx-x86_64-2.0.2 mongodb-osx-x86_64-2.0.2.tgz

▽ データ保存用のディレクトリ作成
参考: http://jp.docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/

$ sudo mkdir -p /data/db
$ sudo chown `id -u` /data/db

▽ データベースの起動

$ mongod

▽ データベースに入る
(別のターミナルから)

$ mongo

この後データの出し入れと、Amazon EC2で使う方法の勉強。
主にPHPで開発する予定。