Puppet näited: Difference between revisions
From ICO wiki
Jump to navigationJump to search
(2 intermediate revisions by the same user not shown) | |||
Line 55: | Line 55: | ||
include dvwa | include dvwa | ||
} | } | ||
</source> | |||
==/etc/puppet/manifests/classes/rak.pp== | |||
<source lang="bash"> | |||
class weebiserver { | |||
class { 'apache': } | |||
apache::vhost { 'www.planet.zz': | |||
port => '80', | |||
docroot => '/var/www/www.planet.zz', | |||
docroot_owner => 'www-data', | |||
docroot_group => 'www-data', | |||
} | |||
apache::vhost { 'sales.planet.zz': | |||
port => '80', | |||
docroot => '/var/www/sales.planet.zz', | |||
docroot_owner => 'www-data', | |||
docroot_group => 'www-data', | |||
} | |||
apache::mod { 'php5': } | |||
#file { '/var/www/www.planet.zz/': | |||
# ensure => 'directory', | |||
# group => 'www-data', | |||
# mode => '755', | |||
# owner => 'www-data', | |||
# type => 'directory', | |||
#} | |||
#file { '/var/www/sales.planet.zz/': | |||
# ensure => 'directory', | |||
# group => 'www-data', | |||
# mode => '755', | |||
# owner => 'www-data', | |||
# type => 'directory', | |||
#} | |||
file { '/var/www/www.planet.zz/index.html': | |||
ensure => 'file', | |||
content => "${fqdn} serveerib hostinime www.planet.zz", | |||
group => 'www-data', | |||
mode => '644', | |||
owner => 'www-data', | |||
# type => 'file', | |||
require => File['/var/www/www.planet.zz'], | |||
} | |||
file { '/var/www/sales.planet.zz/index.html': | |||
ensure => 'file', | |||
content => "${fqdn} serveerib hostinime sales.planet.zz", | |||
group => 'www-data', | |||
mode => '644', | |||
owner => 'www-data', | |||
require => File['/var/www/sales.planet.zz'], | |||
# type => 'file', | |||
} | |||
#File['/var/www/sales.planet.zz/index.html']->File['/var/www/sales.planet.zz'] | |||
} | |||
class hostnames { | |||
host { 'www.planet.zz': | |||
ensure => 'present', | |||
host_aliases => ['www'], | |||
ip => '192.168.56.201', | |||
target => '/etc/hosts', | |||
} | |||
host { 'sales.planet.zz': | |||
ensure => 'present', | |||
host_aliases => ['sales'], | |||
ip => '192.168.56.201', | |||
target => '/etc/hosts', | |||
} | |||
} | |||
class mysqlserver { | |||
class { '::mysql::server': | |||
root_password => 'student', | |||
override_options => { 'mysqld' => { 'max_connections' => '1024' } } | |||
} | |||
mysql::db { 'dvwa': | |||
user => 'dvwa', | |||
password => 'student', | |||
host => 'localhost', | |||
grant => ['ALL'], | |||
} | |||
} | |||
class dvwa { | |||
file { '/root/DVWA-1.0.8.tar.gz': | |||
ensure => 'file', | |||
source => 'puppet:///export/DVWA-1.0.8.tar.gz', | |||
group => 'root', | |||
mode => '600', | |||
owner => 'root', | |||
} | |||
#exec ( pakib lahti ja liigutab teise kohta) | |||
# sätib õigused paika (www-data) | |||
# loob faili dvwa-version sisuga 1.0.8 | |||
# läheb käima ainult siis, kui dvwa-version pole õige sisuga | |||
exec {'dvwa_install': | |||
cwd => '/root', | |||
path => ["/bin","/usr/bin"], | |||
subscribe => File["/root/DVWA-1.0.8.tar.gz"], | |||
unless => "grep -E '^1\.0\.8$' /root/DVWA_VERSION >/dev/null", | |||
command => "tar zxf /root/DVWA-1.0.8.tar.gz --directory /var/www/sales.planet.zz && chown www-data:www-data /var/www/sales.planet.zz/DVWA-1.0.8/ -R && ln -sf /var/www/sales.planet.zz/DVWA-1.0.8/ /var/www/sales.planet.zz/dvwa && echo '1.0.8' > /root/DVWA_VERSION", | |||
} | |||
package {'php5-mysql': ensure => latest } | |||
} | |||
</source> | </source> |
Latest revision as of 11:42, 30 January 2014
Sissejuhatus
rak.planet.zz
puppet.planet.zz
client.planet.zz
Puppet manifestid ja konfiguratsioon
/etc/puppet/fileserver.conf
[export]
path /var/lib/puppet/export
allow *
/etc/puppet/manifests/site.pp
import "classes/*"
node basenode {
include test_class
include rootkeys
include userkey
include hostnames
package {'cowsay': ensure => latest }
}
node 'client.planet.zz' inherits basenode {
include tarkvara
package {'git-cola': ensure => latest }
package {'vim-puppet': ensure => latest }
package {'mc': ensure => latest }
package {'openjdk-7-jre': ensure => latest }
}
node 'rak.planet.zz' inherits basenode {
include tarkvara
include userid
include gitkey
include issue
class { '::ntp':
servers => [ 'ntp.eenet.ee', 'ntp.ut.ee' ],
}
include weebiserver
include mysqlserver
include dvwa
}
/etc/puppet/manifests/classes/rak.pp
class weebiserver {
class { 'apache': }
apache::vhost { 'www.planet.zz':
port => '80',
docroot => '/var/www/www.planet.zz',
docroot_owner => 'www-data',
docroot_group => 'www-data',
}
apache::vhost { 'sales.planet.zz':
port => '80',
docroot => '/var/www/sales.planet.zz',
docroot_owner => 'www-data',
docroot_group => 'www-data',
}
apache::mod { 'php5': }
#file { '/var/www/www.planet.zz/':
# ensure => 'directory',
# group => 'www-data',
# mode => '755',
# owner => 'www-data',
# type => 'directory',
#}
#file { '/var/www/sales.planet.zz/':
# ensure => 'directory',
# group => 'www-data',
# mode => '755',
# owner => 'www-data',
# type => 'directory',
#}
file { '/var/www/www.planet.zz/index.html':
ensure => 'file',
content => "${fqdn} serveerib hostinime www.planet.zz",
group => 'www-data',
mode => '644',
owner => 'www-data',
# type => 'file',
require => File['/var/www/www.planet.zz'],
}
file { '/var/www/sales.planet.zz/index.html':
ensure => 'file',
content => "${fqdn} serveerib hostinime sales.planet.zz",
group => 'www-data',
mode => '644',
owner => 'www-data',
require => File['/var/www/sales.planet.zz'],
# type => 'file',
}
#File['/var/www/sales.planet.zz/index.html']->File['/var/www/sales.planet.zz']
}
class hostnames {
host { 'www.planet.zz':
ensure => 'present',
host_aliases => ['www'],
ip => '192.168.56.201',
target => '/etc/hosts',
}
host { 'sales.planet.zz':
ensure => 'present',
host_aliases => ['sales'],
ip => '192.168.56.201',
target => '/etc/hosts',
}
}
class mysqlserver {
class { '::mysql::server':
root_password => 'student',
override_options => { 'mysqld' => { 'max_connections' => '1024' } }
}
mysql::db { 'dvwa':
user => 'dvwa',
password => 'student',
host => 'localhost',
grant => ['ALL'],
}
}
class dvwa {
file { '/root/DVWA-1.0.8.tar.gz':
ensure => 'file',
source => 'puppet:///export/DVWA-1.0.8.tar.gz',
group => 'root',
mode => '600',
owner => 'root',
}
#exec ( pakib lahti ja liigutab teise kohta)
# sätib õigused paika (www-data)
# loob faili dvwa-version sisuga 1.0.8
# läheb käima ainult siis, kui dvwa-version pole õige sisuga
exec {'dvwa_install':
cwd => '/root',
path => ["/bin","/usr/bin"],
subscribe => File["/root/DVWA-1.0.8.tar.gz"],
unless => "grep -E '^1\.0\.8$' /root/DVWA_VERSION >/dev/null",
command => "tar zxf /root/DVWA-1.0.8.tar.gz --directory /var/www/sales.planet.zz && chown www-data:www-data /var/www/sales.planet.zz/DVWA-1.0.8/ -R && ln -sf /var/www/sales.planet.zz/DVWA-1.0.8/ /var/www/sales.planet.zz/dvwa && echo '1.0.8' > /root/DVWA_VERSION",
}
package {'php5-mysql': ensure => latest }
}