簡介
本文概述簡單的步驟,教導如何建置Mongo DB及安裝RockMongo(PHP MongoDB Administrator)管理工具,透過管理工具網頁管理MongoDB資料庫。環境介紹及前置作業
作業系統版本 : Centos 6.4 (64位元)
安裝編輯及wget套件
若於Centos中已有安裝vim (編輯工具)和wget(抓檔案工具)時,可以忽略該步驟yum -y install wget vim yum install gcc (在安裝PHP PEAR時會用到)
關閉SELinux
編輯 /etc/sysconfig/selinux檔案,將SELINUX=enforcing 改成 SELINUX=disabled,重新開機。# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of these two values: # targeted - Targeted processes are protected, # mls - Multi Level Security protection. SELINUXTYPE=targeted
開啟防火牆
編輯 /etc/sysconfig/iptables檔案,開啟27017防火牆(Mongo DB的Port Number為27017),設定完成後請重新啟動防火牆。-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT /etc/init.d/iptables restart
安裝及設定Apache
輸入 yum install httpd* ,安裝Apacher Server相關套件,並設定於開機時自動啟用,請參考以下步驟進行設定。yum -y install httpd* chkconfig --level 345 httpd on chkconfig --list httpd為了安全性考量,設定用戶無法瀏覽Apache預設的首頁,請參考以下步驟進行設定(每行前面都加入#符號,共計4行)。
vi /etc/httpd/conf.d/welcome.conf#<LocationMatch "^/+$"> #Options -Indexes #ErrorDocument 403 /error/noindex.html #</LocationMatch>
安裝及設定php
安裝php套件
安裝Apacher Server相關套件,並設定於開機時自動啟用,請參考以下步驟進行設定。yum -y install php php-devel php-pear yum -y install libmcrypt* #Install the mongo extension on PHP pecl install mongo安裝mongo for php Driver後,會顯示如下資訊,表示已安裝完成,請於/etc/php.ini檔案中加入extension=mongo.so
Build process completed successfully Installing '/usr/lib64/php/modules/mongo.so' install ok: channel://pecl.php.net/mongo-1.5.4 configuration option "php_ini" is not set to php.ini location You should add "extension=mongo.so" to php.ini
設定php.ini檔案
vi /etc/php.ini 修改為: post_max_size = 800M 修改為: upload_max_filesize = 800M 修改為: default_charset="utf8" 修改為: default_socket_timeout = 300 修改為: max_execution_time = 1200 修改為: memory_limit = 1024M #Then enable the mongo extension. extension=mongo.so重新啟動Apache Server。
/etc/init.d/httpd restart
安裝Mongo DB (2.6.3-1)
建立Mongo DB軟體的來源路徑檔案
建立/etc/yum.repos.d/10gen.repo檔案,輸入以下內容並存檔[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 enabled=1
安裝 Mongo DB
請輸入以下指令進行安裝yum install mongo-10gen mongo-10gen-server
將Mongo DB設定為開機時自動啟用
service mongod start chkconfig --level 345 mongod on chkconfig --list mongod
設定Mongo DB設定檔
可根據需求自行編輯MongoDB設定檔 (/etc/mongod.conf),資料庫檔案位置預設為 dbpath=/var/lib/mongobind_ip=127.0.0.1 可修改監聽的IP logpath=/var/log/mongo/mongod.log port=27017 dbpath=/var/lib/mongo
測試Mongo DB
輸入mongo指令,內建有名稱為test資料庫,針對該資料庫進行新刪修mongo > use test switched to db test > db.foo.find() > db.foo.save({a: 1}) > db.foo.find() { "_id" : ObjectId("4b8ed53c4f450867bb35a1a9"), "a" : 1 } > db.foo.update( {a: 1}, {a: 5}) > db.foo.find() { "_id" : ObjectId("4b8ed53c4f450867bb35a1a9"), "a" : 5 }
利用 root 新增 Database 的管理帳號
# 切換到 test use test # 先用 root 帳號認證 db.getSisterDB("admin").auth("root", "root_password"); # 新增 jason 帳號 db.addUser("jason", "jason_password");
新增 Database 的管理帳號
# 切換到 test use test # 先用 jason 帳號認證 db.auth("jason", "jason_password"); # 新增 leo 帳號 db.addUser("leo", "leo_password");
插入新增資料(Insert)
# 插入一筆新資料到 test Collection (相當於傳統 SQL 裡的 Table 角色) db.test.insert({ username: "jason", password: "12345678" }) # 含當前時間 db.test.insert({ username: "jason", password: "12345678", created: new Timestamp() })
查詢(Query)
# 查詢所有 username 為 jason 的資料 db.users.find({ username: "jason" }) # 查詢單筆 db.users.find_one({ username: "jason" })
修改更新資料(Update)
# 更新 username 為 jason 的 password 欄位 db.users.update({ username: "jason" }, { $set: { password: "87654321" }}) # 以email欄位取代 username 為 jason 的資料(username 和 password 欄位會因此不見,只剩下 email 欄位) db.users.update({ username: "jason" }, { email: "jason@gmail.com.test"})
刪除資料(Delete)
# 刪除jason使用者資料 db.users.remove({ username: "jason" }) # 根據ObjectId刪除資料 db.test.remove({'_id':ObjectId('4f29e4860b2e2ecb9910e304')})
測試遠端連線至資料庫功能
若無法連線時,請編輯/etc/mongod.conf檔案,將 bind_ip=127.0.0.1 改成 bind_ip=0.0.0.0,並重新啟動MongoDBmongo SERVER_IP:27017/test
安裝RockMongo - PHP MongoDB Administrator
下載RockMongo
安裝RockMongo
上傳至root目錄並解壓縮rockmongo-1.1.7.zip檔案並拷貝到/var/www/html資料夾(Aapache Web Root DIR)中,請參考以下步驟unzip rockmongo-1.1.7.zip mv /root/rockmongo-1.1.7 /var/www/html ln -s rockmongo-1.1.7 rockmongo (建立rockmongo Link檔案)
設定RockMongo的設定檔
開啟瀏覽器輸入http://IP/rockmongo,會看到如下登入畫面
於UserName欄位中輸入admin,密碼輸入admin,DB Name輸入test資料庫(內建資料庫),點選登入即可進入管理網頁,請參考如下畫面

設定RockMongo的設定檔
若有需要可自行編輯config.php檔案,修改使用者登入帳號及密碼$MONGO["servers"][$i]["control_users"]["myusername"] = "mypassword"; $MONGO["servers"][$i]["control_users"]["iwind"] = "123456";若發生 PHP Error: Fatal error: Allowed memory size when export a large DB 的問題,請修改/etc/php.ini檔案中的兩個參數值,請參考如下修改
max_execution_time = 1200 memory_limit = 1024M
0 意見:
張貼留言