Moduulien testaus

Moduulit on testattu linux livetikulta käyttäen Xubuntu 16.04.4 LTS x64 käyttöjärjestelmä versiota. Olen myös asentanut ja konfiguroinut saltin, jossa oma koneeni on herra ja orja.

Saltpress moduuli

Päätin koittaa Roope Varttilan tekemää moduulia, joka asentaa ja konfiguroi WordPressin koneellesi.

Aloitin kloonaamalla git repositoryn

“git clone https://github.com/roopelinux/saltpress.git”

Saltpress1

Ja menin saltpress tiedoston sisään

“cd saltpress”

saltpress2

Ja ajoin tilan komenolla

“sudo ./saltpress.sh”

saltpress3

Muutama minuutti piti odotella, kun kaikki tarvittava asenettiin. Ja tila meni onnistuneesti läpi, nyt piti vielä koittaa toimiiko wordpress avaamalla selain ja kirjoittamalla osoitteeksi localhost

saltpress4

Tältä näytti localhost sivu ja muutaman painalluksen jälkeen sain ilmoituksen

saltpress5

Joten voidaan sanoa, että moduuli tekee sen mitä lupaakin; asentaa wordpressin minuuteissa koneellesi! Hieno ja hyödyllinen moduuli, juuri esimerkiksi ihmisille, jotka käyttävät linuxia livetikulta ja haluavat käyttää wordpressiä samassa.

LEMP moduuli

Ennen tämän moduulin testausta, käynnistin linuxin tikulta uudestaan, sillä aiempi moduuli myös latasi MySQL:n.

Seuraavana moduulina päätin koittaa Lauri Mattilan tekemää LEMP stack moduulia, joka asentaa ja konfiguroi nginx:n, mysql:n ja php:n

Aloitin kloonaamalla repositoryn

“git clone https://github.com/lauripmattila/LEMP.git”

Kloonauksen jälkeen, menin LEMP kansion sisään ja ajoin asennus scriptin

“cd LEMP”

“sudo bash install_lemp.sh”

Muutaman minuutin jälkeen, tila meni läpi onnistuneesti

LEMP1

Asentamisen jälkeen koitin yksinkertaisilla jutuilla toimiiko PHP, php kansion sisään oli luotu test.php sivu, joka antaa PHP infot.

LEMP2

Komennolla

“php test.php”

LEMP3

Pystyin kokeilemaan onko PHP päällä, ja menemällä selaimella sivulle localhost/test.php pystyin vielä varmistamaan, että PHP tosiaan toimii. Eli php test.php ja localhost/test.php sivuilla on sama sisältö.

LEMP5

Sitten vielä, koitin kirjautua MySQL:n sisään ja menin selaimella sivulle localhost, jotta näin toimiiko nginx

LEMP4

Molemmat toimivat, joten voidaan todeta että moduuli toimii! Hyvä moduuli nettisivujen koodaamiseen, sillä moduuli asentaa MySQL:n ja PHP:n laittaa valmiiksi päälle, sekä konfiguroi nginx:n valmiiksi, voisin kuvitella että ihmiset jotka tekevät nettisivuja voisivat tätä moduulia käyttää, jos se käyttäisivät linuxia livetikulta.

Graafisen suunnitelijan moduuli & GIMP teeman vaihto

Seuraavana moduulina päätin koittaa Reija Pekkisen tekemää moduulia, joka asentaa graafiselle suunnittelijalle tarpeellisia ohjelmia, sekä vaihtaa GIMP kuvankäsittelyohjelman perus teeman tummaksi.

Aloitin kloonaamalla repositoryn

“git clone https://github.com/repekki/Moduulitesti.git”

Ja menin Moduulitesti kansion sisään

“cd Moduulitesti”

Ja ajoin asennus scriptin

“sudo bash highstate.sh”

Muutaman minuutin odottelun jälkeen, tila meni onnistuneesti läpi ja asensi ohjelmat

GIMP1

Tämän jälkeen päätin koittaa, pystynkö muuttamaan Gimp ohjelman teemaa, käynnistin Gimpin ja kun Gimp käynnistyi, niin siitä Edit > Preferences > Theme

GIMP2

Ja totta tosiaan, Gimp oli valmiiksi asentanut tumman teeman, joka piti vain ottaa käyttöön. Tämän jälkeen koitin vielä, toimiiko muutkin ohjelmat (krita, inkscape ja scribus)

GIMP3

Kaikki toimi kuten pitikin. Hyvä moduuli graafisille suunnittelijoille, tai ihan vain ihmisille jotka tykkäävät muokata kuvia tai tehdä piirrustuksia tai taideteoksia.

Blender moduuli

Seuraavana moduulina päätin kokeilla Silja Guptan tekemää moduulia, joka asentaa ja konfiguroi Blenderin

