https://docs.chef.io/install_server.html
※ AWS で構築する場合は、t2.micro だとメモリ不足で起動しない。
1. packagecloud からリポジトリ設定のインポート
curl -s https://packagecloud.io/install/repositories/chef/stable/script.rpm.sh | sudo bash
2. chef-server-core パッケージのインストール
sudo yum install -y chef-server-core
...(snip)...
Installed:
chef-server-core.x86_64 0:12.1.2-1.el6
Complete!
3. 以下のコマンドを実行して、各種サービスを開始
sudo chef-server-ctl reconfigure
..... たくさんメッセージが出力される。
いろいろなレシピが実行されるので結構時間がかかる。
4. 最初 chef-server ユーザーの作成
書式は以下の通り
chef-server-ctl user-create <ユーザ名> <名> <姓> <メールアドレス> <パスワード> --filename <RSA Private Key を保存するファイル名>
<実行例>
sudo chef-server-ctl user-create t_suzuki taro suzuki t_suzuki@example.com xxsecretxx --filename t_suzuki_chef.key
作成された、プライベートキーはワークステーションからのアクセスに
使用されるので別途保管しておく
登録されているユーザーの一覧は user-list サブコマンドで表示する。
$ sudo chef-server-ctl user-list
pivotal
t_suzuki
登録されているユーザーの詳細は user-show サブコマンドで表示する。
$ sudo chef-server-ctl user-show t_suzuki
display_name: taro suzuki
email: t_suzuki@example.com
first_name: taro
last_name: suzuki
middle_name:
public_key: -----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsgYZbeuev/FzT+kI9iqE
7ORU/w8BpZa33tOXs+bafFUhaMYslnVZ5azMbZSRBgobOdTX5Gn/qRUrVQw1czxC
TXx+0tDe68T88McnOFdRjEUTPF1WZh7x1QSgUXSeC1c0388UrdQbFXCcEi8AnPdk
P/YdpzMjJdOkZPFiJpUVZlbUyVs/TLMe5LbvU40x/LJ/8W3kWlHd42ixIjmEC6Ba
k1DkP9FIs9gvUQINgQRLvZK8XWF2AmnF1ew0Sgui5kDWja0VbSecKTW+1XgJib1y
ifxD08qgRTZQBNkog0mqBf5jeXN5dZgqbiKABZ6vPmQxHTZc8fywajj1TH+sOzNj
gQIDAQAB
-----END PUBLIC KEY-----
5. 最初の組織(会社やグループなど)の作成
書式は以下の通り
sudo chef-server-ctl org-create <組織の略称> "<組織のフルネーム>" --association_user <組織に関連付けるユーザ> --filename <RSA秘密鍵を保存するファイル>
実行例
sudo chef-server-ctl org-create example "example inc.," --association_user t_suzuki --filename example-validator.key
登録されている組織の一覧は org-list サブコマンドで表示する
$ sudo chef-server-ctl org-list
example
登録されている組織の詳細は org-show サブコマンドで表示する
$ sudo chef-server-ctl org-show example
full_name: example
guid: 56000f67fc6ce0626817b709ba191895
name: example
これで最低限動作するはず。