Palvelinten hallinta H2

Tehtävänanto osoitteessa: terokarvinen.com

Tehtävät tästä eteenpäin (h2, h3…) tulee ratkaista tekemällä Saltin tila (state), ellei tehtävänannosta muuta ilmene. Tee ensin käsin, automatisoi vasta sitten. Muista testata lopputulos.

Edellisen harjoituksen tapaan salt masterina on Digitalocean virtuaalipalvelin, jossa Ubuntu 16.04.3 x64 ja minion kone on kymmenisen vuotta vanha pöytäkone.

h2_1

b) Laita käyttäjien kotisivut toimimaan Apachella.

Kokeillaan ensin onnistuuko tehtävän tekeminen käsin. Lähtötilanteessa minion koneella ei ole apachea asennettuna.

h2_2

$ sudo apt-get install apache2

$ sudoedit /var/www/html/index.html

Apachen asennus onnistui, seuraavaksi käyttäjien kotisivut toimimaan.

h2_3

$ sudo a2enmod userdir

$ sudo systemctl restart apache2.service

$ cd

$ mkdir public_html

$ cd public_html/

$ nano index.html

$ whoami

joni

h2_4

Tehtävän teko onnistui käsin, seuraavaksi koitetaan automatisoida. Ohjeita osoitteesta terokarvinen.com.

Luodaan tarvittavat kansiot ja tiedostot:

master$ cd /srv/salt

master$ cd apache/

master$ sudoedit default-index.html

master$ cat default-index.html

testitesti

Luodaan tila:

master$ sudoedit init.sls

h2_5

Koitetaan ajaa luotu tila:

master$ sudo salt ‘*’ state.apply apache

h2_6

Kaikki meni ok, ainoa muutos oli äsken luotu Apachen oletussivu. Nyt voidaan poistaa Apache minion koneelta ja koittaa asentaa uudelleen masterilla luodun tilan avulla.

joni@joni1:~/public_html$ sudo apt-get purge apache2 ← tabtab

apache2 apache2-bin apache2-data apache2-utils

joni@joni1:~/public_html$ sudo apt-get purge apache2 apache2-bin apache2-data apache2-utils

h2_7

Jälleen masterilla sudo salt ‘*’ state.apply apache ja Apache asentuu uudelleen, sekä myös käyttäjän kotisivut toimivat.

h2_8

c) Laita PHP toimimaan käyttäjien kotisivuilla. (Huomaa, että PHP toimii oletuksena kaikkialla muualla kuin käyttäjien public_html-kotisivuilla.)

Testataan alkuun toimiiko PHP jo käyttäjän kotisivuilla. Minionilla:

$ cd public_html/

$ nano index.html

h2_9

$ cp index.html index.php

h2_10

Eli ei toimi.

Asennetaan tarvittava paketti komennolla sudo apt-get install -y libapache2-mod-php

$ sudoedit /etc/apache2/mods-available/php7.0.conf ← kommentoidaan tarvittavat rivit.

$ sudo systemctl restart apache2.service

h2_11

Homma toimii käsipelillä, joten seuraavaksi koitetaan automatisoida. Kopioidaan talteen kommentoitu php7.0.conf tiedosto:

$ sudo scp /etc/apache2/mods-available/php7.0.conf joni@jonimattsson.me:/home/joni/

Luodaan tila php:n asennukselle:

master$ sudo mkdir /srv/salt/conf

master$ sudo cp php7.0.conf /srv/salt/conf/

master$ sudoedit /srv/salt/php.sls

h2_12

Ajetaan tila master$ sudo salt ‘*’ state.apply php

h2_13

Homma toimii. En poista php asennusta minion koneesta, koska en tiedä mitä kaikkea pitäisi poistaa. Testaamiseksi voidaan kuitenkin taas käydä poistamassa kommentit /etc/apache2/mods-available/php7.0.conf tiedostosta. → $ sudoedit /etc/apache2/mods-available/php7.0.conf

Ajetaan taas masterilla php-tila $ sudo salt ‘*’ state.apply php

h2_14

Homma toimii.

 

d) Rakenna tila (state), joka tekee Apachelle uuden nimipohjaisen virtuaalipalvelimen (name based virtual hosting). Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

Manuaalisesti: $ sudoedit /etc/hosts ← lisätään 127.0.0.1 suolakoe.org , toimii ja voidaan poistaa suolakoe.org minionin hosts-tiedostosta.

h2_15

Luodaan master koneelle tiedosta vaikka

$ sudo mkdir /srv/salt/hosts

$ sudoedit /srv/salt/hosts/hosts

copy / paste tänne rivit minionin hosts-tiedostosta ja lisätään jokin uusi osoite testiä varten.

h2_16

luodaan masterilla uusi tila salt kansioon $ sudoedit vhost.sls

/etc/hosts:

file.managed:

– source: salt://hosts/hosts

h2_17

e) Tee tila, joka laittaa esimerkkikotisivun uusille käyttäjille. Voit laittaa esimerkkikotisivu /etc/skel/:iin, niin se tulee automaattisesti ‘adduser tero’ komennolla käyttäjiä luodessa.

Testataan ensin manuaalisesti:

$ sudo mkdir /etc/skel/public_html

$ sudo nano /etc/skel/public_html/index.html ← kirjoitin vain ”oletussivut”

$ sudo nano /etc/skel/public_html/index.html

h2_18

Automatisointiin apuja: https://docs.saltstack.com/

master$ sudo mkdir /srv/salt/public_html

master$ sudoedit /srv/salt/public_html/index.html

master$ sudoedit /srv/salt/index.sls

h2_19

Testataan:

h2_20

Poistetaan vielä minionilta luotu kansio ja tiedosto:

$ sudo rm /etc/skel/public_html/index.html

$ sudo rmdir /etc/skel/public_html/

Poistetaan testikäyttäjä minionilla: $ sudo deluser –remove-home testijoni

h2_21

Ajetaan masterilla uudestaan $ sudo salt ‘*’ state.apply index

h2_22

Nyt koitetaan luoda uusi käyttäjä minionilla:

h2_23

Toimii!

f) Eri asetukset. Tee Package-File-Service tilalla eri asetuksia kuin ne, mitä tehtiin tunnilla; ja eri kuin mitä teit/teet h2 muissa kohdissa. Voit muuttaa jotain toista asetusta samoista demoneista tai valita kokonaan eri demonit.

Taustakuvan vaihto, ohjeita löysin: https://juhosyrjanen.com/2015/11/26/salt-change-default-background-with-saltstack/

Latasin netistä taustakuvan ja lähetin sen masterille:

$ scp 37681.jpg joni@jonimattsson.me:/home/joni

master$ sudo mkdir /srv/salt/background

master$ sudo mv /home/joni/37681.jpg /srv/salt/background/img.jpg

master$ cd /srv/salt/background

master$ sudoedit init.sls

h2_24

h2_25

h2_26

Kirjaudutaan uudelleen sisään, jotta nähdään onko taustakuva vaihtunut

h2_27

Homma toimi !

Advertisements

One thought on “Palvelinten hallinta H2

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s