Aloitin kloonaamalla repositoryn

“git clone https://github.com/siljagupta/blender.git”

Ja käynnistin asennus scriptin

“sudo bash run.sh”

Parinkymmenen sekunnin odottelun jälkeen, tila meni onnistuneesti läpi ja Blender oli asennettu

BLENDER1

Komennolla

“blender”

Ohjelma lähti käyntiin ja kaikki näytti toimivan niinkuin pitikin, oletusasetuksilla

BLENDER2

Moduuli asensi blenderin ja teki siihen oletuskonfiguraatiot, mutta ymmärtääkseni moduulin piti myös vaihtaa taustakuvani, mutta sitä ei tapahtunut. Hyvä moduuli, jos haluaa suunnitella 3D-juttuja ja käyttää siihen linux livetikkua.

Firefox oletussivun vaihto, ssh asennus ja portin vaihto ja palomuurille reijät + päälle laitto

Viimeisenä moduulina päätin koittaa Katri Laulajaisen tekemää moduulia, joka muuttaa firefox selaimen oletussivun, asentaa ssh:n ja muuttaa sen oletusportin ja tekee palomuurille reijät ja laittaa sen päälle

Aloitin kloonaamalla repositoryn

“git clone https://github.com/KatriL/tulikettu.git”

Tämän jälkeen menin tulikettu kansion sisään

“cd tulikettu”

Ja käynnistin asennus scriptin

“sudo bash high.sh”

Asennus kesti muutaman sekunnin ja tila meni onnistuneesti läpi

SSH1

Tämän jälkeen päätin koittaa, toimiiko SSH yhteys portista 8888, mikä oli vaihdettu oletusportin 22 tilalle. Komennolla

“ssh xubuntu@localhost -p 8888”

Pystyin testaamaan, toimiiko SSH yhteys portista 8888

SSH2

Ja SSH yhteys toimi portista 8888, niinkuin pitikin. Seuraavaksi tarkistin, oliko palomuurille tehty reijät porteille. Komennolla

“sudo ufw status”

SSH3

Kuten kuvassa näkyy, porteille 8888 ja 22 on tehty reijät palomuuriin. Viimeisenä testasin vielä, että onko Firefox selaimen oletussivu vaihtunut

SSH4

Jostain syystä, oletussivu ei ollut muuttunut.

Moduuli voisi olla hyödyllinen ihmisille, jotka käyttävät paljon SSH yhteyttä sillä se tekee palomuuriin reijät. Moduuli ei kuitenkaan vaihtanut Firefoxin oletussivua.

Lähteet:

https://github.com/roopelinux/saltpress

https://github.com/lauripmattila/LEMP

https://github.com/repekki/Moduulitesti

https://github.com/siljagupta/blender

https://github.com/KatriL/tulikettu

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

Advertisements

Palvelinten hallinta h6 – Moduuli

Moduulin esittely 

Koska en itse pääse viimeiselle tunnille esittämään moduuliani, niin tein videon youtubeen jossa esittelen sen.

a) Kultainen polku. Tee ensimmäinen versio modulistasi, joka toimii ainakin optimiolosuhteissa. Jos jokin säätö on poikkeuksellisen hankala, voit tehdä sen tässä versiossa käsin, ja dokumentoida ajamasi käskyt. (Valmis moduli tarvitaan vasta esitykseen ensi viikolla).

b) Kokeile moduliasi tyhjässä koneessa. Voit käyttää virtualboxia, vagranttia tai livetikkua.

c) Käyttäjätarina (user story): ketkä ovat modulisi käyttäjät? Mitä he haluavat saada aikaan modulillasi? Missä tilanteessa he sitä käyttävät? Mitkä ovat tärkeimmät parannukset käyttäjän kannalta, joita moduliin pitäisi vielä tehdä? Tähän c-kohtaan vain sanallinen vastaus, tämä kohta ei poikkeuksellisesti edellytä testejä tietokoneella.

a.) https://github.com/ValtteriPartanen/salt

Kuten moduulin sivulla sanotaan, haukkasin turhan suuren palan ja DNS automatisoitu rekisteröinti moduuli ei onnistunut. Tämän jälkeen yritin konfiguroida Asterisk palvelinta, jonka tein oikein omasta mielestäni, mutta sekään ei toiminut. Joten jouduin tekemään hätävara moduulin, joka asentaa muunmuassa nginx, ssh, sysstat ja tekee niille tarvittavat konfiguraatiot ja tekee palomuuriin reijät porteille. Moduuli asentaa myös lukuisia muita ohjelmia esimerkiksi median soittoon sekä kuvien muokkailuun.

b.) Kuvassa näkyy, että ohjelmia ei ole asennettu mitä koitan käynnistää.

