h2 Package-File-Service

Tehtävän aloittaminen alkoi 12.4 klo 14.00

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än anto löytyy osoitteesta: http://terokarvinen.com/2020/configuration-managment-systems-palvelinten-hallinta-ict4tn022-spring-2020/

a) Demonin asetukset. Säädä jokin demoni (asenna+tee asetukset+testaa) package-file-service -rakenteella. Tunnilla muutettiin ssh:n porttinumeroa, joten tee jotain muuta.

Käytin tehtävään omia muistiinpanojani, sekä Teron ohjeita (http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example)

1) Aloitin ensiksi asentamalla Apachen käsin. Asennukseen käytin komentoja:

sudo apt-get update
sudo apt-get install apache2

Muokkasin index.html tiedostoja, joka muuttaa netissä näkyvää testiä, niin että siellä lukee hello komennolla:

echo hello | sudo tee /var/www/html/index.html

Lisäsin vielä userdir-moduulin komennolla:

sudo a2enmod userdir

Tämän jälkeen poistin Apache2 ennen kuin aloitin asentamaan sitä package-file-servicen avulla. Poistaessa Apache2 jättää apache2-bin tiedoston, joten poistin sen myös itse ohjelman poiston jälkeen.

sudo apt-get remove apache2
sudo apt-get remove apache2-bin

2) Aloitin package-file-service asennuksen menemällä /etc/apache2 hakemistoon komennolla:

cd /etc/apache2/

Tämän jälkeen etsin userdir.conf ja userdir.load tiedostoja ensiksi pidemmällä komennolla:

sudo find -printf ‘%T+ M %p\n%A+ A %p\n%C+ C %p\n’|sort

Sitten lyhyemmällä komennolla:

find -printf “%T+ %p\n”|sort

Aloitin luomalla Apache hakemiston ja sinne init.sls tilan komennoilla:

sudo mkdir apache (olin jo hakemistossa /srv/salt/)
sudoedit init.sls (olin hakemistossa /srv/salt/apache/)

Ensiksi kirjoitin init.sls kansioon nämä tiedot. Olin kuitenkin jo asentanut userdir moduulin käsinasennuksessa, joten minun ei tarvinnut aktivoida kyseistä tilaa. Kyseinen tila enabloi userdir -moduulin ja lisää userdir.conf ja load tiedoston mods-enabled hakemistoon.

Tämän jälkeen muutin tiedostoa alhaalla näkyvään muotoon:
Kuvassa puuttuu rivit:
– file: /etc/apache2/mods-enabled/userdir.conf
– file: /etc/apache2/mods-enabled/userdir.load

Kyseinen tila asentaa komennot ja on luotettavampi kui shell komennoilla asentaminen. Se asentaa ohjelman ja lisää siihe tarvittavat asetukset.

Tämän jälkeen loin tiedoston default-index.html /srv/salt/apache ja kirjoitin sinne Heippa kaikki! Loin tiedoston ja testasin sen toimivuuden komennoilla:

sudoedit /srv/salt/apache/default-index.html
cat /srv/salt/apache/default-index.html

Kun tiedoston oli luotu ja testattu, aktivoin tilan komennolla:

sudo salt ‘*’ state.apply apache

Ensiksi tuli alla oleva ilmoitus:

Virheilmoitus johtui masterin IP-osoitteen muutoksesta. Nettisivut eivät toimineet ennen kuin olin ottanut bridged adapterin käyttöön VirtualBoxista, joka samalla muutti masterin IP-osoitetta. Korjasin IP-osoitteen tiedostosta /etc/salt/minion. Tämän jälkeen käynnistin salt-minion palvelun uudelleen sudo systemctl restart salt-minion.service.
Tarkistin vielä, että avain oli edelleen käytössä komennolla sudo salt-key -L ja se oli hyväksytyissä avaimissa. Testasin ensiksi orjan toiminnan komennolla sudo salt ‘*’ cmd.run ‘whoami’ ja se antoi oikean vastauksen Janni: Root. Sitten laitoin uudelleen komennnon sudo salt ‘*’ state.apply apache ja se meni läpi oikein.

