H2 Palvelinten hallinta ICT4TN022-4

http://terokarvinen.com/2018/aikataulu-%E2%80%93-palvelinten-hallinta-ict4tn022-4-ti-5-ke-5-loppukevat-2018-5p#h1

https://docs.saltstack.com/en/latest/topics/tutorials/states_pt1.html

https://docs.saltstack.com/en/latest/topics/tutorials/starting_states.html#how-do-i-use-salt-states

https://docs.saltstack.com/en/latest/topics/best_practices.html

http://terokarvinen.com/2018/apache-user-homepages-automatically-salt-package-file-service-example

http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port

https://github.com/saltstack/salt/wiki/Cheat-Sheet

https://mvaltonenblog.wordpress.com/2018/04/08/palvelinten-hallinta-h2/

https://ksyrjanen.me/2018/04/08/palvelinten-hallinta-harjoitus-2/

Harjoitukset ovat tehty Virtuaalipalvelimella ja läppärillä. Molemmissa on Xubuntu 16.04. Molempia hallitaan puTTylla.

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

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

Asennetaan Läppärille minion komennolla

sudo apt-get install -y salt-minion

Asennetaan virtuaalipalvelimelle master komennolla

sudo apt-get install -y salt-master

Configuroidaan minion ja master jotta saadaan ne kytkettyä toisiinsa

Tämä aloitetaan komennolla

sudoedit /etc/salt/minion

Laitamme kyseisen tiedoston loppuun rivit

master: -ip-

id: slaaaves

Hyväksymme kyseisen avaimen masterilla komennolla

sudo salt-key -A

slaves2

Tehdään directory masterille

sudo mkdir /srv/salt/apache

Tänne tarvitsee tehdä init.sls tiedoston mutta ensin tarvitsee mennä kyseiseen kansioon komennolla

cd /srv/salt/apache

Sitten tehdään init.sls komennolla

sudoedit init.sls

2

Testataan toimiiko. Poistan vanhan apachen slavelta

sudo salt ‘*’ cmd.run ‘sudo apt-get -y purge apache2*’

Tämän jälkeen testaamme onko läppärillä apachea enää

Kirjoitamme selaimeen localhost

ja vastauksena tulee Unable to connect ja jonkinlainen sinisen marsun kuva. Voimme todeta että ei toimi.

Käytämme komentoa

sudo salt ‘*’ state.apply apache

3

4

Voimme todeta että tila meni läpi ilman virheitä.

Nyt otamme käyttöön php:n

Kusin kaiken kun yritin siirtää komennolla

sudo mv /etc/apache2/mods-available /srv/salt/apache

Tämä toi vahingossa kansion saltin apache kansioon ja kun olin niin hölmö niin laitoin vielä

sudo mv /srv/salt/apache /etc/apache2/mods-available

joten siirsin apache kansion apache2 modeihin. Päätin purgea kaiken käyttämällä komentoa

sudo apt-get purge -y apache2*

Ja sen jälkeen asensin takaisin apachen ja php:n käyttämällä komentoja

sudo apt-get install -y apache2

sudo apt-get install -y libapache2-mod-php

Tämän jälkeen päätin käyttää komentoa

sudo cp /etc/apache2/mods-available/php7.0.conf /srv/salt/apache

Voi himpskutti tämähän yliajoi apache kansioni ja teki php7.0.conf tiedoston joka on nimeltään apache

Motivaationi alkoi lipsua

Kirjoitin komennon

sudo mv /srv/salt/apache /srv/salt/php7.0.conf

Nyt minulla on php7.0.conf tiedosto /srv/saltissa ja joudun tekemään ensimmäisen kohdan init.sls ja directoryn uudelleen.

Teen nyt php tilan

sudoedit libapache2modphp.sls

5.JPG

Muokkaan nyt php7.0.conffia

laitan cd .. jotta pääsen /srv/salt

ja sitten

sudoedit php7.0.conf

Kommentoin alimmat rivit pois käyttämällä # merkkiä

Yritän käyttää tilaa komennolla

sudo salt ‘*’ state.apply libapache2modphp

Mutta heittää erroria

6

Sain korjattua errorin kun siirsin php7.0.confin apache kansioon ja libapache2modphp.sls:n suoraan /srv/salttiin

FeelsGoodMan testaamme käyttää tilaa komennolla

sudo salt ‘*’ state.apply libapache2modphp

7

Ja sehän toimii. Hurraa!

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

Nyt pääsemme leikkimään hosts tiedostolla. Nyt on pakko sanoa ettei ollut mitään muistikuvaa miten tämä tehdään, joten päädyin kysymään apua Miikka Valtoselta.

Aluksi teemme kansion

sudo mkdir /srv/salt/hostaus

ja laitamme sinne uuden init.sls tiedoston

initzulul

Sitten siirrämme Hosts ja 000-default.conf

sudo mv /srv/salt/apache/hosts /srv/salt/hostaus/hosts

sudo mv /srv/salt/apache/zulul-example.conf /srv/salt/hostaus/zulul-example.conf

zululllhostszulululul

Kokeilemme toimiiko tila käyttämällä komentoa

sudo salt ‘*’ state.apply hostaus

zulul

Ja sehän toimii.

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.

Tehdään uusi tila

sudoedit skel.sls

superskel

Vaihdetaan top.sls

skel

Testataan komennolla

sudo salt ‘*’ state.highstate

skelslaveswork

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.

Aloitetaan tekemällä kansio sysstatille

sudo mkdir /srv/salt/sysstat

Tämän jälkeen kopioidaan asetustiedosto ja konfigurointitiedosto

sudo cp /etc/default/sysstat /srv/salt/sysstat

Vaihdetaan sisälle seuraava

enabled

Sitten tehdään tännekkin tiedosto init.sls komennolla

sudoedit init.sls

systtat

Laitetaan tämäkin juttu top.sls tiedostoon

amazing

Kokeillaan komennolla

sudo salt ‘*’ state.highstate

dungeonmaster

Tila menee läpi, eli FeelsGoodMan.

 

 

 

 

Advertisements

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