tyhjattaskuttaikurilla

Ohjelmat eivät ole siis asennettuna. Sitten githubiin kloonaamaan repository ja kokeilemaan.

githubclone

Jonka jälkeen menin salt kansion sisään ja annoin komennon

“sudo bash install_module.sh”

tilamenilapi

Jonka jälkeen koitin uudestaan ohjelmia mitä ei ollut äsken asennettu.

kaikkitoimii

Kaikki näyttäisi toimivan niinkuin pitääkin.

c.) c) Käyttäjätarina (user story): ketkä ovat modulisi käyttäjät? Mitä he haluavat saada aikaan modulillasi? Missä tilanteessa he sitä käyttävät? Mitkä ovat tärkeimmät parannukset käyttäjän kannalta, joita moduliin pitäisi vielä tehdä? Tähän c-kohtaan vain sanallinen vastaus, tämä kohta ei poikkeuksellisesti edellytä testejä tietokoneella.

Moduuliani voi käyttää kuka vaan, sillä se asentaa perusohjelmia sekä se antaa hyvän pohjan esimerkiksi weppisivujen kehittäjille. Moduulilla on helppo aloittaa weppisivujen teko ja esimerkiksi kuvien muokkaus käy tuosta vain, sekä salattu SSH yhteys on mahdollista ottaa tarpeen vaatiessa. Moduuliani voi käyttää vaikkapa opiskelijat, jotka tekevät linuxhommia tai ihmiset jotka haluavat valmiin kokonaisuuden, jolla pääsee linux maailmaan sisään helposti. Hyödyllisiä ohjelmia löytyisi vielä varmasti lisää, esimerkiksi koodaajien suosimia ohjelmia voisi koittaa ladata vielä, jotta yhä useampi ihminen voisi hyötyä tästä moduulista.

Lähteet:

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

Palvelinten hallinta h4 – Salt pillars

b) Tee kahdella orjalla esimerkki, jossa orjat saavat eri muuttujan pilarista. Tarkista ‘pillars.items’, että kummalekin orjalle mene eri tieto. Tee jokin muu kuin tunnilla tehty sshd-esimerkki.

c) Tee kahdella orjalla esimerkki, jossa toinen orja saa muuttujan pilarista ja toinen käyttää oletusarvoa (pillar.get). Tee jokin muu kuin tunnilla tehty sshd-esimerkki.

b.)Eri muuttujat pilarista

Loin pillar kansion /srv/ kansion sisään

cd /srv/

sudo mkdir pillar

cd pillar

Loin pillar tiedoston sisään top.sls tiedoston, joka kertoo orjille oikeat muuttujatiedostot.

sudoedit top.sls

topsls

Jonka jälkeen, pillar tiedostoon piti vielä luoda erilliset tilatiedostot orjille.

sudoedit vapa.sls

sudoedit onki.sls

vapasls

Sitten menin /srv/salt/ kansioon ja loin tilatiedoston sinne, joka luo tiedoston hello kansioon /tmp/jinja/ jossa näkyy muuttujan arvo.

cd ..

cd /srv/salt/

sudo b.sls

bsls

Sitten vielä tein /srv/salt/ kansion sisään tuon hello tiedoston muuttujalle.

sudoedit hello

hello

Nyt voimme ajaa tilan

sudo salt ‘*’ state.apply b

tilamenilapi

Jonka jälkeen menin vielä katsomaan molemmilta orjilta, että /tmp/jinja kansiosta löytyi hello tiedosto, jossa oli muuttuja sisällä

cd /tmp/jinja/

cat hello

orja1         WhatsApp Image 2018-04-22 at 17.12.29

Ja vielä komennolla pillar.items voidaan tarkistaa, mitä tietoja orjat ovat saaneet.

pillaritems

c.) Toiselle muuttujan arvo ja toiselle oletusarvo

Luodaan tätä varten oma kansio /srv/salt/ kansion sisään

cd /srv/salt/

sudo mkdir salainen

cd /srv/salt/salainen

Ja kansion sisään luon tilatiedoston init.sls

sudoedit init.sls

Tämä luo salaisuudet.txt tiedoston, jonka oletusarvo on none, ellei sille ole määritetty muuttujaa.

c1

Jonka jälkeen luomme tekstitiedoston salaisuudet.txt salainen kansion sisään, eli luodaan muuttujalle tiedostopohja.

sudoedit salaisuudet.txt

c2

Sitten luon pillar tiedoston sisään uuden tilatiedoston

cd /srv/pillar/

sudoedit sala.sls

Annetaan muutujalle arvo

c3

Sitten jouduin muokkaamaan hieman top.sls tiedostoa viime tehtävästä

sudoedit top.sls