Testasin vielä, että apache toimii. Loin public_html kansion janni käyttäjän kotihakemistoon (/home/janni). Sitten loin echo -komennolla index.html tiedoston, joka sisälsi tekstin Jannin parhaat kotisivut. Käytin näitä komentoja:

sudo mkdir public_html
echo “Jannin parhaat kotisivut” |tee public_html/index.html

b) Uusi ohjelma. Asenna + tee asetukset + testaa jokin sovellus, jota ei ole käsitelty tunnilla. Asenna ensin käsin, ja käytä sen jälkeen find-komentoa etsiäksesi muuttuneet tiedostot.

Valitsin asennettavaksi ohjelmaksi ensiksi httpien. Käytin tehtävässä apuna httpie:n dokumentteja (https://httpie.org/doc). En kuitenkaan onnistunut sys.state_doc:in avulla löytämään apua package-file-servicen asennus ohjeita, enkä löytänyt netistäkään apua. Vaihdoin ohjelman asennuksen sysstateen, johon löysin apua edellisen vuoden kurssilaisen tehtävästä (https://roopelinux.wordpress.com/2018/04/08/palvelinten-hallinta-harjoitus-2-raportti/)

1) Aloitin asentamalla ohjelman ensiksi käsin komennolla:

sudo aptget install -y sysstat

Tämän jälkeen vaihdoin sysstat tiedosssa ENABLE tilan falsesta trueksi komennolla:

sudoedit /etc/default/sysstat

Käynnistin vielä ohjelman uusiksi, jotta muutokset tulivat voimaan.

sudo systemctl restart sysstat

Viimeisenä siirsin sysstat tiedoston polusta /etc/default/sysstat polkuun /srv/salt komennolla:

sudo mv /etc/default/sysstat /srv/salt

Poistin tämän jälkeen käsin asennuksen komennolla:

sudo apt-get purge -y sysstat

2) Kun käsinasennus oli poistettu aloitin package-file-service asennuksen. Loin ensiksi hakemistoon /srv/salt tilan sysstat.sls komennolla:

sudoedit sysstat.sls

Lisäsin tämän jälkeen tiedostoon allanäkyvät tiedot:

Kun tilaa oli muokattu, se täytyi ottaa käyttöön komennolla:

sudo salt ‘*’ state.apply sysstat

Tila meni oikein läpi ja toimi.

Tarkistin missä muuttuneet tiedostot olivat komennolla:

find / -name sysstat 2> /dev/null

c) Aja jokin tila paikallisesti ilman master-slave arkkitehtuuria. Tutki debug-tulostetta.

Käytin paikalliseen ajoon komentoa sudo salt-call –local state.apply apache –state-output terse

Komento antaa saman vastauksen lopussa, kuin master-slave lopussa, että state.apply on mennyt onnistuneesti läpi. Tilan tiedot näkyvät kuitenkin erilailla. Tilan erikohdat kertovat ensiksi nimen, tämän jälkeen toiminnon, tuloksen, milloin se on aloitettu ja kuinka kauan toimintoon meni. Esimerkiksi ensimmäisen on Apache2, toimintona: pkg.installed, tulos on Clean, se alkoi klo 17.40.54 ja se kesti 812.38 ms.

Tehtävien teko loppui 12.4 klo 18.00, joten niiden tekemiseen meni yhteensä 4 tuntia.

Lähteet:

Omat muistiinpanot tunnilta

Apache User Homepages Automatically – Salt Package-File-Service Example
http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

STATES TUTORIAL, PART 1 – BASIC USAGE
https://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html

Entisen kurssilaisen tehtävä
https://roopelinux.wordpress.com/2018/04/08/palvelinten-hallinta-harjoitus-2-raportti/

HTTPie, Documentation
https://httpie.org/doc

Leave a comment

Design a site like this with WordPress.com
Get started