Tehtävän tekeminen alkoi 3.5.2020 klo 12. Lopetin tehtävien tekemisen 3.5.2020 klo 15.30 ja niiden tekemiseen meni yhteensä aikaa n. 3.5 tuntia.
Suoritan tehtävät omalla tietokoneellani (HP Pavillion 15) VirtualBoxin kautta Linuxin XUbuntu 18.04 käyttöjärjestelmällä.
Tehtävä on osa Tero Karvisen palvelimen hallinta kurssia keväällä 2020. Tehtävänanto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/
a) Hello templates! Tee muotilla esimerkkitiedosto, jossa on muuttujien (esim grains) arvoja.
Käytin tehtävässä apuna Teron ohjetta (http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states)
Ensiksi kokeilin, että minion toimii komennolla:
– sudo salt ‘*’ cmd.run ‘whoami’

Ensimmäisenä aloitin luomalla /srv/salt hakemistoon multi nimisen kansion ja sen sisälle init.sls tilan komennoilla:
– sudo mkdir -p /srv/salt/multi/
– sudoedit /srv/salt/multi/init.sls
Kirjoitin tilan sisälle tälläiset tiedot, joka luo tilan /tmp/template/hellotemplate.txt
{% for file in ['hellotemplates.txt'] %}
/tmp/template/{{ file }}:
file.managed:
- source: salt://multi/hellotemplates.txt
- makedirs: True
- template: jinja
- context:
file: {{ file }}
{% endfor %}
Tämän jälkeen loin /srv/salt/multi/hellotemplates.txt, jonka sisälle kirjoitin tekstin:
Moikka
Tämän tietokoneen tiedot {{ grains[‘os’] }}
Aktivoin tilan komennolla:
– sudo salt-call –local state.apply multi
Muutokset menivät oikein läpi.

Testasin vielä, että tiedot näkyivät oikein tiedostossa komennolla:
– head -100 template/*

b) Message of the Day. Sisäänkirjautuessa näytetään päivän viesti. Lisää päivän viestiin tietoa ympäristöstä käyttäen muotteja. Sopiva tiedosto on /etc/motd.
Käytin tehtävässä apuna edellisen opiskelijan tekemää tehtävää (https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/)
Aloitin luomalla motd hakemiston polkuun /srv/salt ja sen sisälle tilan init.sls sekä tiedoston motd.txt
Init.sls tilatiedoston kirjoitin seuraavasti:

Motd.txt tiedostossa halusin kerto päivän säästä sekä kertoa käyttöjärjestelmä tiedot sekä tietokoneen prosessorin:

Aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply motd

Tila meni läpi oikein ja seuraavaksi testasin kirjautua ssh:lle ja testata päivittyikö motd -viesti. Kirjauduin komennolla ja viesti näkyin kirjautumisessa:
– ssh localhost -p 5556

c) Bash. Tee bashiin asetuksia Saltilla. Ensin käsin, vasta toimivaa automatisoidaan. Muista testata lopputulos käyttäjän näkökulmasta.
Löysin hyvän ohjeen tekstin värin vaihtamiseen, joten päätin yrittää tehdä sitä. Vaihdoin värin ensiksi käsin cybercitin ohjeen avulla (https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/)
Ensiksi menin hakemistoon /home/janni ja täältä avasin tiedoston .bashrc tiedoston. Ennen tiedoston muokkaamista kopioin sen alkuperäisen talteen, jos jokin menisi pieleen.
Tämän jälkeen lisäsin tiedostoon rivin export PS1=”\e[0;31m[\u@\h \W]\$ \e[m” ja avasin terminalin uudelleen, jonka jälkeen teksti näytti tältä:

Loin uuden hakemiston bash polkuun /srv/salt ja sen sisälle init.sls tiedoston sekä textcolor tiedoston. Jouduin hetken aikaa selvittämään mitä tilaan täytyy käyttää jos haluaa vain lisätä tekstiä. Luettuani hetken saltstack:in ohjeita päädyin käyttämään file.appendia.
Kirjoitin salt tilan tämän mukaisesti:

Sitten lisäsin textcolor tiedostoon saman rivin, jonka lisäsin aiemmin .bashrc tiedostoon. Poistin tästä välistä rivin tiedostosta.
Ajoin tämän jälkeen komennon:
– sudo salt ‘*’ state.apply bash

Tila meni onnistuneesti läpi ja tarkistin ssh yhteyden avulla että väri vaihtui ja se vaihtui:

d) Nginx. Tee nginx-weppipalvelimeen asetuksia Saltilla. Voit esimerkiksi tehdä uuden site:n, niin että etusivu vaihtuu. Kun nginx on todennäköisesti sinulle uusi palvelin, tässä tehtävässä on siis ensin laaja osuus valita sopiva asetus nginx:lle ja saada se toimimaan käsin. Vasta toimivaa, käsin kokeiltua kannattaa automatisoida. Muista lopputuloksen testaus käyttäjän näkökulmasta.
Käytin apuna Ubuntun ohjeita Nginxin asennukseen (https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview) sekä vanhoja tehtäviäni apachen asennuksesta, josta otin mallia.
Aloitin ensiksi poistamalla apache2 virtuaalikoneeltani, jotta se ei aiheuta mitään ongelmia nginxin kanssa.
Asensin Nginxin komennoilla:
– sudo apt-get update
– sudo apt-get -y install nginx
Asennuksen jälkeen loin /var/www/html kansioon index.html tiedoston, joka sisälsi nämä tiedot:

Tämän jälkeen loin /etc/nginx/sites-enabled tutorial tiedoston virtualhostille ja lisäsin sinne nämä tiedot:

Tämän jälkeen käynnistin Nginx uudelleen komennolla:
– sudo systemctl restart nginx
Kun Nginx oli käynnistetty uudelleen, testasin että kaikki toimii selaimessa osoitteella localhost:81 ja se toimi oikein:

Loin hakemiston nginx hakemistoon /srv/salt ja sen alapuolelle tilatiedoston init.sls
Siirsin tiedostot /var/www/html/index.html ja /etc/nginx/sites-enabled/tutorial hakemistoon /srv/salt/nginx mv komennon avulla. Kun tiedostot oli siirretty poistin nginxin komennolla:
– sudo apt-get purge nginx
Muokkasin init.sls tilatiedostosta tämän näköisen:

Tämän jälkeen aktivoin tilan komennolla:
– sudo salt ‘*’ state.apply nginx
Se meni oikein läpi:

Viimeisenä testasin vielä uudestaan selaimen kautta toimiiko verkkosivu ja se toimi oikein. Testasin virtuaalikoneessa localhost:81 avulla, sekä omalla koneella IP-avulla (192.168.8.127:81). Molemmat toimivat oikein.


Lähteet:
CyberCiti
https://www.cyberciti.biz/faq/bash-shell-change-the-color-of-my-shell-prompt-under-linux-or-unix/
Ubuntu
https://ubuntu.com/tutorials/install-and-configure-nginx#1-overview
Tero Karvinen
http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states
Miko Lähdesmäki
https://lahdemi.wordpress.com/2018/04/15/3-viikkotehtava/
One thought on “h5 muotteja ja moduleja”