Nyt vapa orja hakee muuttujatiedostokseen sala.sls tiedoston.

topslspillar

Sitten voimme ajaa tilan.

sudo salt ‘*’ state.apply salainen

virhe

Jahas virhettä pukkaa, ilmeisesti ongelmana oli /srv/pillar/sala.sls tiedoston sisällössä olevat ääkköset

c3c5

Muutin tekstiä hieman, ilman ääkkösiä nyt. Tämän jälkeen suoritin tilan uudestaan.

sudo salt ‘*’ state.apply salainen

c6

Jonka jälkeen kävin tarkistamassa, että muuttujat olivat oikein ja että toiselle orjalle tuli muuttujaksi oletusarvo

c7

WhatsApp Image 2018-04-22 at 18.18.10

Lähteitä:

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

 

Palvelinten hallinta h3 – Salt jinja

b) Tiedosto muotista: tee yksinkertainen SLS-tilatiedosto, joka laittaa muuttujan tiedostoon. Käytä jinjan kontekstimuuttujaa (template: jinja, context: …).

c) SLS tilaa Jinjalla: tee yksinkertainen SLS-tilatiedosto, joka käyttää for-in -silmukaa. Voit esimerkiksi tehdä kolme tiedostoa silmukalla. (Tässä tehtävässä siis käytetään jinjaa vain SLS-tiedoston sisällä, älä sotke samaan esimerkkiin tekstitiedostojen sisällön muuttamista.)

d) SSH-demonin portti: tee tila, joka asentaa SSH-demonin valittuun porttiin. Käytä portin valintaan Jinjaa, siten että sshd_config:issa “Port:”-kohdan arvo tulee Jinjan muuttujasta.

e) Kokeile jonkun toisen opiskelijan tekemää Salt-tilaa. Kokeiltava tila voi olla mistä vain harjoituksesta. Opiskelijoiden raportteja ja koodeja löydät tämän sivun perästä kommenteista.

Tämä harjoitus on tehty linux livetikulla ja käyttöjärjestelmänä toimii Xubuntu-16.04-03 LTS. Tässä vielä kyseisen version levykuva.

b) SLS-tilatiedosto, joka laittaa muuttujan tiedostoon.

Loin /srv/salt/ hakemistoon kansion testjinja

cd /srv/salt

sudo mkdir testjinja

cd /srv/salt/testjinja

sudo nano helloworld

Luodaan tiedosto, joka kutsuu muuttujaa.

bteht1kuva

Sitten loin tilatiedoston

sudo nano hello.sls

bteht3kuva

Nyt tilan voi ajaa

sudo salt ‘*’ state.apply testjinja/hello

bteht4kuva

Tila meni onnistuneesti läpi ja muuttuja oli saanut arvonsa (muuttunut muuttuja).

c) SLS tilaa Jinjalla

Luodaan /srv/salt/ hakemistoon kansio multi

cd /srv/salt/

sudo mkdir multi

cd multi

sudoedit /srv/salt/multi/init.sls

c1k

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states)

Luodaan kansion multi sisään tekstitiedosto, jonka sisällä on muuttuja

sudoedit hello

c2k

Nyt voimme ajaa tilan ja katsoa toimiiko se

sudo salt ‘*’ state.apply multi

c3keilapi

Oho tila ei mennyt läpi, syynä oli kirjoitusvirhe

init.sls tiedoston sisällä

/tmp/jinja/{{ file }}:
file.managed:
– source: salt://multi/hello.txt
– makedirs: True
– template: jinja
– context:
file: {{ file }}
{% endfor %}

Olin laittanut vahingossa .txt päätteen hello tiedostolle, poistettuani sen ajoin tilan taas.

c4ktoimii

Ja se meni läpi. Vasemmalla näkyy /tmp/jinja/ johon on ilmestynyt hello1 hello2 ja hello3 tiedostot.

 

d) SSH-demonin portin asennus Jinjaa käyttäen

Aloitin asentamalla SSH-demonin manuaalisesti.

sudo apt-get -y install ssh

Testasin että yhteys toimii

ssh xubuntu@localhost

ssh toimii

Sitten luomaan SSH-tilatiedostoa. Ensin luodaan SSH:lle oma kansio /srv/salt hakemistoon.

 

cd /srv/salt/

sudo mkdir ssh

cd /srv/salt/ssh

sudo nano init.sls

init.sls tiedoston sisältö

Tässä kuvassa muuttujalle port on määritetty arvo 8888

initslssis

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port)

Sitten luomme /srv/salt/ kansion sisään sshd_config tiedoston, jossa on muutetut asetustiedostot.

cd /srv/salt/

sudo nano sshd_config

Portin tilalle on laitettu muuttuja, jonka nimi on port

sshdconfmuokat

