Oma moduli
Tehtävän suorittaminen aloitettu 18.5.2020 9:30
Laitteen/alustan tiedot, jolla tehtävä suoritettiin:
VM #1 (Xubuntu)
- Oracle VirtualBox 6.1.6
- Xubuntu 18.04.03 LTS (+ VirtualBox guest additions)
- 4GB RAM
- 8GB Levytilaa (dynaaminen)
VM #2 (Xubuntu2)
- Oracle VirtualBox 6.1.6
- Xubuntu 18.04.03 LTS
- 2GB RAM
- 10GB Levytilaa (dynaaminen)
b) Oma moduli (iso tehtävä). Ratkaise jokin oikean elämän tai keksitty tarve omilla tiloilla/moduleilla. Voit käyttää Salttia tai muuta valitsemaasi modernia keskitetyn hallinnan ohjelmaa. Esitä tulos viimeisellä opetuskerralla, 5-10 min (keskiviikon ryhmä). Live demo olisi kiva. Raportoi modulisi tarkoitus, koodi ja testit.
Päätin luoda moduulin, joka konfiguroi palomuurin, ssh-yhteyden ja apachen minioneilla.
1) UFW
Aloitin luomalla kansion nimeltä ufw /srv/salt hakemistoon, jonka sisälle loin init.sls-tiedoston. Määrittelin tiedostossa UFW:n käynnistyvän paitsi, jos se on jo käynnissä. Avasin myös SSH:ta varten portin 22, ja Apachea varten portin 80.

Jolloin init.sls tiedosto näytti UFW:n kohdalla tältä. Testasin ajaa tämän jälkeen tilan muutamaan otteeseen. Ensimmäisellä ajokerralla tila teki muutoksia onnistuneesti ja toisella kerralla tila ajettiin onnistuneesti, mutta muutoksia ei tehty. Tästä pystyin päättelemään tilan olevan idempotentti.
2) SSH
Aloitin luomalla kansion sshd /srv/salt hakemistoon, jonka sisälle loin init.sls tiedoston, jossa määriteltiin SSH:n asennus, sshd_config-tiedoston määrittely, motd-tiedoston määrittely sekä lopuksi tarkistettiin ssh-demonin olevan päällä.

Jolloin init.sls tiedosto näytti tältä. Tämän jälkeen loin vielä sshd kansioon init.sls-tiedostossa määritellyt sshd_config -ja motd-tiedostot, joiden sisältö oli seuraava.


Tämän jälkeen ajoin sshd-tilan jälleen kerran muutamaan otteeseen varmistuakseni sen olevan idempotentti. Ensimmäisellä kerralla tila ajettiin onnistuneesti ja muutoksia tehtiin, toisella kerralla tila ajettiin myös onnistuneesti, mutta muutoksia ei tapahtunut.
3) Apache 2
Aloitin luomalla kansion apache /srv/salt hakemistoon, jonka sisälle loin init.sls -tiedoston. Määrittelin tiedostossa Tero Karvisen ohjeen mukaan asetukset, jolla käyttäjän kotisivut saadaan toimimaan. Lisäsin myös muutaman määrityksen /etc/skel/ -hakemistoon, jolloin uutta käyttäjää luodessa kotisivut luodaan samalla.

Tämän jälkeen tein vielä apache-kansioon init.sls -tiedostossa määritellyt index.html -ja kayttaja-index.html -tiedostot. Ajoin tilan muutamaan otteeseen varmistuakseni sen toiminnasta ja idempotentiudesta.
4) Sovellukset
Päätin myös tehdä yksinkertaisen tilan, joka asentaa muutaman sovelluksen. Tein tätä varten uuden kansion sovellukset ja sen sisälle init.sls tiedoston, joka näytti seuraavalta.

Testasin jälleen ajaa tilaa muutamaan otteeseen varmistuakseni sen toiminnasta.
5) Top.sls
Tein tilojen luomisen jälkeen vielä Top.sls -tiedoston, jonka sisältö näytti seuraavalta.

Tehtyäni moduulini valmiiksi, tein uuden repon GitHubiin ja kopioin moduulini tänne.
https://github.com/tommygratschew/apachemoduuli
Tämän jälkeen loin kokonaan uuden Xubuntu-virtuaalikoneen (VM #2), jolle asensin salt-minionin, avasin portit 4505 ja 4506, sekä määrittelin masterin (VM #1) IP-osoitteen ja minionin id:n. Hyväksyin tämän virtuaalikoneen master-virtuaalikoneella (jossa olin tehnyt aikaisemmat testit yms.) ja ajoin luomani moduulin komennolla ”sudo salt ’xubuntu2’ state.highstate”. Pienen odottelun jälkeen moduuli suoritettiin onnistuneesti. Ajoin komennon vielä kerran uudestaan varmistuakseni sen olevan kokonaisuutena idempotentti. Tila ajettiin uudestaan onnistuneesti ilman muutoksia. Tämän jälkeen testasin vielä kaiken asentamani toimivuuden yksitellen.
SSH

myös motd näkyy halutusti.

UFW

Apache 2 kotisivut
Tein uuden käyttäjän “testi”, jonka jälkeen testasin selaimessa päästä käyttäjän kotisivulle.

Sovellukset


Päättelin näistä testeistä luomani moduulin toimivan halutulla tavalla.
Tehtävä suoritettu 18.5.2020 klo. 16:25
Lähteet
Karvinen, Tero 2020: Configuration Managment Systems – Palvelinten Hallinta – Spring 2020, h7. http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/, Luettu 18.5.2020
Karvinen, Tero 2018: Apache User Homepages Automatically – Salt Package-File-Service Example. http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example, Luettu 18.5.2020
Bloglinux.me 2018: Using salt to automate apache2 and php installation (h2). https://www.bloglinux.me/node/11, Luettu 18.5.2020
Gratschew, Tommy 2020: Palvelinten hallinta ICT4TN022-3005 Harjoitus 2. https://tgratschew.news.blog/2020/04/13/palvelinten-hallinta-ict4tn022-3005-harjoitus-2/, Luettu 18.5.2020
Gratschew, Tommy 2020: Palvelinten hallinta ICT4TN022-3005 Harjoitus 5. https://tgratschew.news.blog/2020/04/30/palvelinten-hallinta-ict4tn022-3005-harjoitus-5/, Luettu 18.5.2020
Gratschew, Tommy 2020: Palvelinten hallinta ICT4TN022-3005 Harjoitus 6. https://tgratschew.news.blog/2020/05/12/palvelinten-hallinta-ict4tn022-3005-harjoitus-6/, Luettu 18.5.2020
Github linkki: https://github.com/tommygratschew/apachemoduuli
2 thoughts on “Palvelinten hallinta ICT4TN022-3005 Harjoitus 7”