2014-07-15 2 views
0

지역 개발을 위해 PuPHPet (https://puphpet.com/)을 사용하고 있습니다. 나는 centos65-x64, mongodb 버전 2.6.3을 설치했다. PuPHPet에는 mongodb의 설치 사용자 이름과 암호에 대한 옵션이 없습니다. 그러나 그들은 그것을 사용하여 MongoDB를 모델 설정 사용자 이름과 암호를 예를 들어 있습니다PuPHPet에서 monogdb의 사용자 이름과 암호를 생성하십시오.

mongodb_user { testuser: 
    ensure  => present, 
    password_hash => mongodb_password('testuser', '[email protected]'), 
    database  => testdb, 
    roles   => ['readWrite', 'dbAdmin'], 
    tries   => 10, 
    require  => Class['mongodb::server'], 
} 

https://forge.puppetlabs.com/puppetlabs/mongodb 나는 manifest.pp과 방랑 다시로드 --provision에 그 코드를 추가했다. 이 오류가 발생합니다 : ** ** 명령을 실행하려면 testdb에 대한 권한이 없습니다. 나는 또한 루트 사용자를 추가하려고 시도했다.

mongodb_user { admin: 
    ensure  => present, 
    password_hash => mongodb_password('admin', 'adminpass'), 
    database  => admin, 
    roles   => ['root'], 
    tries   => 10, 
    require  => Class['mongodb::server'], 
} 

그것은 또한 나에게 같은 오류를 준 :이 같은 는 명령을 실행하기 위해 관리자에 권한이 없습니다. 사용자 이름과 비밀번호를 추가하는 방법을 모르겠습니다. 내가 수동으로 사용자 이름과 비밀 번호를 추가 할 수 있습니다 방탕 한 ssh하지만 그 생각 vagrnat 및 꼭두각시를 사용하여 목적이 아니에요. 미리 감사드립니다.

+0

'admin'과'testdb' 데이터베이스가 존재합니까? –

+0

admin db가 기본적으로 존재하지만 테스트에는 종료가 필요하지 않습니다. 종료가 아니면 생성합니다. – hasib32

답변

0

- 인증없이 mongo를 시작하십시오. 그런 다음 http://docs.mongodb.org/manual/tutorial/add-user-administrator/에 설명 된대로 관리자를 만들 수 있습니다. 그런 다음 --auth를 사용하여 다시 시작한 다음 admin 사용자를 사용하여 새 사용자를 추가하십시오. 나는 내장 된 "루트"역할을 사용하여 오래된 학교 루트 사용자를 생성하기 위해 스스로 관리하지 않았다. 루트 역할은 실제로 그가 처음 추가 된 db에서 인증해야한다. (따라서 당신은 db를 테스트하기 위해 그를 추가해야한다. 관리자를 사용하여).

관련 문제