Puppet Dashboard Installation on Amazon Linux based EC2 Server
Puppet Dashboard is a puppet user interface that gives you a bird eye view of system configurations. It shows the list of nodes that can be in changed, unchanged, pending, failed or unreported state. You can manage all your nodes from the dashboard without login into the puppet master server
Requirements:
Puppet Master (2.7.25)
Install MYSQL Server
[shell]yum -y install mysql-server
/etc/init.d/mysqld start[/shell]
Create Database for puppet Dashboard
[shell]mysql -u root -p
mysql> create database puppetdash;
mysql> exit[/shell]
Install Puppet-Dashboard
[shell]rpm -i -y install puppet-dashboard
yum -y install puppet-dashboard[/shell]
Configure Puppet Dashboard
[shell]
mv /usr/share/puppet-dashboard/config/database.yml.rvm /usr/share/puppet-dashboard/config/database.yml
vim /usr/share/puppet-dashboard/config/database.yml
[/shell]
production: database: puppetdash username: root password: <mysqlrootpassword> encoding: utf8 adapter: mysql
Make the file look like above and comment all other lines
Install Dependencies
1.Install compatible ruby
[shell]yum install -y gcc zlib zlib-devel wget
wget ftp://ftp.ruby-lang.org/pub/ruby/1.8/ruby-1.8.7-p330.tar.gz
tar xvf ruby-1.8.7-p330.tar.gz
cd ruby-1.8.7-p330
./configure –enable-pthread
make
make install[/shell]
2.Use the latest installed ruby
[shell]update-alternatives –config ruby[/shell]
By default when you install puppet master ruby comes with it and that ruby version i.e. 2.0.0 creates some conflicts during further puppet dashboard configuration.So we use the manually installed ruby for further configuration.
3.Install the compatible RubyGems
[shell]yum -y install rubygems18*
#This will install gems 1.8.25
gem install stomp
gem install rakegem install ruby-mysqlgem install ruby-mysql
gem install ruby-mysql[/shell]
Migrate the database
[shell]cd /usr/share/puppet-dashboard
/usr/bin/rake RAILS_ENV=production db:migrate[/shell]
db:migrate command will modify the schema of your database.
Add reporting to puppet.conf
[shell]vim /etc/puppet/puppet.conf[/shell]
[master] report = true reports = store, http reporturl =
Here we are commanding the puppet master server to start sending the reports on a specified report url, you can specify your private ip over here for reporturl
Run puppet manually
[shell]chown puppet-dashboard /usr/share/puppet-dashboard/log/
/sbin/chkconfig puppet-dashboard on
/sbin/chkconfig puppet-dashboard-workers on
/sbin/chkconfig mysqld on
/etc/init.d/puppet-dashboard restart
/etc/init.d/puppet-dashboard-workers restart[/shell]
Access the Dashboard as where xx.xx.xx.xx is your public ip