MongoDBのインストールとWeb管理ツールのセットアップ
MongoDB
MongoDBをWindows8にインストールします。
インストール
MongoDBのダウンロードページからWindowsインストーラパッケージをダウンロードすることが出来ます。
http://www.mongodb.org/downloads
今回は、
mongodb-win32-x86_64-2008plus-2.6.2-signed.msi
をダウンロードしました。
インストーラの案内通りにインストールすると
C:\Program Files\MongoDB 2.6 Standard
にインストールされます。
バージョンの確認
バージョンを確認することで正常にMongoDBがセットアップされているか確認してみます。
cd C:\Program Files\MongoDB 2.6 Standard\bin
カレントディレクトリを上のパスに変更した上で、下のコマンドを実行
mongo --version
以下のようにバージョン番号が返ってくれば、MongoDBは正常にインストールされています。
MongoDB shell version: 2.6.2
起動
MongoDBを起動します。起動前にMongoDBのデータが格納されるディレクトリを作成しておきます。今回は、
C:\mongodata\db
をデータ保存に利用します。
mongod --dbpath C:\mongodata\db
–dbpathオプションを付加して起動した状態です。
MongoDB shell
MongoDBが起動したので、MongoDB shellを利用してデータを操作してみます。
MongoDB shellを起動します。
C:\Program Files\MongoDB 2.6 Standard\bin>mongo
シェルが起動したら以下のコマンドを実行します。
db
testと返されます。これはtestというデータベースが選択されていることを意味しています。他のデータベースを確認するためには以下のコマンドを実行します。
show dbs
新規にデータべースを作成するためには、以下のようにします。engineersデータベースを作成します。
use engineers
未定義のengineersをuseした上で、
db.createCollection("webengineer")
上のコマンドを実行すると、コレクション(テーブル)が作成されます。データを追加してみます。
db.webengineer.insert( { name: "kiyoharu" } )
データを追加したのでfindを実行してみます。
db.webengineer.find()
追加したデータが表示されます。
MongoDBのシェルについては公式サイトに詳しいチュートリアルがあります。
http://docs.mongodb.org/manual/reference/method/
Web管理ツール
MongoDBにはGUIでデータを管理するツールが複数あります。公式サイトの以下のページでは、
http://docs.mongodb.org/ecosystem/tools/administration-interfaces/
各GUIツールのサイトURLとスクリーンショットが確認できます。
phpMoAdmin
今回は、Webベースの管理ツールphpMoAdminを試してみました。ダウンロードは、[DOWNLOAD phpMoAdmin]というリンクをクリックすることでzipファイルを落とすことが出来ます。
zipファイルを展開すると、
moadmin.php
というファイルのみが存在し、そのファイルをWebサーバのドキュメントルートに配置すれば基本的なインストールは完了となります。
MongoDBドライバー
phpMoAdminはPHPベースのWeb管理ツールなので、PHPからMongoDBに接続するドライバが必要になります。
https://s3.amazonaws.com/drivers.mongodb.org/php/index.html
ドライバは上のURLからダウンロードすることが可能で、本記事では、
php_mongo-1.5.4.zip
をダウンロードしました。
zipを展開すると複数のdllが格納されていますが、xampp1.8.3(PHP5.5.11)環境では、
php_mongo-1.5.4-5.5-vc11.dll
をPHPのextディレクトリに配置します。配置後、php.iniで
extension=php_mongo-1.5.4-5.5-vc11.dll
上の一行を追記しapacheを再起動します。
phpinfoで確認
MongoDBドライバーが正常にインストールされているかphpinfoで確認することが出来ます。
phpMoAdminを利用する
phpMoAdminは、Webデザイン的な華やかさはありませんが、MongoDBのデータをGUIで操作するためには有効なツールです。上の画像は、MongoDBのシェルで作成したengineersデータベースのデータを表示している画面になります。
データの追加や削除、データベースの操作をWebベースで行うことが出来ます。
PHP MongoDB Driver 1.5.1以降のインストールについて
私は佐野といいます。こちらの環境でインストールをしたところ以下の環境で
インストールできませんでした。
「Apache 2.4.6, PHP 5.5.15, php_mongo-1.5.5.zip」 => x64 VC11 TS
原因はどこにあるのか
① php_mongo-1.5.5.zipを遡り1.5.1.zipのDLLはphpinfo()で認識されていた
② php_mongo-1.5.2.zipでもphp.exe -ini *.iすると認識されてる
③ PHPの癖にext/以下DLL達を読み込んでいるのはhttpd.exe
比較
① 認識した1.5.1.zipと認識されなかった1.5.2.zipを比較しました
② DLLレベルで”libsasl.dll”が1.5.2以降すべてのDLLに組み込まれている
③ で、要はこいつが認識してないんだなとhttpd.exe君が
⇒ 解析ツール peStudio
位置
① libsasl.dllはphp5apache2_4.dllなんかと同じフォルダに同梱されている
解決
① とりあえずC:\Windows\System32にlibsasl.dllをぶち込む ⇒ 認識した
② とりあえず環境変数PathにPHPフォルダを設定 ⇒ 認識した
つまり、何が言いたいのか
いや、ここのブログにじゃないですよ。俺今ブログ作ってないからここに載せるだけで…
わざわざウェブ開発している最中にDLLを解析させないでほしいのです。ウェブっていうなんというか煌びやかな世界を堪能していた私が泥まみれになりながら一粒の琥珀を見つけるのにどれだけ時間がかかったか。三時間だよ三時間
これだけありゃピザ食って映画見てぶらぶら散歩できらぁ
というわけでここに載せておきます
ばいばい
PHP MongoDB Driver 1.5.1以降のインストールについて
私は佐野といいます。こちらの環境でインストールをしたところ以下の環境で
インストールできませんでした。
「Apache 2.4.6, PHP 5.5.15, php_mongo-1.5.5.zip」 => x64 VC11 TS
原因はどこにあるのか
① php_mongo-1.5.5.zipを遡り1.5.1.zipのDLLはphpinfo()で認識されていた
② php_mongo-1.5.2.zipでもphp.exe -ini *.iすると認識されてる
③ PHPの癖にext/以下DLL達を読み込んでいるのはhttpd.exe
比較
① 認識した1.5.1.zipと認識されなかった1.5.2.zipを比較しました
② DLLレベルで”libsasl.dll”が1.5.2以降すべてのDLLに組み込まれている
③ で、要はこいつが認識してないんだなとhttpd.exeラ変が
⇒ 解析ツール peStudio
位置
① libsasl.dllはphp5apache2_4.dllなんかと同じフォルダに同梱されている
解決
① とりあえずC:\Windows\System32にlibsasl.dllをぶち込む ⇒ 認識した
② とりあえず環境変数PathにPHPフォルダを設定 ⇒ 認識した