더북(TheBook)

webapp 모듈에서 mysql 모듈을 참조해서 데이터베이스를 생성할 매니페스트 db.pp를 새로 작성합니다.

administrator@vmgate:~/code/environments/production$ vi modules/webapp/manifests/db.pp

webapp 모듈의 매니페스트 db.pp에 작성하므로 클래스 이름은 ‘webapp::db’가 되어야 합니다. 먼저 데이터베이스를 초기화하고 워드프레스를 설치할 때 필요한 정보를 나중에 다시 재활용할 수 있도록 변수로 선언하고 값을 할당합니다. wp_root_password는 루트 패스워드, wp_db_name은 생성할 데이터베이스 이름, wp_user는 데이터베이스에 접근 가능한 사용자 이름, wp_user_password는 데이터베이스 사용자의 패스워드입니다.

mysql::server 클래스를 참조하면서 루트 패스워드를 넘겨 데이터베이스를 설치하고 초기화합니다. 정의된 유형인 mysql::db로 워드프레스에서 사용할 데이터베이스를 생성합니다. 데이터베이스 이름과 사용자 계정, 사용자 비밀번호가 필요합니다. grant는 데이터베이스 사용자의 권한을 설정하는 리소스로 모든 권한을 부여하는 ALL로 설정해 놓았습니다. 필요에 따라 제한된 권한을 부여할 수도 있습니다.

# /home/administrator/code/environments/production/modules/webapp/manifests/db.pp
# 데이터베이스 운영
class webapp::db {

  $wp_root_password = 'ppassword' 
  $wp_db_name = 'masterblog'
  $wp_user = 'master'
  $wp_user_password = 'ppassword'

  class { 'mysql::server': 
    root_password => "${wp_root_password}",
    restart => true,
  }

  mysql::db { "${wp_db_name}": 
    user => "${wp_user}",
    password => "${wp_user_password}",
    grant => ['ALL'],
  }
}
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.