Linux keskitetty hallinta – ensimmäinen viikkotehtävä

Pohjustusta

Täällä sitä taas ollaan Linuxin kesitetty hallinta -kurssilla. Viimeksi numero jäi uupumaan hutiloidusti tehtyjen viimeisten palautusten ja esitelmän puuttumisen vuoksi. Olisihan sitä voinut helpomminkin saada opintopisteitä, mutta jostain syystä pidän tästä kurssista. Tuleepa palautettua mieleen Linuxia ja kuinka se Puppet toimii.

Ympäristö

Xubuntu 16.04 LTS

  • HP 625
  • CPU: AMD Athlon II P320  2.1 GHz / DualCore
  • RAM 4 GB DDR3 SDRAM 1333 MHz

Tehtävänanto

h1.

a) Asenna ja konfiguroi jokin muu demoni kuin Apache

b) Opiskele esitiedot (yllä) (tästä b-kohdasta ei tarvitse raportoida, kysellään tunnilla).

c) Opiskele (tästä c-kohdasta ei tarvitse raportoida)

 

Valmistelut

Alkuun päivitin koneen, asensin puppetin, treen ja gitin.

sudo apt-get update | sudo apt-get upgrade -y

sudo apt-get install puppet

sudo apt-get install tree

sudo apt-get install git

Demonin asennus

Päätin asentaa suositellun demonin, eli SSH:n. Teron ohjeiden ja Minna Leppälän tavoin asensin ensin kaiken käsin, ja tarkastelin asetustiedostoa, jotta varsinaisen modulen tekeminen olisi helpompaa.

OpenSSH -serverin asennus:

sudo apt-get install openssh-server

Seuraavaksi menin katsomaan asetustiedostoa. Siirryin kansioon /etc/ssh . Avasin sudoeditillä tiedoston sshd_config. Kuten Minna, lisäsin tuon maksimi kirjautumisten määrän config-tiedostoon.

sshd_config

Modulin luonti

Seuraavaksi aloitin itse modulin tekemisen. Siirryin kansioon /etc/puppet/modules . Tein tänne kansion sshd, josta tulisi myös modulin nimi.  Tämän jälkeen siirryin luotuun kansioon ja loin sen sisälle templates kansion.

cd /etc/puppet/modules
sudo mkdir sshd
cd sshd
sudo mkdir templates

Tämän jälkeen kopioin tuon aikaisemmin tehdyn config tiedoston /etc/ssh alta tulevan modulin templates kansioon.

cd /etc/ssh
sudo cp sshd_config /etc/puppet/modules/sshd/templates

Seuraavaksi tarkastelin sshd_config-tiedostoa käyttäen Puppetin resource toimibtoa.

sudo puppet resource file /etc/puppet/modules/sshd_config

sshd_config_tiedot

Näillä tiedoilla saa config-tiedostolle oikeat oikeudet moduulia varten.

Seuraavaksi siirryin moduulin kansioon ja loin sen alle manifests-kansion init.pp-tiedostoa varten.

cd /etc/puppet/modules/sshd
sudo mkdir manifests

Seuraavaksi loin init.pp-tiedoston ja aloin luomaan moduulia. Olin ehtinyt kirjoittaa jo jonkun verran, kunnes muistin kaksi asiaa:

a) Ordering=Manifest
b) testaa aina pienin mahdollinen osa kerrallaan

muistin.png

Poistin file osan ja testasin, että pelkkä paketin asennus toimii.

sudo puppet apply -e ’class {”sshd”:}’

Sain eteeni punaista tekstiä ja tajusin yhden aaltosulkeen uupuvan. Kävin muuttamassa init.pp-tiedostoa ja testasin moduulia uudemman kerran. Ei enää punaista tekstiä!

korjattu

Seuraavaksi kävin varmistamassa, että tuo ordering=manifest asetus löytyy puppetin omasta config-tiedostosta.

sudoedit /etc/puppet/puppet.conf

asetus

Seuraavaksi lisäsin poistetun osan modulini init.pp:hen. Tämän jälkeen tein muutoksen varsinaiseen  /etc/ssh/sshd_config tiedostoon.

muutos.png

Testailin hetken aikaa, saaden punaista tekstiä. Jostain syystä notify ei toiminut. Poistin sen ja tyydyin pelkkään config teidoston muutokseen. Tämän jälkeen moduuli näytti toimivan.

edit.png

Viimeisenä lisäsin vielä package ja file osioiden lisäksi service osan moduliini.

class_sshd

Pysäytin SSH:n ja testasin toimiiko tuo lisäämäni osa.

ensure

Viimeisenä testasin, että moduuli toimii kokonaisuutena.

purge.png

Git

Hetken aikaa hapuilin Gitin käytön kanssa, mutta lopulta sain sen toimimaan. Pienen taistelun jälkeen sain kuitenkin siirrettyä modulini GitHubiin.

https://github.com/panoq/lkh

Loppumietintöjä

Koko tehtävään sain kulumaan useamman tunnin, johtuen yksinkertaisesti siitä, että vuodessa ehtii unohtaa paljon asioita. Ajattelin, että toinen kerta tätä kurssia olisi reilusti helpompi kuin ensimmäinen, mutta ainkaan vielä ei näytä siltä.

 

Lähteet

Mainokset

Vastaa

Täytä tietosi alle tai klikkaa kuvaketta kirjautuaksesi sisään:

WordPress.com-logo

Olet kommentoimassa WordPress.com -tilin nimissä. Log Out / Muuta )

Twitter-kuva

Olet kommentoimassa Twitter -tilin nimissä. Log Out / Muuta )

Facebook-kuva

Olet kommentoimassa Facebook -tilin nimissä. Log Out / Muuta )

Google+ photo

Olet kommentoimassa Google+ -tilin nimissä. Log Out / Muuta )

Muodostetaan yhteyttä palveluun %s