在Chef中安装Apache
Contents
目录
-
- 首先
-
- 执行环境
-
- 步骤
- 总结
首先
最近我终于开始学习使用Chef。
虽然我还不太熟悉它的使用方法,但我想要通过Chef来逐步实现环境的自动化搭建。
首先,我会尝试使用Chef来进行Apache的安装步骤。
假设已经安装了bundle、ruby和vagrant。
执行环境
-
- Mac:10.9.5
-
- ruby:ruby 2.1.3p242 (2014-09-19 revision 47630) [x86_64-darwin13.0]
- vagrant box:opscode-centos-5.11-i386(Chef社のBentoで公開されているboxを使いました。)
步骤
创建工作目录并进行移动。
初始化bundle并生成Gemfile。
bundle init
编辑生成的Gemfile以安装knife-solo和berkshelf。
gem 'knife-solo'
gem 'berkshelf', “2.0.16"
安装gem
bundle install
初始化vagrant。
vagrant init
编辑Vagrantfile文件。
省略使用box指定。
使用private_network指定,以便从主机上可以确认。
config.vm.network "private_network", ip: “192.168.33.10"
创建虚拟环境
vagrant up
将Knife Solo进行初始化。暂时将当前目录设置为Chef的存储库。
knife solo init .
要使来宾能够通过SSH登录。
vagrant ssh-config --host webdb >> ~/.ssh/config
在这个设置下
ssh webdb
使得客人可以通过SSH登录。
使用Knife Solo Bootstrap在客人一侧安装Chef。
knife solo bootstrap webdb
在主机上创建一个用于安装Apache的cookbook。
knife cookbook create apache -o site-cookbooks
编辑 nodes/webdb.json 文件,将其下的 apache 配方设置为节点目标。
"run_list": [
"recipe[apache]"
]
在service上安装后,创建apache安装的步骤。
package "httpd" do
action :install
end
service "httpd" do
action [ :enable, :start]
end
在客人端执行菜谱。
knife solo cook webdb
如果成功,访问 http://192.168.33.10/,显示 Apache 的默认页面。

总结
暂时先到这里吧,就今天来说。
但仅仅安装还远远不够。
如果要安装apache,还想创建一个特定的子域名,并对其进行基本的认证。
接下来,我们会继续研究Chef的使用方法。
请参阅
《Chef实践入门:基于代码的基础架构自动化》