Linuxin keskitetty hallinta Homework1

a) Puppet-moduli, joka käyttää vähintään kahta eri resurssia (esim. package ja file).
c) Vapaaehtoinen lisätehtävä: Tee moduli, joka tekee jonkin oikeassa elämässä hyödyllisen asian, vaikkapa asentaa ja konfiguroi jonkin ohjelman haluamallasi tavalla.

Tarkoituksena on tehdä nginx varten moduuli, joka varmistaa nginx asennuksen ja konfiguraatiotiedostot.

Loin /etc/puppet/modules/ kansioon nginx kansion johon tulee manifests/init.pp ja templates/nginx.conf tiedostot. Aloitin tiedoston “class nginx { … }” palikalla.

Lisäsin manifests/init.pp tiedostoon seuraavat rivit:

package { “nginx”:
ensure => latest,
}

Tämä varmistaa, että uusin versio nginx ohjelmistosta on koneella.

file { “/etc/nginx/nginx.conf”:
source => ‘/etc/puppet/modules/nginx/templates/nginx.conf’,
}

file { [‘/var/www/’,
‘/var/www/eeromikkonen/’, ]:
ensure => ‘directory’,
owner => ‘nginx’,
group => ‘nginx’,
recurse => true,
mode => ‘0744’,
}

Nämä muokkaavat tiedostoja. Ensimmäinen kopioi nginx.conf tiedoston oikeaan paikkaan ja toinen varmistaa, että hakemisto /var/www/eeromikkonen/ on olemassa.

service { ‘nginx’:
ensure => ‘running’,
enable => ‘true’,
}

Lopulta tämä varmistaa nginx demonin olevan käynnissä.

Tiedostot löytyvät githubista: https://github.com/EeJM/puppet/tree/master/modules/nginx

b) Vapaaehtoinen lisätehtävä. Tee esimerkki moduli(t) tärkeimmistä resursseista package, file, service; user, exec.
Lähteet:

https://docs.puppet.com/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.