Palvelinten hallinta – Puppet harjoittelua

Tehtävänanto:

h4. Tee moduli, joka tekee suosikkiasetuksesi: asentaa tärkeimpiä ohjelmia ja säätää niiden asetuksia. Voit esimerkiksi ajaa tämän modulin tullessasi labraan.
Tehtävien ohje otettu: http://terokarvinen.com/2016/aikataulu-palvelinten-hallinta-ict4tn022-1-5-op-uusi-ops-loppusyksy-2016

Harjoituksessa käytetty laitteisto/ohjelmisto:

  • 16GB Kingston DataTraveler 100 G3 USB 3.0 muistitikku
  • Tietokone (Asus Z170-A, i7-6700K , 16GB DDR4 3200MHz, Evga 1070 sc)
  • Oheishärpäkkeet
  • Xubuntu 16.04.1 LTS

Alustavat valmistelut:

Seuraavat toimet suoritan aina, kun alan tekemään linux-harjoitusten eri osioita.
Boottasin Xubuntu-livetikulle valitsemalla USB-muistitikun käynnistyksen yhteydessä bootattavaksi levyksi.  Kun kysyttiin haluanko testata Xubuntua vaiko asentaa sen, valitsin vaihtoehdon “Try Xubuntu without installing“. Lyhyen latauksen päästä pääsin työpöydälle.
Yhdistin heti kotini langattomaan verkkoon työpöydän oikeasta yläkulmasta sekä muutin näppäimmistön layoutin suomiversioksi komennolla terminaalin komennolla “$ setxkbmap fi”.
Seuraavaksi syötin komennon “$ sudo apt-get update“. Kyseinen komento päivittää pakettivarastot, ja se kannattaa suorittaa aina ennen kuin hyödyntää paketinhallintaa mihinkään.

Puppetin asennus ja hakemistopolut

Aloitin harjoituksen tekemisen lauantaina 5.11.2016 kotikoneeltani kello 22.00 aikoihin. Alustavien valmisteluiden jälkeen asensin Puppetin, kuten aiemmissakin harjoituksissa.
$ sudo apt-get install puppet
Sen jälkeen navigoin kansioon cd /etc/puppet/modules/, jonne loin kansion nimeltä “asennus“. Asennus-kansioon tein manifests-kansion.
$ sudo mkdir asennus
$ cd asennus
$ sudo mkdir manifests
$ cd manifests
Polku näyttää nyt siis tältä:

/etc/puppet/modules/asennus/manifest

Mooduulin sisältö

Manifests kansioon tein sudoeditillä init.pp nimisen tekstitiedoston, joka tulee sisältämään moduulini.
$ sudoedit init.pp
Tarkoituksenani oli tehdä yksinkertainen moduuli, joka asentaisi kaikki yleisesti hyödyntämäni ohjelmat. Päätin asentaa seuraavat ohjelmat: Gedit, Vlc, Gimp, Tree, Munin, Apache2 ja SSH.
Aloitin tekemällä moduuliin package-osion. Nyt, kun asennan moduulilla usean ohjelman, niin käytin tätä Puppet CookBookin ohjetta apuna: https://www.puppetcookbook.com/posts/install-multiple-packages.html
Lisäsin moduuliin myös “allowcdrom => ‘true’, koska työskentelen livetikulla.
Lopuksi tein apachelle tarvittavat file-osiot, jotta se saadaan pelittämään myös käyttäjän kotihakemistossa. Vinkkejä löytyi: http://terokarvinen.com/2016/aikataulu-palvelinten-hallinta-ict4tn022-1-5-op-uusi-ops-loppusyksy-2016. (Katso Teron kommentit sivun alhaalla.)
Tallensin ja lopulta moduulini näytti tältä:

class asennus {
Package {ensure => "installed", allowcdrom => "true"}
 package {"gedit":}
 package { "vlc":}
 package { "gimp":}
 package { "tree":}
 package { "munin":}
 package { "apache2":}
 package { "ssh":}
file { "/home/xubuntu/public_html/index.html":
 content => "It's working! Welcome user!\n",
 }
 file { "/etc/apache2/mods-enabled/userdir.conf":
 ensure => "link",
 target => "../mods-available/userdir.conf",
 notify => Service ["apache2"],
 }
file { "/etc/apache2/mods-enabled/userdir.load":
 ensure => "link",
 target => "../mods-available/userdir.load",
 notify => Service ["apache2"],
}
 service { "apache2":
 ensure => "true",
 enable => "true",
}
}

Sisennykset eivät näy ylläolevassa moduulissa oikein, mutta sisältö on sama.
Moduulin lisäksi tein tarvittavat kansiot käyttäjän kotihakemistoon.
$ mkdir /home/xubuntu/public_html (ei sudoa)
Moduulin joutui ajamaan kahdesti, jotta käyttäjän kotihakemisto toimi. Kaikkien ohjelmien asennuksessa meni noin minuutti.
$ sudo puppet apply -e ‘class {asennus:}’

Lopputulos

Kaikki halutut ohjelmat on asennettu.
Screenshot_2016-11-05_21-48-22.png

Yhteenveto

Tässä harjoituksessa luotiin onnistuneesti Puppet moduuli, joka asensi ohjelmat Gedit, Vlc, Gimp, Tree, Munin sekä Apache ja SSH demonit. Käyttäjän apachesivu tulostaa oikein tekstin “It’s working! Welcome user!”.

Lähteet:

Harjoituksen ohjeet
URL: http://terokarvinen.com/2016/aikataulu-palvelinten-hallinta-ict4tn022-1-5-op-uusi-ops-loppusyksy-2016
Install multiple packages
https://www.puppetcookbook.com/posts/install-multiple-packages.html
Apachen käyttäjähakemisto
http://terokarvinen.com/2016/aikataulu-palvelinten-hallinta-ict4tn022-1-5-op-uusi-ops-loppusyksy-2016 – Kommenteissa.

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 3 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html” Markus Pyhäranta

1 thought on “Palvelinten hallinta – Puppet harjoittelua”

  1. Pingback: Palvelinten hallinta – Harjoitus 6 – Markus Pyhäranta

Leave a Comment

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

Scroll to Top