Mongodb以及rockmongo安装
2017-05-11 13:17
295 查看
Mongodb安装
以centos6.x_x_64位系统为例,我们使用yum安装
1.添加yum源
在/etc/yum.repos.d/目录下创建文件10genmon.repo(名字随意,.repo结尾就行),它包含MongoDB仓库的配置信息
2.使用yum安装
3.根据需要修改/etc/mongo.conf文件
至少配置以下三项,然后保存
logpath=/var/log/mongodb/mongod.log #mongo日志文件
dbpath=/data/mongo #数据库data存放路径
pidfilepath=/var/run/mongodb/mongod.pid #进程pid
创建对应目录
mkdir -p /var/log/mongodb
mkdir -p /data/mongo
mkdir -p /var/run/mongodb
添加权限
chown mongod.mongod /var/log/mongodb -R
chown mongod.mongod /var/run/mongodb -R
chown mongod.mongod /data/mongo -R
到这里就可以通过/etc/init.d/mongod start启动mongd服务了,默认端口27017,可以在/etc/mongod.conf修改
4.考虑到安全问题我们要给mongd数据库添加用户信息
想要启用mongod认证需要在[b]/etc/mongod.conf中设置auth=true.但是启用安全之前一定要先添加一超级用户如下演示:[/b]
先添加一个超级用户(管理员账号)
/etc/mongod.conf中添加auth=true,然后重启[b]/etc/init.d/mongod restart[/b]
[b] 一旦设置认真,所有的操纵均需要经过认证[/b]
我们不可能把管理员账号非每一个使用者,所以我们可以给某个数据库建立账号,然后提供给指定用户
给指定数据库添加一个账户,要先切换到admin,登陆有再切换到目标数据库完成账户创建
关于mongodb账号问题可以参考 http://www.cnblogs.com/valor-xh/p/6369432.html
Mongodb可视化管理工具rockmongo
[b]rockMongo是PHP5写的一个MongoDB管理工具。另外我们要保证mongodb启动时已经设置了auth=true选项.否则就太不安全了。[/b]
通过 Rockmongo 你可以管理 MongoDB服务,数据库,集合,文档,索引等等。它提供了非常人性化的操作。类似 phpMyAdmin(PHP开发的MySql管理工具)。
[b]Rockmongo 下载地址:https://github.com/iwind/rockmongo.git
[/b]
安装php运行需要的依赖库
yum -y install gcc automake autoconf libtool make
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel --setopt=protected_multilib=false
2.安装php和php-fpm
yum -y install php
yum -y install php-fpm
3.php-mongo驱动
yum install php-pecl-mongo
echo "
/etc/init.d/php-fpm restart
4.获取rockmongo源码程序并放到nginx(或其他web服务器)的资源路径,并根据自身情况修改config.php文件
[b][b]git clone https://github.com/iwind/rockmongo.git[/b][/b]
[b][b]mv [b][b][b]rockmongo[/b][/b] /path/to/your/nginx_web/[/b][/b][/b]
修改[b][b][b]/path/to/your/nginx_web/rockmongo/config.php文件[/b][/b][/b]
4.配置nginx,把对rockmongo应用的相关请求全部交给fastcgi_pass处理
5.再保证php,nginx,mongodb工作正常的情况下,测试一下,浏览器输入host:27016即可
6.登录
两种登录方式:
1.认证模式,在config.php中设置如下:
$MONGO["servers"][$i]["mongo_auth"] =true;//enable mongo authentication?
使用admin账户,查看所有mongodb信息
使用普通用户,只能看用户名下的数据库,登录时要在Non-Admin users框内输入对应的DB名
下图是使用admin登录的,所以除了admin数据库外还可以看到TestDB
下图是用test用户登录的,只能够管理TestDB
2.无认证方式,要在config.php中设置如下:
$MONGO["servers"][$i]["mongo_auth"] =false;//enable mongo authentication?
$MONGO["servers"][$i]["mongo_db"] = "TestDB";//default mongo db to connect, works only if mongo_auth=false #默认访问的DB
$MONGO["servers"][$i]["mongo_user"] = "test";//mongo authentication user name, works only if mongo_auth=fals #TestDB对应的真实用户名
$MONGO["servers"][$i]["mongo_pass"] = "test";//mongo authentication password, works only if mongo_auth=false #TestDB对应的真实密码
$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["test_admin"] = "test_admin"
然后使用test_admin账户作为假的admin账户登录,这里的test_admin表示可以查看管理TestDB的用户,或许这么做原因可能是不想把TestDB的真实用户信息暴露出来吧-_-
测试过程中认证与不认证方式切换时会有些问题,需要重启mongodb服务(当然很烦,,),建议使用第一种就好
最后给一个mongo3.4的yum源,官网更详尽,https://www.mongodb.com/download-center
以centos6.x_x_64位系统为例,我们使用yum安装
1.添加yum源
在/etc/yum.repos.d/目录下创建文件10genmon.repo(名字随意,.repo结尾就行),它包含MongoDB仓库的配置信息
[root@zwj yum.repos.d]# pwd /etc/yum.repos.d [root@zwj yum.repos.d]# cat 10genmon.repo [10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0
2.使用yum安装
[root@zwj yum.repos.d]# yum install mongodb-org #我已经安装过了,所有不会重复安装 Loaded plugins: fastestmirror, security Setting up Install Process Loading mirror speeds from cached hostfile Package mongodb-org-2.6.12-1.x86_64 already installed and latest version Nothing to do [root@zwj yum.repos.d]# rpm -qa|grep mongod mongodb-org-shell-2.6.12-1.x86_64 mongodb-org-server-2.6.12-1.x86_64 mongodb-org-tools-2.6.12-1.x86_64 mongodb-org-2.6.12-1.x86_64 mongodb-org-mongos-2.6.12-1.x86_64 [root@zwj yum.repos.d]#
3.根据需要修改/etc/mongo.conf文件
至少配置以下三项,然后保存
logpath=/var/log/mongodb/mongod.log #mongo日志文件
dbpath=/data/mongo #数据库data存放路径
pidfilepath=/var/run/mongodb/mongod.pid #进程pid
创建对应目录
mkdir -p /var/log/mongodb
mkdir -p /data/mongo
mkdir -p /var/run/mongodb
添加权限
chown mongod.mongod /var/log/mongodb -R
chown mongod.mongod /var/run/mongodb -R
chown mongod.mongod /data/mongo -R
到这里就可以通过/etc/init.d/mongod start启动mongd服务了,默认端口27017,可以在/etc/mongod.conf修改
4.考虑到安全问题我们要给mongd数据库添加用户信息
想要启用mongod认证需要在[b]/etc/mongod.conf中设置auth=true.但是启用安全之前一定要先添加一超级用户如下演示:[/b]
先添加一个超级用户(管理员账号)
MongoDB shell version: 2.6.12 connecting to: test > use admin switched to db admin > db.addUser('root','xxxx') 1 > exit bye
/etc/mongod.conf中添加auth=true,然后重启[b]/etc/init.d/mongod restart[/b]
[b] 一旦设置认真,所有的操纵均需要经过认证[/b]
[root@zwj mongodb]# mongo MongoDB shell version: 2.6.12 connecting to: test > use admin switched to db admin > show collections 2017-05-10T18:27:26.624+0800 error: { "$err" : "not authorized for query on admin.system.namespaces", #提示已经没有权限了 "code" : 13 } at src/mongo/shell/query.js:131 > db.auth('root','xxxx') 1 #1表示已经认真成功,这时候可以作任何事情了,因为是管理员账号 > show collections system.indexes system.users system.version >
我们不可能把管理员账号非每一个使用者,所以我们可以给某个数据库建立账号,然后提供给指定用户
给指定数据库添加一个账户,要先切换到admin,登陆有再切换到目标数据库完成账户创建
[root@zwj yum.repos.d]# mongo TestDB MongoDB shell version: 2.6.12 connecting to: TestDB > use admin switched to db admin > db.auth('root','xxxx') 1 > use TestDB switched to db TestDB > db.addUser('test','test') #TestDB的专属账号
关于mongodb账号问题可以参考 http://www.cnblogs.com/valor-xh/p/6369432.html
Mongodb可视化管理工具rockmongo
[b]rockMongo是PHP5写的一个MongoDB管理工具。另外我们要保证mongodb启动时已经设置了auth=true选项.否则就太不安全了。[/b]
通过 Rockmongo 你可以管理 MongoDB服务,数据库,集合,文档,索引等等。它提供了非常人性化的操作。类似 phpMyAdmin(PHP开发的MySql管理工具)。
[b]Rockmongo 下载地址:https://github.com/iwind/rockmongo.git
[/b]
安装php运行需要的依赖库
yum -y install gcc automake autoconf libtool make
yum -y install libmcrypt-devel mhash-devel libxslt-devel libjpeg libjpeg-devel libpng libpng-devel freetype freetype-devel libxml2 libxml2-devel zlib zlib-devel glibc glibc-devel glib2 glib2-devel bzip2 bzip2-devel ncurses ncurses-devel curl curl-devel e2fsprogs e2fsprogs-devel krb5 krb5-devel libidn libidn-devel openssl openssl-devel --setopt=protected_multilib=false
2.安装php和php-fpm
yum -y install php
yum -y install php-fpm
#检查是否安装成功 [root@zwj mongodb]# php -v PHP 5.3.3 (cli) (built: Mar 22 2017 12:27:09) Copyright (c) 1997-2010 The PHP Group Zend Engine v2.3.0, Copyright (c) 1998-2010 Zend Technologies [root@zwj mongodb]# /etc/init.d/php-fpm status php-fpm (pid 13766) is running...
3.php-mongo驱动
yum install php-pecl-mongo
echo "
extension=mongo.so">>/etc/php.ini
/etc/init.d/php-fpm restart
4.获取rockmongo源码程序并放到nginx(或其他web服务器)的资源路径,并根据自身情况修改config.php文件
[b][b]git clone https://github.com/iwind/rockmongo.git[/b][/b]
[b][b]mv [b][b][b]rockmongo[/b][/b] /path/to/your/nginx_web/[/b][/b][/b]
修改[b][b][b]/path/to/your/nginx_web/rockmongo/config.php文件[/b][/b][/b]
[root@zwj ~]# cat /usr/share/nginx/html/rockmongo/config.php <?php /** * RockMongo configuration * * Defining default options and server configuration * @package rockmongo */ $MONGO = array(); $MONGO["features"]["log_query"] = "on";//log queries $MONGO["features"]["theme"] = "default";//theme $MONGO["features"]["plugins"] = "on";//plugins $i = 0; /** * Configuration of MongoDB servers * * @see more details at http://rockmongo.com/wiki/configuration?lang=en_us */ $MONGO["servers"][$i]["mongo_name"] = "自己命名一个名字";//mongo server name //$MONGO["servers"][$i]["mongo_sock"] = "/var/run/mongo.sock";//mongo socket path (instead of host and port) $MONGO["servers"][$i]["mongo_host"] = "127.0.0.1";//mongo host $MONGO["servers"][$i]["mongo_port"] = "27017";//mongo port,需要和/etc/mongod.conf中一致,否则rockmongo程序找不到我们的mongod服务 $MONGO["servers"][$i]["mongo_timeout"] = 0;//mongo connection timeout //follwo 3 lines only function when $MONGO["servers"][$i]["mongo_auth"] = false //test,test这里我提前给TestDB数据库创建的用户,密码,根据自己需要决定是否设置此项.,这里的设置跟下面test_admin想关联. $MONGO["servers"][$i]["mongo_db"] = "TestDB";//default mongo db to connect, works only if mongo_auth=false $MONGO["servers"][$i]["mongo_user"] = "test";//mongo authentication user name, works only if mongo_auth=fals $MONGO["servers"][$i]["mongo_pass"] = "test";//mongo authentication password, works only if mongo_auth=false $MONGO["servers"][$i]["mongo_auth"] =true;//enable mongo authentication? $MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false //test_admin是当“$MONGO["servers"][$i]["mongo_auth"] =false;//enable mongo authentication?”时使用的admin登陆名,并不是真正的admin用户,从上面可以了解到,其实是一个只能操作 //TestDB的"假的admin",并且它内部最终使用的是'test'账户以及密码'test' $MONGO["servers"][$i]["control_users"]["test_admin"] = "test_admin";//one of control users ["USERNAME"]=PASSWORD, works only if mongo_auth=false $MONGO["servers"][$i]["ui_only_dbs"] = "";//databases to display $MONGO["servers"][$i]["ui_hide_dbs"] = "";//databases to hide $MONGO["servers"][$i]["ui_hide_collections"] = "";//collections to hide $MONGO["servers"][$i]["ui_hide_system_collections"] = false;//whether hide the system collections //$MONGO["servers"][$i]["docs_nature_order"] = false;//whether show documents by nature order, default is by _id field //$MONGO["servers"][$i]["docs_render"] = "default";//document highlight render, can be "default" or "plain" $i ++; /** * mini configuration for another mongo server */ /** $MONGO["servers"][$i]["mongo_name"] = "Localhost2"; $MONGO["servers"][$i]["mongo_host"] = "127.0.0.1"; $MONGO["servers"][$i]["mongo_port"] = "27017"; $MONGO["servers"][$i]["control_users"]["admin"] = "password"; $i ++; **/ ?>
4.配置nginx,把对rockmongo应用的相关请求全部交给fastcgi_pass处理
[root@zwj ~]# vi /etc/nginx/conf.d/rockmongo.conf server { listen 27016; #rockmongo对外的监听端口 root /usr/share/nginx/html/rockmongo; try_files $uri /index.php; location ~ \.php$ { fastcgi_pass 127.0.0.1:9000; fastcgi_index index.php; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; } }
5.再保证php,nginx,mongodb工作正常的情况下,测试一下,浏览器输入host:27016即可
6.登录
两种登录方式:
1.认证模式,在config.php中设置如下:
$MONGO["servers"][$i]["mongo_auth"] =true;//enable mongo authentication?
使用admin账户,查看所有mongodb信息
使用普通用户,只能看用户名下的数据库,登录时要在Non-Admin users框内输入对应的DB名
下图是使用admin登录的,所以除了admin数据库外还可以看到TestDB
下图是用test用户登录的,只能够管理TestDB
2.无认证方式,要在config.php中设置如下:
$MONGO["servers"][$i]["mongo_auth"] =false;//enable mongo authentication?
$MONGO["servers"][$i]["mongo_db"] = "TestDB";//default mongo db to connect, works only if mongo_auth=false #默认访问的DB
$MONGO["servers"][$i]["mongo_user"] = "test";//mongo authentication user name, works only if mongo_auth=fals #TestDB对应的真实用户名
$MONGO["servers"][$i]["mongo_pass"] = "test";//mongo authentication password, works only if mongo_auth=false #TestDB对应的真实密码
$MONGO["servers"][$i]["control_auth"] = true;//enable control users, works only if mongo_auth=false
$MONGO["servers"][$i]["control_users"]["test_admin"] = "test_admin"
然后使用test_admin账户作为假的admin账户登录,这里的test_admin表示可以查看管理TestDB的用户,或许这么做原因可能是不想把TestDB的真实用户信息暴露出来吧-_-
测试过程中认证与不认证方式切换时会有些问题,需要重启mongodb服务(当然很烦,,),建议使用第一种就好
最后给一个mongo3.4的yum源,官网更详尽,https://www.mongodb.com/download-center
[root@zwj mongodb_yum]# cat mongodb-org-3.4.repo [mongodb-org-3.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.4.asc
相关文章推荐
- Centos Mongodb以及rockmongo安装
- nosql篇mongodb初识与安装整理以及与关系型数据库对比
- centos yum 安装 mongodb 以及php扩展
- Linux 下MongoDB的安装以及使用
- [Centos6.5]MongoDB安装以及php_mongo扩展的安装
- MongoDB -- 介绍、安装、库管理、备份以及恢复
- mongodb的安装以及设为系统启动项(windows)
- 『搭建中小型互联网公司后台服务架构』四、后台服务nosql数据库mongodb:高可用讲解以及安装
- MongoDB安装以及MongoDB可视化工具的安装(Windows)
- MongoDB的使用学习之(三)安装MongoDB以及一些基础操作
- 安装mongodb以及使用Robomongo
- linux下安装mongodb以及配置开机启动
- mongodb ubuntu下安装以及开启远程访问
- centos yum 安装 mongodb 以及php扩展
- mongodb安装、配置以及命令创建服务
- MongoDB安装以及java开发入门<一>
- 安装mongodb以及设置为windows服务 详细步骤
- 如何安装rockmongo(gui for mongodb)
- MongoDB介绍以及安装
- MongoDB 安装、主从配置、以及监控