phpmyadmin을 많이 써와서 그런지 웹용 GUI툴이 익숙하고 좋네요.

공식사이트
http://code.google.com/p/rock-php/

두가지 버전이 있네요. 하나는 압축풀고, 초간단하게 자체적으로 nginx서버를 구동해서 그냥 실행으로 하는 방법과 현재 자신의 서버에 php파일을 복사해서 실행하는 방법이 있네요.

일단 두번째 방법으로 하려면 자신의 apache폴더에 압축 푼 파일들을 복사해서 넣으면 그냥 동작합니다. 일단 안전하게 쓰기 위해서는 MongoDB에 인증을 추가하고, RockMongo에 인증설정을 해야 합니다. MongoDB실행 시에도 --auth 옵션을 붙여야 합니다.
mongod --auth


1. MongoDB에 인증추가하기

공식사이트에 잘 나와있습니다(MongoDB사이트는 공식사이트의 메뉴얼이 너무 잘 나와있네요.)
http://www.mongodb.org/display/DOCS/Security+and+Authentication

각각 Database별로 user를 추가할 수도 있고, admin계정에 추가할 수도 있습니다.
일단, 최초로 admin db에 user를 한번 추가할 수 있습니다. 그 뒤로는 인증을 거치지 않으면 인증에러가 뜹니다.

최초실행 시
MongoDB shell version: 1.8.2
connecting to: test
> use admin
switched to db admin
> db.addUser("mudchobo", "1234")
{
        "user" : "mudchobo",
        "readOnly" : false,
        "pwd" : "df18a34cc2758142674a9b20f847dcd1"
}
>

두 번째 실행 시
> db.addUser("mudchobo1", "1234")
Mon Jun 27 00:33:22 uncaught exception: error {
        "$err" : "unauthorized db:admin lock type:-1 client:127.0.0.1",
        "code" : 10057
}
>

인증을 할 때에는 db.auth("id", "비번") 해주면 됩니다.
admin 계정 인증 후에는 addUser를 할 수 있습니다.
> db.auth("mudchobo", "1234")
1
> db.addUser("mudchobo1", "1234")
{
        "user" : "mudchobo1",
        "readOnly" : false,
        "pwd" : "2ae2c2bae794bc3e66e883379393d4db"
}
>


2. RockMongo 환경설정

환경설정할 것이 거의 없네요. php설치 폴더에 config.php파일이 있는데, 열어서 인증부분만 true로 바꾸면 됨.
$MONGO["servers"][$i]["mongo_auth"] = true;


3. url로 접근

설치 url로 접근하면 UserName과 Password 치라고 나오는데, addUser를 통해 추가한 아이디와 비번을 치면 접근이 됩니다. auth를 쓰지 않고, db별 인증을 한 사용자도 접속을 할 수 있게 해두었습니다.


4. RockMongo 화면

phpmyadmin과 매우 흡사합니다. 맨 왼쪽에 database목록이 나오고, 하위 목록에는 table(Collection)들이 나옵니다.


간단한 수정 및 Field 추가, 데이터추가, 데이터삭제 등등 기본적인 기능을 다 갖추고 있습니다. 좋네요.


 
Posted by 머드초보

댓글을 달아 주세요

  1. 봉이 2012.01.09 16:43  댓글주소  수정/삭제  댓글쓰기

    mongo인증을 테스트하고 있는데요. 콘솔에서는 인증테스트가 잘 됩니다. 다만 rockmongo에서는 로그인 이후
    Execute failed:db assertion failure
    function (){ return db.getCollectionNames(); }
    와 같은 에러메시지가 노출되는데요. 위와같은 오류의 해결점을 알수 있을까요?
    참고로 제가 진행한 순서입니다.
    1. admin에서 addUser추가
    2. mongod 재시작. 단 --auth옵션 추가
    3. mongo 콘솔로 접근 성공
    4. rockmongo에서 위 3번에서 접근한 계정과 비번으로 로그인성공
    5. 에러메시지 발생.