先欣赏劳动成果

1,先安装相关的rpm包(在Puppet Service端操作)

yum -y install openssl-devel  gcc-c++ zlib-devel readline-devel mysql mysql-server mysql-devel

2,需要ruby1.8.7

Ruby or Ruby Enterprise Edition version 1.8.7 — Dashboard 1.2 no longer supports older versions of Ruby, and Ruby 1.9.2 is not yet fully supported.

关于安装ruby1.8.7可以查看我的puppet安装部署的文档。
修改系统环境

1.echo "#by notry 2012-10-20#" >> /etc/profile

2.echo "export PATH=/usr/local/ruby/bin/:$PATH"  >> /etc/profile

3.source /etc/profile
 
二、安装RubyGems及gem 模块

1.wget http://rubyforge.org/frs/download.php/75229/rubygems-1.8.7.tgz

2.cd rubygems-1.8.7

3.ruby setup.rb

安装Rake
gem install rake
 
安装rack 1.1.0
gem install rack -v 1.1.0
三、安装mysql与ruby-mysql

gem install mysql

gem install ruby-mysql

四、安装rails

gem install rails –v 2.3.5

五、创建数据库

Service mysqld start

1.mysql> create database puppet_dashboard;

2.mysql> grant all privileges on puppet_dashboard.* to puppet@localhost identified by 'password';

先停止数据库
修改配置文件
/etc/my.cnf
[mysqld]

max_allowed_packet = 32M

service mysqld start
六、检查gem的模块
#gem list
*** LOCAL GEMS ***
 
actionmailer (2.3.5, 2.3.4)
actionpack (2.3.5, 2.3.4)
activerecord (2.3.5)
activeresource (2.3.5, 2.3.4)
activesupport (2.3.5, 2.3.4)
mysql (2.8.1)
rack (1.1.0, 1.0.1)
rails (2.3.5)
rake (0.9.2)
七、安装并配置dashboard

1.tar –zxvf puppet-dashboard.tar.gz

2.mv puppet-dashboard-1.2rc9 /usr/local/puppet-dashboard

3.cd /usr/local/puppet-dashboard

cp config/database.yml.example config/database.yml

创建表
cd /usr/local/puppet-dashboard
rake install
解决:
For now, downgrade rubygems:
gem update --system 1.6.2
cd /usr/local/puppet-dashboard

rake RAILS_ENV=production db:migrate

 
 

[root@gh puppet-dashboard]# script/server -e production -d

-d 后台运行
=> Booting WEBrick

=> Rails 2.3.5 application starting on http://0.0.0.0:3000

=> Call with -d to detach
=> Ctrl-C to shutdown server

[2011-08-26 10:21:46] INFO WEBrick 1.3.1

[2011-08-26 10:21:46] INFO ruby 1.8.7 (2011-06-30) [x86_64-linux]

[2011-08-26 10:21:46] INFO WEBrick::HTTPServer#start: pid=30710 port=3000

这样就是正确的
判断3000是否开启
Netstat –an | grep 3000
找个浏览器,输入:
http://192.168.1.166:3000
配置reports

补充由于版本不同:服务器端的修改信息在[main]下
IP改成192.168.1.166

点击 左中的add class
添加test_class(上面的site.pp已定义)

[main]

node_terminus = exec

external_nodes = /usr/bin/env PUPPET_DASHBOARD_URL=http://localhost:3000  /usr/local/puppet-dashboard/bin/external

点击创建!
点击左中的add group

添加root组:


点击创建

最后增加node,点开左中的add node

增加client.dongwm.com 这个node

找到puppetmaster的lib目录
#puppetmasterd –configprint libdir
/var/lib/puppet/lib

错误解决:

如果出现Could not run: Could not create PID file: /var/lib/puppet/run/master.pid, 就意味着很有可能你上次使用了daemonize的方式启动的, 所以现在这个进程还在后台, 你可以ps -ax | grep puppet ,然后杀死这个进程,在输入命令试试.

并且chown –R puppet.puppet /var/lib/puppet

    chown –R pupper.puppet /var/run/puppet

#mkdir –p /var/lib/puppet/lib/puppet/reports/

#cp /usr/local/puppet-dashboard/ext/puppet/puppet_dashboard.rb /var/lib/puppet/lib/puppet/reports/

#cd /usr/local/puppet-dashboard/

 #/usr/local/ruby/bin/rake RAILS_ENV=production reports:import /var/lib/puppet/lib/puppet/reports/

 
注意同步的信息统一放在/etc/puppet/mainfests下
同步的命令式在客户端执行
puppetd --test --server server.viong.com
/etc/init.d/puppetmaster restart
客户端也进行重启
service puppet restart
服务器端: