该Dashboard是一种运行在Rails上的Ruby应用程序,它还不是可以添加到系统版本中的程序包,但是我们可以从Puppet Labs以RPM或者DEB包的形式获得该软件。我们也可以选择从资源进行安装。
作为前提条件,Dashboard需要Puppet已经安装,并且使用存储的配置运行。Dashboard可以在最近出现的大多数Puppet版本上工 作,0.24.8版及更高版本都可以。它还需要Ruby、Rake工具以及一个MySQL数据库(以后的版本会支持更多的数据库)。
添加Yum或者Apt仓库
首先,我们需要添加Puppet Labs Yum,或者添加Apt仓库。对于Yum来说,我们需要为Puppet Labs创建一个Yum报告条目:
$ vi /etc/yum.repos.d/puppetlabs.repo
为该条目添加以下内容:
[puppetlabs]
name=Puppet Labs Packages
baseurl=http://yum.puppetlabs.com/base/
enabled=1
gpgcheck=1
gpgkey=http://yum.puppetlabs.com/RPM-GPG-KEY-puppetlabs
然后通过Yum安装。
$ sudo yum install puppet-dashboard
安装过程会提示你安装Puppet Labs释放键(release key),这是安装过程的一部分。
对于Apt,我们需要给/etc/apt/sources.list文件添加条目:
deb http://apt.puppetlabs.com/ubuntulucid main
deb-src http://apt.puppetlabs.com/ubuntulucid main
然后再给Apt添加Puppet Labs GPG键。
$ gpg --recv-key 4BD6EC30
$ gpg -a --export 4BD6EC30 | sudo apt-key add -
接下来,我们运行更新:
$ sudo apt-get update
然后安装软件包:
$ sudo apt-get install puppet-dashboard
在装有红帽和Ubuntu系统的主机上,Puppet Dashboard的安装目录为/usr/share/puppet-dashboard。
配置Rails应用程序
下一步,我们需要配置Rails应用程序,首先从数据库开始。目前Dashboard只支持MySQL数据库,那么我们就创建一个:
$ mysql --u root p
mysql> CREATE DATABASE dashboard CHARACTER SET utf8;
mysql> CREATE USER 'dashboard'@'localhost' IDENTIFIED BY 'password';
mysql> GRANT ALL PRIVILEGES ON dashboard.* TO 'dashboard'@'localhost';
在此我们已经创建了一个名为dashboard的数据库,添加了一名叫做dashboard的用户,并让该用户对这个数据库拥有某些特权。你应该用适当的密码代替代码中的“密码”字符。
接下来,我们需要告诉Dashboard有关数据库的信息。为了做到这一点,我们需要对/usr/share/puppet-dashboard/config目录下的database.yml文件进行配置。
该软件包含有一个示例文件,名字为database.yml.example,我们可以对它进行复制和编辑:
$ cp database.yml.example database.yml
$ vi database.yml
在该文件中更新生产节(用你自己的密码代替password字符),代码如下:
production:
adapter: mysql
database: dashboard
username: dashboard
password: password
encoding: utf8
这个节需要YAML格式验证,所以请确保你保留了现有的缩进。
最后,我们需要用表格和基础数据来填充我们的新数据库。我们用Rake任务来完成这个工作。在/usr/share/puppet-dashboard目录下,运行以下命令:
$ rake RAILS_ENV=production db:migrate
现在Dashboard全部配置完成,我们可以运行该Rails应用程序了。运行Rails应用程序有很多方法。一种方法是使用内部Webrick服务器(这对于生产不是很好,因为它并不能很好的扩展)。
在/usr/share/puppet-dashboard目录下,运行:
$ sudo ./script/server -e production
这个命令会在端口3000上运行Dashboard,你可以通过一个网页浏览器进行访问:
你还可以配置带有Passenger的Apache或者Nginx来运行Dashboard,这种做法是一种更稳定、扩展性更好的生产选择。在这里你可以找到一个Apache Passenger配置文件示例。
下篇文章中,我们将介绍如何把Puppet报告导入Puppet Dashboard。