(Tämän tiedoston sisältö on suora lainaus Tero Karvisen sivuilta, jota olen hieman muuttanut. Linkki: http://terokarvinen.com/2018/pkg-file-service-control-daemons-with-salt-change-ssh-server-port)

Nyt pystyin suorittamaan tilan

sudo salt ‘*’ state.apply ssh

tilatoimi

Kävin vielä tarkistamassa, että sshd_config tiedostoon oli portti muuttunut 8888. Nyt voimme poistaa koneelta SSH:n ja kaikki siihen liittyvät tiedostot ja voimme kokeilla toimiiko tilamme.

sudo apt-get purge openssh-server

ssheitoimi

Eli SSH-demoni ei ole asennettu. Nyt voimme koittaa toimiiko SSH-tilamme oikeasti.

sudo salt ‘*’ state.apply ssh

SSHTILATOIM

Ja tila toimii! Vasemmalla puolella näkyy sshd_config tiedoston sisältö ja portti tosiaan on muuttunut muuttujan mukaan. Testasin vielä SSH-yhteyden ja se toimi.

tilatoimi

 

e) Kokeile toisen opiskelijan Salt-tilaa

Päätin kokeilla Lauri Mattilan tekemää Salt-tilaa, joka asentaa nmap ja ack ohjelmat.

Loin kansion programs /srv/salt/ hakemiston sisään ja programs kansion sisään programs.sls tiedoston.

cd /srv/salt

sudo mkdir programs

cd programs

sudoedit programs.sls

d1

Ajoin tilan

d2

Se meni läpi, testasin vielä ackin ja nmapin toiminnan.

d3

Ja molemmat ohjelmat toimivat. Vähän tylsän tehtävän valitsin tähän mutta no…

 

Lähteitä:

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

http://terokarvinen.com/2018/make-a-million-of-those-jinja-templating-salt-states

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

https://laurimattilablogi.wordpress.com/2018/04/01/palvelinten-hallinta-h1/

Palvelinten hallinta h2

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.

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.)

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

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.

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.

b.) Apachen käyttäjien kotisivut

En raportoi manuaalista asennusta, sillä siitä löytyy jo raportti blogistani. Halusin poistaa Apachen koneeltani kokonaan, se onnistui komennolla

“sudo apt-get purge apache*” (tätä ei kannata käyttää tuotantokoneissa, * on vaarallinen.)

Loin kansion public_html kotihakemistooni ja sen sisään index.html tiedoston

“mkdir public_html”

“cd public_html”

“sudo nano index.html”

 

Nyt loin kansion apache saltin srv kansioon ja apache kansion sisään init.sls tiedoston

“cd /srv/salt/”

“sudo mkdir apache”

“cd /srv/salt/apache”

“sudoedit init.sls”

WhatsApp Image 2018-04-08 at 21.07.36 (12)

Sitten loin apache kansion sisään default-index.html sivun

“sudoedit default-index.html”

WhatsApp Image 2018-04-08 at 21.17.56

Nyt pystyin laittamaan tilan päälle

“sudo salt ‘*’ state.apply apache”

WhatsApp Image 2018-04-08 at 21.07.36

Ja tila toimii!

 

c) PHP toimimaan käyttäjien kotisivuilla

Aloitin asentamalla PHP moduulin, se onnistui komennolla

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

Jonka jälkeen menin muokkaamaan php7.0.conf tiedostoa, kommentoin alimmat neljä riviä, jotta PHP moduuli olisi päällä

WhatsApp Image 2018-04-08 at 21.07.36 (4)

Apache piti käynnistää uudelleen se onnistuu komennolla

“sudo service apache2 restart”

Loin public_html kansion sisään index.php tiedoston

“cd public_html”

“sudo nano index.php”

WhatsApp Image 2018-04-08 at 21.22.37

Tämän jälkeen kävin kopioimassa PHP asetustiedostot

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

Loin tiedoston php.sls /srv/salt/apache hakemiston sisään

“cd /srv/salt/apache”

“sudo nano php.sls”

Ja php.sls tiedoston sisään tuli nämä

WhatsApp Image 2018-04-08 at 21.07.36 (6)

Tämän jälkeen halusin ottaa PHP moduulin pois käytöstä, jotta voisin koittaa toimiiko php.sls tiedostoni,

“sudo nano /etc/apache2/mods-available/php7.0.conf”

Josta viimeiset 4 riviä piti ottaa pois kommenteista, jotta PHP menisi pois päältä

WhatsApp Image 2018-04-08 at 21.07.36 (5)

 

Sitten koitetaan toimiiko tila

“sudo salt ‘*’ state.apply apache/php”

Ja kuten kuvassa näkyy changed 2 ja kun päivitin sivun localhost/~xubuntu/index.php niin sivulle tulostui moi.

