首先,在win7下安装一点问题都没有,非常简单。这里不提。
由于开发环境从Win7换到了Ubuntu 16.04,想着Rockmongo很好用(可视化、web形式访问,甩robo3T什么的一条街),也就想在Ubuntu 16.04上安装它。以为会很简单,但试了好几次都以失败告终。今天偶然间见到篇博客,经过一阵折腾,终于安装好了。
首先感谢下面两篇博客:
(1)https://blog.csdn.net/aeoliancrazy/article/details/79210644(主)
(2)https://blog.csdn.net/u013378306/article/details/52063254(辅)
为了防止哪天页面不可访问,请允许我全文转载到我的个人博客中,再次感谢!
好了,下面说下步骤:
第零步:按照官方教程安装Mongodb
我是安装了repliset集群的(安装方法见我的另一篇转载博客https://www.jianshu.com/p/e9c0cf1e58ca),建议安装版本至少4.0以上,因为支持的功能更丰富,比如原子操作
第一步:移除默认及已安装的PHP包
sudo dpkg -l | grep php| awk '{print 2}' |tr "\n" " "注意:最后一条命令最后的“
”不要去掉
第二步:安装PHP5.6及相关拓展包
(1)添加PPA
sudo add-apt-repository ppa:ondrej/php
(2)安装Apache2
sudo apt-get install apache2
(3)安装PHP5.6及拓展包
sudo apt-get update
sudo apt-get install php5.6
sudo apt-get install php-pear
sudo apt-get install php5.6-dev
(4)安装对应版本的xml
sudo apt-get install php-xml php5.6-xml
(5)安装PHP对Mongo的支持
sudo pecl install mongo(有时候可能安装失败,提示“ERROR: `/tmp/pear/temp/mongo/configure --with-php-config=/usr/bin/php-config --with-mongo-sasl=no' failed”,此时先执行(6)中的命令,然后再执行该命令)
(6)安装配置文件
sudo apt-get install php5.6-dev pkg-config
第三步:安装并配置rockmongo
(1)下载rockmongo
下载地址:http://justcode.ikeepstudying.com/wp-content/uploads/2016/01/rockmongo-master.zip
得到压缩文件rockmongo-master.zip,存放在Downloads目录中。
(2)解压到/var/www/html
解压到rockmongo-master:
sudo tar -zxvf ~/Downloads/rockmongo-master.zip
移动到/var/www/html并重命名为rockmongo:
sudo mv rockmongo-master /var/www/html/rockmongo
(3)配置rockmongo
cd /var/www/html/rockmongo
sudo vi config.php
找到下面几行,并修改为后面的值(下面的注释只是为了说明,不要加到config.php中):
//原本默认值是27017,因为我安装集群时将master的端口设置成27000,因此修改了这个地方。
'i]["mongo_port"] = "27000";'
//值一定要是false,否则登录页面会红字提示用户名和密码不正确
'i]["mongo_auth"] = false;'
//值一定要是false,否则点击登录后,会提示”Failed to connect to: 127.0.0.1:27000: SASL Authentication failed on database 'admin': Authentication failed“
'i]["control_auth"] = false;'
第四步:安装php驱动
这里是一个坑。原本以为第二步中用命令"sudo pecl install mongo"安装了php对mongo的支持后就可以了,结果登录后还是出现"To make things right, you must install php_mongo module. Here for installation documents on PHP.net.f"的提示。
解决办法:手动安装php driver(见第2个参考博客)
(1)下载mongodb的php驱动
下载地址:http://pecl.php.net/package/mongo,下载最新的即可,我下载的时候最新版本是mongo-1.6.16。下载后得到mongo-1.6.16.tgz文件,存放在Downloads目录中。
(2)安装php驱动
首先解压到某个目录。我这里解压到了/opt目录,这是我的默认安装目录
cd ~/Downloads
sudo tar -zxvf mongo-1.6.16.tgz /opt/
cd /opt/mongo-1.6.16
//开始编译
phpize
./configure
make
sudo make install
(3)配置php.ini
首先找到mongo.so的绝对路径:
cd ~/Downloads
sudo find / . -name mongo.so
一般得到的路径是/opt/mongo-1.6.16//mudules/mongo.so,也就是说mongo.so是在驱动文件夹mongo-1.6.16中的。
sudo vi /etc/php/5.6/apache2/php.ini(一般按照上面的步骤安装好php和apache2后默认此路径,如果没有请用前面的find命令查找)
一直往下找,在一大片被注释的extension的最后加上下面一行:
extension=/opt/mongo-1.6.16//mudules/mongo.so
保存并退出,然后用下面的命令重启apache2:
service apache2 restart
第五步:通过rockmongo访问mongodb
在浏览器中输入localhost/rockmongo/index.php,就可以看到登录界面了(如果是阿里云等云服务,记得在安全配置中打开80端口,否则访问不了)。登录时,账号、密码默认即可(要改的话,到config.php中修改),且不必输入数据库名称,因为即使在登录界面指定了数据库名称,登录后还是会把其他数据库展示出来。
登录后的界面.png
好了,又可以愉快的玩耍了。
吐槽一下,Robo3T真的很不直观,文档是收起来的,查找文档基本要靠命令行。在文档数量比较少而又不想输入命令的时候,要查看某个文档基本要挨个点击展开。而rockmongo就好多了,在支持命令的同时,可以点击左边的集合,在右边就直接展示出来文档的详细情况了,是不是很直观?
文档详细情况.png
网友评论