如何在UbuntuVPS上使用RVM安装Chef和Ruby
介绍
厨师是一个基于 Ruby 的开源工具和框架,使您能够高度自动化您的服务器管理,并快速部署预配置的 VPS,而无需您确切地记住应该如何配置它们。
这一点越来越重要,因为通常有单独的测试、开发、数据库和生产服务器。 每个都有自己独特的资源和配置。
安装、配置、更新和维护单个 VPS 是一项耗时的重复性任务。 Chef 允许您轻松完成自动化、一致、可扩展的部署。
最重要的是,Chef 通过为您提供结构化的重用系统,为您节省时间和金钱。
Opscode,Chef 的开发人员确实有一个简单的 Ubuntu 快速安装脚本,但是如果你想使用 Ruby on Rails,他们的安装方法不合适。 相反,本教程将向您展示如何设置 real Ruby 环境。
您可能希望使用以下命令安装 Ruby:
sudo apt-get install ruby
但是,不建议这样做,因为即使您不在 VPS 上处理多个版本的 Ruby,您也会遇到 gem 冲突或需要特定 gem 版本的项目的问题。 Ruby 版本管理器 (RVM) 轻松解决了所有这些问题。
注意:使用 rbenv 代替 RVM 也是一个可行的选择。 本教程选择 RVM 是因为在所有条件相同的情况下,拥有更多可用功率但不需要它比发现你需要它但不能拥有它要好。
第 1 步:如何使用 Ruby 版本管理器安装 Ruby
RVM 具有三个依赖项:Bash、Curl 和 Git。
Bash 是默认安装的,所以只有另外两个必须用命令安装:
sudo apt-get install git-core curl
有了这个,我们现在可以使用以下命令安装 RVM:
sudo \curl -L https://get.rvm.io | bash -s stable --ruby=1.9.3
这将需要 5-10 分钟,因为它会下载依赖项和 Ruby 源代码并进行构建。
注意:Chef 是针对 Ruby 1.9 开发的,这就是我们安装 Ruby 1.9.3 的原因。
完成后,您应该会看到以下消息:
* To start using RVM you need to run `source /usr/local/rvm/scripts/rvm` in all your open shell windows, in rare cases you need to reopen all shell windows.
这样做,运行命令:
source /usr/local/rvm/scripts/rvm
现在,使用以下命令验证 Ruby 是否已正确安装:
ruby -v
对于 32 位版本的 Linux,您应该看到如下内容:
ruby 1.9.3p448 (2013-06-27 revision 41675) [i686-linux]
对于 64 位版本的 Linux,您应该看到如下内容:
ruby 1.9.3p448 (2013-06-27 revision 41675) [x86_64-linux]
现在使用以下命令验证 gem 是否正确安装:
gem -v
您应该会看到一个版本号,例如:
1.8.25
如果您不是 Ruby 或 Rails 开发人员,那么您可能希望使用以下命令将 1.9.3 Ruby 设置为所有新 shell 的默认值:
rvm use 1.9.3 --default
注意:这将覆盖任何以前安装的 Ruby 版本。
第 2 步 - 如何安装 Chef
使用以下命令安装 Chef 现在是一个快速而简单的过程:
gem install chef --no-ri --no-rdoc
现在我们使用以下命令验证 Chef 安装是否正常:
chef-solo -v
这应该返回一个版本号,如:
Chef: 11.4.4
此外,我们将安装三个有用的附加组件:Knife-Solo、Berkshelf 和 Foodcritic。
Knife-Solo 是 Chef's knife 工具的插件,它可以使用 chef-solo 提供实例。 它使小型部署变得容易,因为它使您不必运行厨师客户端,而厨师客户端又需要厨师服务器。
使用以下命令安装它:
gem install knife-solo --no-ri --no-rdoc
Berkshelf 可帮助您从本地文件、git 和厨师服务器创作、捆绑和提取您的食谱。
必须首先使用以下命令为 Berkshelf 安装一些依赖项:
sudo apt-get install libxslt-dev libxml2-dev
然后,使用以下命令安装 Berkshelf:
gem install berkshelf --no-ri --no-rdoc
现在我们使用以下命令验证 Berkshelf 是否已正确安装:
berks -v
这应该返回一个版本号,如:
Berkshelf (2.0.7)
Foodcritic 帮助您在 Chef Cookbooks 中找到问题。
使用以下命令安装它:
gem install foodcritic --no-ri --no-rdoc
然后,使用以下命令验证是否正确安装了 Foodcritic:
foodcritic -V
这应该返回一个版本号,如:
foodcritic 2.2.0
注意:如果您想知道,选项 --no-ri --no-rdoc 用于跳过文档的创建。
下一步
本教程介绍了如何在适合软件开发的真实 Ruby 环境中安装 Chef。
通过创建您自己的食谱或使用第 3 方的食谱,一切都已准备就绪,可以开始自动化了。