WhatsApp Image 2018-04-08 at 21.07.36 (7)

d.) Apache virtual host tila

Aloitetaan lisäämällä rivi /etc/hosts tiedostoon

“sudo nano /etc/hosts”

Lisätään rivi

“127.0.0.1 test.com”

WhatsApp Image 2018-04-08 at 21.38.18

 

Luodaan test.com.conf tiedosto /srv/salt/apache kansion sisään

“cd /srv/salt/apache”

“sudo nano test.com.conf”

WhatsApp Image 2018-04-08 at 21.07.36 (11)

 

Sitten luodaan sinne samalla virtualhost.sls tiedosto

“sudo nano virtualhost.sls”

WhatsApp Image 2018-04-08 at 21.41.29

Jonka jälkeen koitin toimiiko tila

“sudo salt ‘*’ state.apply apache/virtualhost”

WhatsApp Image 2018-04-08 at 21.47.17

WhatsApp Image 2018-04-08 at 21.49.33

e.) Esimerkkikotisivu käyttäjille tila

“cd /srv/salt/apache”

“sudo nano public_html.sls”

WhatsApp Image 2018-04-08 at 21.07.36 (8)

“sudo nano index.html”

Jonka jälkeen tila päälle

“sudo salt ‘*’ state.apply apache/public_html”

WhatsApp Image 2018-04-08 at 21.07.36 (9)

Jonka jälkeen loin uuden käyttäjän

“sudo adduser vapa”

Jonka jälkeen menin selaimella osoitteeseen localhost/~vapa/

WhatsApp Image 2018-04-08 at 21.07.36 (1)

f.) Eri asetukset

Päätin tehdä tilan sysstatille.

Aloitin asentamalla sysstatin

“sudo apt-get -y install sysstat”

Sysstat piti laittaa erikseen päälle

“sudo nano /etc/default/sysstat”

WhatsApp Image 2018-04-08 at 22.05.13

Rivi missä sanotaan ENABLED=”false” vaihdetaan falsen tilalle “true”

Käynnistetään sysstat uusiksi

“sudo systemctl restart sysstat”

WhatsApp Image 2018-04-08 at 22.07.39

Sysstat toimii, sillä komenolla sar sain tietoja koneesta.

Sitten kopioidaan tuo muokattu tiedosto /srv/salt/apache kansioon

“sudo cp /etc/default/sysstat /srv/salt/apache”

Sitten luodaan sysstat.sls tiedosto /srv/salt/apache hakemistoon

“sudo nano sysstat.sls”

WhatsApp Image 2018-04-08 at 22.22.20 (2)

Poistetaan sysstat koneelta

“sudo apt-get purge sysstat”

Jonka jälkeen koitetaan toimiiko tila

“sudo salt ‘*’ state.apply apache/sysstat”

WhatsApp Image 2018-04-08 at 22.22.20

Ja komenolla sar tulee tietoja

WhatsApp Image 2018-04-08 at 22.22.20 (1)

Toimii!

 

Lähteitä:

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

http://terokarvinen.com/

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

Palvelinten hallinta h1

c) Asenna Salt Master ja Slave pull-arkkitehtuurilla (eli master on server). Voit laittaa herran ja orjan myös samalle koneelle. Kokeile suorittamalla salt:illa komentoja etänä.

d) Kokeile jotain Laineen esimerkistä lainattua tilaa tai tee jostain tilasta oma muunnelma. Muista testata lopputuloksen toimivuus. Huomaa, että varastossa on myös keskeneräisiä esimerkkejä, kuten Battlenet-asennus Windowsille.

e) Kerää laitetietoja koneilta saltin grains-mekanismilla.

f) Oikeaa elämää. Säädä Saltilla jotain pientä, mutta oikeaa esimerkiksi omalta koneeltasi tai omalta virtuaalipalvelimelta. (Kannattaa kokeilla Saltia oikeassa elämässä, mutta jos se ei onnistu, rakenna jotain oikeaa konettasi vastaava virtuaaliympäristö ja tee asetus siinä).

c.) Salt Master asennus

Salt masterin ja minionin asentaminen onnistuu komenolla

sudo apt-get -y install salt-master salt-minion

Tämän jälkeen orjalle pitää kertoa kuka on hänen herransa

sudoedit /etc/salt/minion

WhatsApp Image 2018-04-01 at 20.37.49 (8)

Uudelleenkäynnistys, jotta muutokset tulevat voimaan

sudo systemctl restart salt-minion.service

Hyväksytään orjan avain

sudo salt-key -A

Sitten voidaan koittaa suorittaa toimintoja etänä esim.

sudo salt ‘*’ cmd.run “apt-get -y update

