Monday, April 28, 2014

Setup mongodb

Step 1: Add MongoDB Yum Repository
Add following content in yum repository configuration file /etc/yum.repos.d/mongodb.repo.
For 64bit Systems:
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/
gpgcheck=0
enabled=1
For 32bit Systems:
[mongodb]
name=MongoDB Repository
baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686/
gpgcheck=0
enabled=1
Step 2: Install MongoDB
Lets use yum package manager to install mongodb-org package, it will automatically install all its dependencies. To install any specific revision of mongodb specify package name with version likemongodb-org-2.6.1. Following command will install latest stable version available.
# yum install mongodb-org
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * atomic: www7.atomicorp.com
 * base: mirror.nbrc.ac.in
 * epel: mirrors.ispros.com.bd
 * extras: mirror.nbrc.ac.in
 * rpmforge: be.mirror.eurid.eu
 * rpmfusion-free-updates: mirror.smartmedia.net.id
 * updates: mirror.nbrc.ac.in
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mongodb-org.i686 0:2.6.0-1 will be installed
--> Processing Dependency: mongodb-org-tools = 2.6.0 for package: mongodb-org-2.6.0-1.i686
--> Processing Dependency: mongodb-org-shell = 2.6.0 for package: mongodb-org-2.6.0-1.i686
--> Processing Dependency: mongodb-org-server = 2.6.0 for package: mongodb-org-2.6.0-1.i686
--> Processing Dependency: mongodb-org-mongos = 2.6.0 for package: mongodb-org-2.6.0-1.i686
--> Running transaction check
---> Package mongodb-org-mongos.i686 0:2.6.0-1 will be installed
---> Package mongodb-org-server.i686 0:2.6.0-1 will be installed
---> Package mongodb-org-shell.i686 0:2.6.0-1 will be installed
---> Package mongodb-org-tools.i686 0:2.6.0-1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

==========================================================================================
 Package                           Arch        Version           Repository          Size
==========================================================================================
Installing:
 mongodb-org                       i686        2.6.0-1           mongodb            4.6 k
Installing for dependencies:
 mongodb-org-mongos                i686        2.6.0-1           mongodb            6.7 M
 mongodb-org-server                i686        2.6.0-1           mongodb            8.9 M
 mongodb-org-shell                 i686        2.6.0-1           mongodb            4.2 M
 mongodb-org-tools                 i686        2.6.0-1           mongodb             88 M

Transaction Summary
==========================================================================================
Install       5 Package(s)                             
                                                       
Total download size: 108 M                             
Installed size: 270 M                                  
Is this ok [y/N]: y                                    
Downloading Packages:                                  
(1/5): mongodb-org-2.6.0-1.i686.rpm                              | 4.6 kB     00:00
(2/5): mongodb-org-mongos-2.6.0-1.i686.rpm                       | 6.7 MB     00:21
(3/5): mongodb-org-server-2.6.0-1.i686.rpm                       | 8.9 MB     00:27
(4/5): mongodb-org-shell-2.6.0-1.i686.rpm                        | 4.2 MB     00:16
(5/5): mongodb-org-tools-2.6.0-1.i686.rpm                        |  88 MB     04:24
----------------------------------------------------------------------------------------
Total                                                   327 kB/s | 108 MB     05:36
Running rpm_check_debug                                
Running Transaction Test                               
Transaction Test Succeeded                             
Running Transaction                                                                         
Warning: RPMDB altered outside of yum.                                                      
** Found 1 pre-existing rpmdb problem(s), 'yum check' output follows:                       
google-chrome-stable-34.0.1847.116-1.i386 has missing requires of libnss3.so(NSS_3.14.3)    
  Installing : mongodb-org-tools-2.6.0-1.i686                                                1/5
  Installing : mongodb-org-server-2.6.0-1.i686                                               2/5
  Installing : mongodb-org-mongos-2.6.0-1.i686                                               3/5
  Installing : mongodb-org-shell-2.6.0-1.i686                                                4/5
  Installing : mongodb-org-2.6.0-1.i686                                                      5/5
                                                                                            
Installed:                                                                                  
  mongodb-org.i686 0:2.6.0-1                                                                
                                                                                            
Dependency Installed:                                                                       
  mongodb-org-mongos.i686 0:2.6.0-1  mongodb-org-server.i686 0:2.6.0-1  
  mongodb-org-shell.i686 0:2.6.0-1 mongodb-org-tools.i686 0:2.6.0-1

Complete!

Step 3: Start MongoDB
Package mongodb-org-server provided MongoDB init script, Use that script to start service.
# service mongod start
Configure MongoDB to auto start on system boot.
# chkconfig mongod on
Step 4: Check MongoDB Version and Test Setup
Use following command to check installed mongodb version
# mongo --version

MongoDB shell version: 2.6.0
Connect MongoDB using command line and execute some test commands for checking proper working.
# mongo
> db.test.save( { a: 1 } )
> db.test.find()

  { "_id" : ObjectId("52b0dc8285f8a8071cbb5daf"), "a" : 1 }

Enabling authentication

The first thing to do before you can start making use of mongo’s UAC features it to enable authentication. Usually this is disabled by default.
This can be enabled either by editing your mongodb.conf file and adding the line
auth = true
You can also start mongod with the auth parameter.
Save the file, and reboot MongoDB.
service mongodb restart
That’s it! Your mongo server should be up and running! To test your Mongo configuration from another node (or to test authentication locally), run the command:
mongo <server_ip>/admin -u root -p <password>
to authenticate as root to make changes to the db structure or add users, or
mongo <server_ip>/project -u web_user -p <password>
to authenticate as web_user.

Install php driver

git clone https://github.com/mongodb/mongo-php-driver.git
cd mongo-php-driver
phpize
./configure
make
make install
echo "extension=mongo.so" >> /build/php/etc/php.ini


Related Posts:

  • Tools mysql This page contains links to various tools we found helpful to use in practice.Some tools are written by us, others by third parties, yet another ones may be shipped with your operating system you just need to find they are t… Read More
  • SQL Injection through HTTP Headers During vulnerability assessment or penetration testing, identifying the input vectors of the target application is a primordial step. Sometimes, when dealing with Web application testing, verification routines related to SQL… Read More
  • Linux Disable Shell / FTP Access For a User Account My users will only be checking mail, and I want to disable FTP access as well as shell access under CentOS Linux. How do I disable shell (SSH) and FTP access to a new or old user under Linux without deleting user account?You… Read More
  • Compile httpd 2.4.6-P3 Introduction to Apr The Apache Portable Runtime (APR) is a supporting library for the Apache web server. It provides a set of application programming interfaces (APIs) that map to the underlying Operating System (OS). Wher… Read More
  • Compile httpd 2.4.6-P2 Introduction to Apr Util The Apache Portable Runtime Utility Library provides a predictable and consistent interface to underlying client library interfaces. This application programming interface assures predictable if no… Read More