2
4

More than 5 years have passed since last update.

Ubuntuにitamaeの環境を構築して実行するまでの手順

Last updated at Posted at 2016-06-06

環境

Ubuntu14.04

概要

私がRailsなどの開発環境を構築するときは、VagrantでVM(Ubuntu14.04)を立てて、その中でitamaeを使ってライブラリをインストールするようにしています。
本記事では、Ubuntu14.04上でitamaeの環境を構築する方法を説明します。

itamae環境構築

ruby 2.2.4をrbenvのglobalにインストール

参考: Ubuntu14.04にrbenvでRuby2.2.2をインストール

itamaeをインストールするためにはRuby2.0以上が必要ですが、Ubuntu14.04にデフォルトでインストールされているRubyのバージョンは1.9なので、まずはrbenvでRuby2.2.4をインストールします。

$ sudo apt-get update                  
$ sudo apt-get install -y git rbenv libssl-dev libreadline-dev
# .bashrcに以下を追記してrbenvのパスを通す
$ vi ~/.bashrc
export PATH="$HOME/.rbenv/bin:$PATH"
eval "$(rbenv init -)" >> ~/.bashrc
$ source .bashrc                       

# ruby-buildリポジトリを取得し、.rbenv/plugins配下に展開
$ git clone https://github.com/sstephenson/ruby-build.git ~/.rbenv/plugins/ruby-build    
$ rbenv install 2.2.4
$ rbenv global 2.2.4

rbenv-sudoをインストール

rbenv-sudoを使うと、rbenvでインストールしたrubyをsudo権限で実行できるようになります。
itamaeを実行する時にsudo権限が必要なので入れておきます。

$ git clone git://github.com/dcarley/rbenv-sudo.git ~/.rbenv/plugins/rbenv-sudo

itamaeをインストール

$ gem install itamae
$ rbenv rehash

itamaeの設定ファイル作成と実行

設定ファイル作成

bootstrap.rb
module RecipeHelper
  def include_cookbook(name)
    include_recipe File.join(__dir__, "cookbooks", name, "default.rb")
  end
end

Itamae::Recipe::EvalContext.include(RecipeHelper)

include_recipe File.join("roles", node[:role] + ".rb")
cookbooks/mysql/default.rb
# MySQLインストール
package 'mysql-server'
package 'libmysqlclient-dev'

# MySQL権限設定
execute 'mysql permission' do
  command <<-EOL
    chown mysql:mysql /var/log/mysqld.log
    chown -R mysql:mysql /var/lib/mysql
  EOL
end
roles/web.rb
package 'vim'

execute 'apt-get update' do
  command 'apt-get update -y'
end

package 'build-essential' do
  action :install
end

include_cookbook 'mysql'

package 'nginx' do
  action :install
end

package 'openssl'
package 'git'
package 'iptables'
package 'ntp'
package 'libicu-dev'
package 'nodejs'
package 'npm'
package 'nodejs-legacy'
package 'cmake'
package 'imagemagick'
nodes/vagrant.yaml
role: web

itamae実行

$ rbenv sudo itamae local -y nodes/vagrant.yaml bootstrap.rb
2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4