WhatsApp Image 2018-04-01 at 20.37.49 (11)

d.) Laineen esimerkki

Päätin kokeilla Laineen Firewall.sls tilaa. Kopioin sisällön täältä.

cd /srv” srv hakemistoon johon loin sisälle salt kansion

mkdir salt” ja salt kansion sisälle tulee firewall.sls

sudoedit firewall.sls” jonne kopioin Laineen firewall.sls tiedot.

WhatsApp Image 2018-04-01 at 20.37.49 (10)

Halutaan saada tila toimimaan heti ja se onnistuu komenolla

sudo salt ‘*’ state.apply firewall

WhatsApp Image 2018-04-01 at 20.37.49 (9)

e.) Salt Grains

Voidaan tarkastella orjan laitetietoja komennolla

sudo salt ‘*’ grains.item

WhatsApp Image 2018-04-01 at 20.37.49 (6)

Kuvassa näkyy mm. tietokoneen laitetietoja ja järjestelmän versio.

f.) Saltilla säätöä

Halusin luoda tilan, joka varmuuskopioi tietokoneeni kotikansion 24 tunnin välein. Loin teksitiedoston srv/salt/ kansion sisälle

sudoedit backup.sls

WhatsApp Image 2018-04-01 at 20.37.49 (12)

Jonka jälkeen tila piti laittaa päälle

sudo salt ‘*’ state.apply backup

WhatsApp Image 2018-04-01 at 20.37.49 (13)

Jonka jälkeen vielä tarkistin että backup.tar oli luotu

WhatsApp Image 2018-04-01 at 20.46.05

Lähteitä:

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

https://github.com/joonaleppalahti/CCM/tree/master/salt/srv/salt

http://terokarvinen.com/2018/salt-quickstart-salt-stack-master-and-slave-on-ubuntu-linux

Linux palvelimet h7

Tehtävä (linkki)

a.) Haluamme tehdä PHP-kotisivuja etäältä.

b.) Työntekijöitämme ovat Jorma Mähkylä, Pekka Hurme, Ronaldo Smith, Håkan Petersson, Einari Mikkonen, Einari Vähäkäähkä, Eija Vähäkäähkä. Tee heille HTML5-esimerkkikotisivut siten, että kunkin testisivun otsikossa lukee omistajan käyttäjätunnus.

c.) Maija Virtanen jatkaa ylläpitoa, tee hänelle sudo-tunnus. Maija haluaa käyttäjätunnuksen “maija”.

d.) Pekka Hurme aloittaa LAMPin opiskelun. Tee Pekalle oma tietokanta, ja muuta hänen PHP-esimerkkisivunsa näyttämään tietueita tietokannasta (eli tietokantojen “hei maailma”).

e.) Jorma aikoo kehittää uuden sivun sleep.example.com. Laita Jorman kotisvu näkymään myös tästä osoitteesta. Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

f.) Suojaa kone tulimuurilla.

g.) Tee uusi komento ‘wowstats’, joka näyttää tietoja koneen tilasta. Sen tulee toimia jokaisella käyttäjällä työhakemistosta riippumatta.

Tee kaikki niin realistisesti, kuin se labrassa on mahdollista: käytä järkeviä käyttäjätunnuksia ja salasanoja. Testaa kaikki palvelut niin julkisilla nimillä tai IP-osoitteilla, kuin labrassa on mahdollista.

Aloitetaan

a.) Haluamme tehdä PHP-kotisivuja etäältä.

Tätä varten tarvitsemme Apachen, SSH:n ja PHP:n. Ensimmäiseksi päivitin paketit

“sudo apt-get update”

Jonka jälkeen asensin kyseiset ohjelmat komennolla

“sudo apt-get -y install apache2 libapache2-mod-php ssh”

Sitten päätin kirjautua sshlla, jouduin vaihtamaan ensin xubuntu käyttäjän salasanani, jotta kirjautuminen onnistuu

“passwd” jolloin voit antaa käyttäjälle uuden salasanan. Tämän jälkeen pystyin kirjautumaan ssh:lla sisään

“ssh xubuntu@localhost”

Sen jälkeen piti aktivoida käyttäjien kotisivut ja PHP asetustiedostoja piti muuttaa

“sudo a2enmod userdir”

“sudoedit /etc/apache2/mods-available/php7.0.conf” Ja sieltä kommentoidaan viimeiset kolme riviä

WhatsApp Image 2018-03-13 at 13.55.55 (3)

Apache tuli käynnistää uudelleen, jotta asetukset tulivat voimaan

“sudo systemctl restart apache2”

Sitten piti testata toimiiko PHP ja kotisivut

“mkdir public_html”

“cd public_html”

“nano index.php”

Sitten avasin selaimen ja kirjoitin osoitteeksi “localhost/~xubuntu”

WhatsApp Image 2018-03-13 at 13.55.55 (4)

Kuten kuvassa näkyy, PHP ja kotisivut toimivat.

b.) Työntekijöitämme ovat Jorma Mähkylä, Pekka Hurme, Ronaldo Smith, Håkan Petersson, Einari Mikkonen, Einari Vähäkäähkä, Eija Vähäkäähkä. Tee heille HTML5-esimerkkikotisivut siten, että kunkin testisivun otsikossa lukee omistajan käyttäjätunnus.

Aloitin asentamalla pwgenin, joka generoi salasanoja.

“sudo apt-get install pwgen”

Jonka jälkeen aloin lisäämään käyttäjiä

“sudo adduser jormam” tein jokaiselle oman käyttäjän ja laitoin pwgenillä tehdyt salasant jokaiselle.

Tämän jälkeen kirjauduin jokaiselle käyttäjälle ja loin heille kansion public_html

Kirjautuminen yhdelle käyttäjälle:

“su – jormam” jonka jälkeen kysytään salsasana, kirjauduttuani pystyin luomaan tiedostoja

“mkdir public_html”

“cd public_html”

“nano index.html”

WhatsApp Image 2018-03-13 at 13.55.55

WhatsApp Image 2018-03-13 at 13.55.55 (2)

c.) Maija Virtanen jatkaa ylläpitoa, tee hänelle sudo-tunnus. Maija haluaa käyttäjätunnuksen “maija”.

Ensin tein pwgenillä hänelle salasanan

“pwgen”

“sudo adduser maija”

“sudo adduser maija sudo”

“sudo adduser maija adm”

“sudo adduser maija admin” Noin on maija lisätty sudo käyttäjiin ja admin ryhmiin.

d.) Pekka Hurme aloittaa LAMPin opiskelun. Tee Pekalle oma tietokanta, ja muuta hänen PHP-esimerkkisivunsa näyttämään tietueita tietokannasta (eli tietokantojen “hei maailma”).

e.) Jorma aikoo kehittää uuden sivun sleep.example.com. Laita Jorman kotisvu näkymään myös tästä osoitteesta. Voit simuloida nimipalvelun toimintaa hosts-tiedoston avulla.

Aloitin menemällä Apachen asetustiedostoihin

“cd /etc/apache2/sites-available”

Sinne loin uuden asetustiedoston

“sudoedit sleep.example.com.conf”

Jonne kopioin oletussivun oletus asetustiedostot

“sudo cp /etc/apache2/sites-available/000-default.conf /etc/apache2/sites-available/sleep.example.com.conf”

Jonka jälkeen asetustiedostoja piti muokata hieman ja lopputulos näytti kuta kuinkin tältä

WhatsApp Image 2018-03-13 at 13.55.55 (5)

Tämän jälkeen asetustiedosto piti ottaa käyttöön ja apache2 käynnistää uudestaan

“sudo a2ensite sleep.example.com.conf”

“sudo service apache2 restart”

Mutta koska sivut eivät näy missään julkisessa netissä, pitää vielä hosts tiedostoa editoida

“sudoedit /etc/hosts”

WhatsApp Image 2018-03-13 at 13.55.55 (1)

Jonne lisäsin tuon 127.0.0.1 http://www.sleep.example.com

WhatsApp Image 2018-03-13 at 13.55.55 (6)

Toimii!

f.) Suojaa kone tulimuurilla.

“sudo ufw allow 22/tcp” SSH:n käyttämä portti 22

“sudo ufw allow 80/tcp” Apache2:n käyttämä portti 80

“sudo ufw enable” tulimuuri lähtee käyntiin.

WhatsApp Image 2018-03-13 at 13.55.55 (7)

g.) Tee uusi komento ‘wowstats’, joka näyttää tietoja koneen tilasta. Sen tulee toimia jokaisella käyttäjällä työhakemistosta riippumatta.

Loin tiedoston nimeltä wowstats.sh. Sinne sisään kirjoitin

“#!bin/bash

ls

pwd

whoami

hostname -I”

ja tallensin tiedoston. Tämän jälkeen halusin, että kaikki käyttäjät voivat käyttää sitä, se onnistui komennolla

“chmod ugo+x wowstats.sh”

Jonka jälkeen vielä siirsin tiedoston

“sudo mv wowstats.sh /usr/bin”

Jotta se toimii ja näkyy kaikilla.

WhatsApp Image 2018-03-13 at 14.04.04

Lähteitä:

http://terokarvinen.com/2017/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op

http://terokarvinen.com/2017/arvioitava-laboratorioharjoitus-%E2%80%93-linux-palvelimet-ict4tn021-2-uusi-ops-alkukevaalla-2017-p1