Harjoitus 6

Palvelinten hallinta kurssin viimeinen tehtävä.

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

Valitsemani aihe oli asiakaskoneen yhdistäminen samba palvelimeen. En saanut kuitenkaan yhdistämistä onnistumaan kuin olin suunnitellut. Tuntui, että olisin tarvinnut kaksi konetta, että olisin saanut homman toimimaan. Tehtävää hankaloitti myös se, että ensimmäistä kertaa tutkin samban toimintaa. Ensin ajattelin, että voin asentaa samban julkiselle palvelimelleni ja siirtää tiedoston kotikoneelleni testinä. Sain selville, että julkisen verkon läpi ei kannattaisi näin tehdä. Tehtävä alkoi tuntua silloin mutkikkaalta.

Siksi päätin vain tehdä moduulin joka asentaa samba palvelimen, johon kuuluu jakokansion lisäys ja konffaukset smb.conf tiedostoon. Jouduin tehdä näin, koska aika oli loppumassa ja halusin esittää jotsin valmista.

Valmis versio: Samba-installation

 

B)

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

Kokeilin moduulini livetikulla.

Liitin koneen verkkoon.

“wget https://raw.githubusercontent.com/Varik96/Samba-installation/master/run.sh” komennolla sain run.sh tiedoston, jonka ajoin “bash run.sh” komennolla. Näin kaikki asentui, kuten piti. Kerran testi epäonnistui, koska nettipätki, mutta ajoin run.sh:n vain uudestaan, jonka jälkeen toimi

 

C)

Tähän c-kohtaan vain sanallinen vastaus, tämä kohta ei poikkeuksellisesti edellytä testejä tietokoneella.

Käyttäjätarina (user story): ketkä ovat modulisi käyttäjät?

Kuka vain, jolla on windows- ja linux-koneita.

Mitä he haluavat saada aikaan modulillasi?

Tiedostojen jakaminen nopeutuu. Alkuperäinen suunnitelmani olisi ollut paljon hyödyllisempi, mutta tästäkin hyötyä.

Missä tilanteessa he sitä käyttävät?

Samba serveriä voi hyödyntää tiedostojen jakamisessa, joten kotikoneilla olevat tiedostot voidaan jakaa muille koneille. Sitten esim. webbisivujen suunnittelussa tiimi voi jakaa nämä tiedostot toisilleen.

Mitkä ovat tärkeimmät parannukset käyttäjän kannalta, joita moduliin pitäisi vielä tehdä?

No alkuperäinen ideahan olisi se ideaali lisä. Muuten tehdä se niin, että se lisää linuxit ja windowsitkin.

 

Lähteet:

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

 

Harjoitus 5

B) Julkaise raportti MarkDownilla. Jos käytät GitHub:ia, se tekee muotoilun automaattisesti “.md”-päätteisiin dokumentteihin.

Tein c) kohdan MarkDownilla. README.md on raportti c) kohdasta.

C) Aja oma Salt-tila suoraa git-varastosta. Voit joko tehdä tilan alusta lähtien itse tai forkata sirottimen.

Tehtävä löytyy täältä:

https://github.com/Varik96/Test-repository-for-schoolwork

 

Lähde:

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

Harjoitus 4

Harjoitus 4

Palvelinten hallinta

 

B)

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

Käynnistin koneen live-tikulta.

Aloitin komennooilla “setxkbmap fi” ja “sudo apt-get update”.

Asensin orjat ja masterin. Master ja orja xubuntulle ja toinen orja vagrantilla virtualboxille.

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

sudo apt-get -y  install vagrant virtualbox

 

Slave1 asennus kuin ensimmäisessä kotitehtävässä xubuntulle, kohdassa A.

 

Slave2 vagrantilla.

vagrant init bento/ubuntu-16.04

vagrant up

vagrant ssh

Näin asensin virtuaalikoneen ja otin yhteyden ssh:lla. Sitten asensin sille salt-minion:in.

sudo apt-get -y install salt-minion

Sitten samat temput siihen asti, kunnes master on hyväksynyt. Samalla tavalla kuin slave1 siis.

 

Tein /srv/salt/ kansion ja sinne hello/ kansion. Sinne init.sls ja hello.txt

initsls

hellotxt

Sitten tein /srv/pillar kansion, jonne tein top.sls, slave1.sls ja slave2.sls.pillarfilet

Kokeilin pillar.items eli sudo salt ‘*’ pillar.itemspillaritems

Näkyi halutut tiedot.

 

Käynnistin tilan komennolla “sudo salt ‘*’ state.apply hello”

Katsoin kummankin orjan /tmp/ kansiosta, mitä olivat saaneet.

pillartoimix2

Tehtävä onnistui.

 

 

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-kohdassa oli oletusarvo jo annettu hello.txt:ssä, joten muutan /srv/pillar/slave2.sls tiedostosta sen muuttujan.

Muutin “numero” muuttujan → “eitoimi”.

eitiomi

sudo salt ‘*’ state.apply helloapplytesti

Pillar.items tarkistus.

pillaritemseitoimi

Katsoin toimiko ja kyllä se toimi.

 

cattesti

 

Lähteet:

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

http://terokarvinen.com/2018/simple-secrets-in-salt-pillars

http://terokarvinen.com/2017/vagrant-revisited-install-boot-new-virtual-machine-in-31-seconds

 

 

Harjoitus 3

Palvelinten hallinta H3

Aloitin komennolla sudo apt-get update.

B)

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

Tein salt tilan uuteen kansioon nimeltä jinjatest.

cd /srv/salt/

sudo mkdir jinjatest

sudoedit init.sls

Tässä näkyy init.sls:

 

initjinja1

Sitten tein colors.txt:n, jossa oli {{ color }} muuttuvana osana.

sudoedit colors.txt

template1

sudo salt ‘*’ state.apply jinjateststate1

Ei virhe merkintöjä. Katsotaan oliko tapahtuma oikea.

inittest1

Kyllä, jinja kansio on ilmestynyt. Sitten katsoin, että haluama teksti oli colors.txt tiedostossa.

success1

Kyllä oli. Testi oli onnistunut.
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.)

Tein uuden kansion tälle tehtävälle ja sinne init.sls tiedoston.

sudo mkdir multi

sudoedit init.sls

Tein init.sls tiedoston väärään paikkaan, joten siirsin sen komennolla:

sudo mv /srv/salt/init.sls /srv/salt/multi/init.sls

Tältä init.sls näytti:

multiinit2

Init.sls tiedostoon oli otettu mallia täältä.

Sitten tarvittiin malli.txt tiedosto.

sudoedit malli.txt

malli2

Olikokeilun aika.

sudo salt ‘*’ state.apply multi

Tutkin oliko kaikki haluamat tiedostot ilmestyneet.

statetestbetter2

Kuvasta näkyy, että aluksi threefiles kansiota ei ole ja tilan myötä se oli ilmestynyt.

Testi onnistui.

 

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.

Tein uuden kansion ssh tilaa varten ja tein init.sls tiedoston.

cd /srv/salt/

sudo mkdir sshd

cd sshd

sudoedit init.sls

Kuva, miltä init.sls näytti. Valitsin portiksi 8888.

portinit

Haen sshd_config tiedoston tilan kansioon.

cd /etc/ssh/

sudo cp /etc/ssh/sshd_config /srv/salt/sshd/sshd_config

Muokkaan /srv/salt/sshd/ kansiossa sshd_config tiedostosta “Port” kohdan perään jinja muuttujan {{ port }}.

sudoedit sshd_config

changeconfig

Kokeilen tilaa.

sudo salt ‘*’ state.apply sshdstatesshst

Testi toimi. Yritän uudestaan, kun olen ensin poistanut ssh:n.

sudo apt-get purge openssh-server

sudo salt ‘*’ state.apply sshd

Sitten kokeilin ssh:ta oletus porttiin 22.

ssh -p 22 riku@localhost

Ei toiminut, niinkuin oletin.

Sitten porttiin 8888.

ssh -p 8888 riku@localhost

Ja se toimi.

sshtestsuccess

Testi oli onnistunut.

 

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.

Valitsin kokeiltavan tilan täältä.

Eli Kristian Syrjäsen tila sysstatin käyttöönotosta, jossa innoittajana Roope Varttila.

Aloitan ohjeen mukaan tekemällä sysstat kansion.

cd /srv/salt/

sudo mkdir sysstat

Sitten kopioin seuraavan tiedoston

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

Siinä vaihdettiin false -> true. Itsellä se olikin jo valmiiksi.

sysstatfile

Teen samanlaisen init.sls tiedoston kuin Kristianilla.

sudoedit init.sls

kirstinit

Kokeilen toimiiko näiden ohjeiden mukaan.

sudo salt ‘*’ state.apply sysstat

successsysstat

Testasin ja se toimi.

 

Lähteet:

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://ksyrjanen.me/2018/04/08/palvelinten-hallinta-harjoitus-2/

 

 

Harjoitus 2

Palvelinten hallinta H2

B)

Laita käyttäjien kotisivut toimimaan Apachella.

Aloitin vanhalla tutulla “sudo apt-get update”.

Koneellani oli valmiiksi apache asennettuna, joten poistin sen komennolla “sudo apt-get purge apache2”.

Aloitin apachen asennuksen alusta.

sudo apt-get install apache2

sudo a2enmod userdir

sudo service apache2 restart

Menin kotihakemistooni ja tein public_html kansion ja index.html tiedoston.

mkdir public_html

 echo “testi sivu” |tee public_html/index.html

Kokeilin miltä firefoxissa  localhost/~riku näyttää, ja sehän toimi.

localtestEikun tekemään orjille apache tilaa.

Ensin tein kansion apache salt tiedostoille. Sitten kopioin userdir.conf ja userdir.load tiedostot sinne.

/srv/salt/apache

sudo cp userdir.conf /srv/salt/apache/

sudo cp userdir.load /srv/salt/apache/

Kopioin userdir.conf ja userdir.load tiedostot, koska /etc/apache2/ kansiosta tutkimalla komennolla “sudo find -printf ‘%T+ M %p\n%A+ A %p\n%C+ C %p\n’|sort” pystyy tarkastelemaan viimeksi muokattuja tiedostoja aikajärjestyksessä. Niin saa haluamansa configuroinnit.

Sitten tein .sls tiedoston ja default-index.html:n.

sudoedit init.sls

sudoedit default-index.html

initslstestisivuAloitin testauksen eli poistin apachen taas.

 

 

sudo apt-get purge apache2

Localhost ei vastannut tämän jälkeen.

Sitten annoin komennon “sudo salt ‘*’ state.apply apache”state1state2

Toimi niinkuin piti.
C)

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

Tein /srv/salt/php kansion. Sitten tein tiedoston /srv/salt/php/init.sls, joka oli kopioitu apache tiedostosta.

Php:n asennus.

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

sudo apt-get -y install php

Muutin index.html:n php:ksi.

mv index.html index.php

Muutin sitä niin, että siellä oli php:tä.

<!DOCTYPE html>
<html>

<head>
<meta charset=”UTF-8″>
</head>

<body>

<h1>Hei maailma</h1>

<p>Tämä on testisivu</p>
<?php
echo “Hello World!”;
?>

</body>
</html>

Jotta php toimisi pitää mennä muuttamaan php7.0.conf tiedostoa.

sudoedit /etc/apache2/mods-available/php7.0.conf

Neljä viimeistä riviä kommentteihin, niin on helppo muuttaa takaisin.

phpconf

Kopioin php7.0.conf filen /srv/salt/php/ kansioon.

sudo cp php7.0.conf /srv/salt/php/

Muokkasin init.sls tiedoston näin.

 

 

 

phpinit
Testauksen aika.

Poistin libapache2-mod-php:n ja otin php7.0.conf tiedostosta kommentti merkit pois neljältä vikalta riviltä.

Sitten varmistin ettei php sivu toiminut, eikä se toiminut.

Komennolla “sudo salt ‘*’ state.apply php” sain asennettua php:n takaisin toimimaan kotisivuille. Piti kuitenkin ensin tehdä komento “sudo service apache2 restart”.tulosphpmuutos

 

 

D)

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

Aloitin menemällä /etc/ kansioon ja muutin hosts tiedostoa. Lisäsin testi.com osoitteen.

hostsfile.png
Tein testi.com nimipohjaisen virtuaalipalvelimen, /srv/salt/apache/testi.com.conf.

<VirtualHost *:80>

DocumentRoot /home/riku/public_html/

<Directory /home/riku/public_html/>

Require all granted

</Directory>

</VirtualHost>

 

Tein virtualhost.sls tiedoston.

/etc/apache2/sites-enabled/testi.com.conf:

  file.managed:

    – source: salt://apache/testi.com.conf

apache2service:

  service.running:

    – name: apache2

    – watch:

    – file: /etc/apache2/sites-enabled/testi.com.conf

 

Firefoxissa testi.com toi oman sivuni

hosttestcom
 

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.

Menin /etc/skel/ kansioon ja tein sinne public_html ja index.html tiedostot.

cd /etc/skel/

sudo mkdir public_html

cd public_html/

sudoedit index.html

Tein uuden käyttäjän ja kokeilin toimiiko kotisivu uudella käyttäjällä.

sudo adduser olentesti

Toimi.skelindex
Tein homesite.sls tiedoston.

sudoedit /srv/salt/homesite.sls

Eli

/etc/skel/public_html/index.html:

  file.managed:

    – source: salt://public_html/index.html

Tein seuraavat kansiot/tiedostot näin.

/srv/salt/public_html/index.html

cd /etc/skel/public_html/

sudo cp index.html /srv/salt/public_html

 

Poistin index.html tiedoston /etc/skel/ kansiosta.

Testasin toimiiko tila.

sudo salt ‘*’ state-apply homesite

skeltest.png

Testikäyttäjän olentesti sivu näkyi taas selaimessa.

 

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.

Päätin kokeilla latest toimintoa, jolla saa asennettua uusimmat versiot.

Muokkasin apache init.sls tiedostoa.

latest

Poistin apache2:sen testatakseni tilan toimivuuden kuin kohdassa B).

Localhost ei ottanut enää yhteyttä.

Käytin komentoa “sudo salt ‘*’ state.apply apache”.

latesttoimilatesttulos

Testi vaikutti onnistuneelta ja localhost toimi taas.

Lähteet:

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

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

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

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

https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu

https://docs.saltstack.com/en/latest/ref/states/all/salt.states.file.html

Harjoitus 1

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

Asennan herran ja orjan samalle koneelle.

Ensin päivitys komento “sudo apt-get update”

Sitten asensin herran ja orajn komennolla “sudo apt-get -y install salt-master salt-minion”

Herra toimii koneen ip-osoitteella, jonka saa näkymään komennolla “hostname -I”

Orjalle piti antaa herrakoneen ip-osoite, jotta saataisiin yhteys. Annoin myös orjalle tunnuksen.

Komennolla “sudoedit /etc/salt/minion” muokkasin orjalle herran ip:n ja oman tunnuksen.

Käynnistin orjakoneen uudestaan komennolla “sudo systemctl restart salt-minion.service”.

Herran on hyväksyttävä orjakoneen yhteys komennolla “sudo salt-key -A”, jonka jälkeen hyväksyin kirjoittamalla “y”.

saltkey

Kokeilin komentoa “sudo salt ‘*’ cmd.run whoami’”, joka toimi.testisaltkom

 

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.

Päätin ottaa mallia firewall.sls tiedostosta.

Aluksi tein kansion “salt” komennolla “sudo mkdir /srv/salt”

Tein sinne top.sls tiedoston komennolla “sudoedit top.sls”topsls

Tein firewall.sls tiedoston, johon otin mallia Laineen tiedostosta.ufwsls

Käynnistin herran ja orjan uudestaan komennolla “sudo systemctl restart salt-master.service” ja “sudo systemctl restart salt-minion.service”.

Sitten käytin komentoa “ sudo salt ‘*’ state.highstate”.testsls1

testisls2

Testi oli epäonnistunut ja onnistunut. Epäonnistumiset johtuivat siitä, etten laittanut user.rules tai user6.rules tiedostoja. Muuten testi oli onnistunut.

 

E)

Kerää laitetietoja koneilta saltin grains-mekanismilla.

Käyttämällä komentoa “sudo salt ‘*’ grains.items” sain paljon tietoja orjakoneesta tai kaikista orjista, jos niitä olisi enemmän.

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

Yritin asentaa salt-minion:in toimimaan Windows 10:lle. Tämä ei kuitenkaan onnistunut.

https://docs.saltstack.com/en/latest/topics/installation/windows.html

Täältä latasin Python3 AMD64 setup exe:n. Klikkailin next → I agree → master ip osoite ja minion id → next, latauksien jälkeen suljin ikkkunan. Oletin tällä homman olevan selvä, mutta ei toiminut. Tarkistin myös, että salt-minion oli käynnissä.

Herrakoneella olin avannut reiät portteihin 4505/tcp ja 4506/tcp. Olin myös käynnistellyt uudestaan.

Jatkan asian selvittämistä myöhemmin, koska kiinnostaisi saada se toimimaan.

 

Lähteet:

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

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

http://terokarvinen.com/2018/salt-states-i-want-my-computers-like-this

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

https://docs.saltstack.com/en/latest/topics/installation/windows.html

 

H7

A)
Ratkaise valitsemasi vanha arvioitava laboratorioharjoitus tältä kurssilta.
Aloitin Xubuntun 16.04.2 LTS 64-bit käynnistämisen livetikulta.
Firefox ja Libreoffice olivat oletuksena asennettuna, niin ei tarvinnut asentaa niitä.
Avattuani terminaalin tein ensin komennon “setxbkmap fi”, jotta näppäimistö on suomi-asetuksella.
Sitten “sudo apt-get update” ja “sudo apt-get upgrade”.
Tein service.txt:n komenolla “nano service.txt” ja suojasin komennolla “chmod og+rwx service.txt”.
Suojaus toimi, eli en päässyt toisella käyttäjällä katsomaan sitä.
servicesecure
Service.txt:hen kirjoitin käyttäjät ja salasanat muistiin.
Käyttäjät
Lisäsin kaikki 7 käyttäjää komennolla “sudo adduser (käyttäjänimi)”, jossa käyttäjä nimessä oli 5 kirj. sukunimestä ja 3 kirj. etunimestä ilman äöå-kirjaimia.
Käyttäjän salasana piti antaa kahdesti ja sitten kirjoitin koko nimen. Loput kohdat jätin tyhjäksi.
Salasanat
Asensin pwgen:in komennolla “sudo apt-get -y install pwgen”
Generoin salasanat kaikille 7:lle käyttäjälle komennolla “pwgen -s 15 7”
Etähallinta
Tein reiän SSH:lle “sudo ufw allow 22/tcp”
ja Apachelle “sudo ufw allow 80/tcp”.
Tulimuuri päälle “sudo ufw enable”
Apache
sudo apt-get -y install apache2
sudo apt-get -y install ssh
sudo a2enmod userdir
sudo service apache2 restart
Tein tiedoston komennolla “mkdir public_html”
Seuraavaksi tein komennon “sudoedit /etc/apache2/sites-available/testi.conf”
johon kirjoitin
<VirtualHost *:80> DocumentRoot /home/xubuntu/public_html/
<Directory /home/xubuntu/public_html/>
Require all granted </Directory></VirtualHost>
Omasivu päälle ja default sivu pois. Sitten uudelleen käynnistettiin apache.
sudo a2ensite testi.conf
sudo a2dissite 000-default.conf
sudo service apache2 restart
Tiedostoon public_html/ tein komennolla “nano index.html” html-sivun.
testisivu
SSH julkinenavain
Generoin avaimen komennolla “ssh-keygen”
Kopioin sen komennolla “ssh-copy-id mahkyjor@localhost”
Python
Python on itselle uusi ja en ihan ymmärtänyt kuinka saan itse tekemän komennon kaikkien käyttöön
Aloitin pythonin asennuksella “sudo apt-get install -y python3.5”
Tein hello.py tiedoston “nano hello.py”
Kirjoitin sinne
#!/usr/bin/python3
print (“hello world”)
Muutin tiedoston suojausta komennoilla
“chmod a+rwx hello.py” ja “chmod +x hello.py”
En kuitenkaan saanut toimimaan, vaikka kokeilin monia tapoja, kuten #! jälkeen olevaa polkua.
Lähteet:

H6

A)

Kirjoita ja suorita “Hei maailma” kolmella kielellä. Asenna tarvittavat ympäristöt.

 

Ensimmäisenä avasin terminaalin ja tein päivitys komennot

“sudo apt-get update” ja “sudo apt-get -y upgrade”
Python

Asennus “sudo apt-get -y install python3.5”

Komennolla “python3” pääsee ajamaan pythonia.

Tein tiedoston komennolla “nano heimaa.py”

Kirjoitin rivin “print(“Hei maailma”)” ja tallensin sen.

Ajoin sen komennolla “python3 heimaa.py”

Screenshot_2018-03-02_21-49-41

Ruby

Asennus komennolla “sudo apt-get -y install ruby”

Kuvassa näkyvällä rivillä sain viestin näkymään.

ruby
C++

Asennus “sudo apt install g++”

Tein tiedoston komennolla “nano heimaa.cpp”

Screenshot_2018-03-02_22-55-59

Sain seuraavilla riveillä viestin näkymään.

c++

Lähteet:

https://www.programiz.com/cpp-programming/examples/print-sentence

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

https://en.wikibooks.org/wiki/Ruby_Programming/Hello_world

 

H5

A)

Asenna SSH-demoni

Avasin terminaalin, ja tein päivityksetkomennoilla “sudo apt-get update” ja “sudo apt-get upgrade”.

Asensin SSH:n komennolla “sudo apt-get -y install ssh”.

 

B)

Suojaa kone tulimuurilla, mutta tee ensin reikä SSH:lle

Ensiksi tehdään reikä SSH:lle komennolla “sudo ufw allow 22/tcp”

Minkä jälkeen “sudo ufw enable”

 

C)

Siirrä tiedostoja ssh:lla

Tein testi tiedoston komennolla “nano scptesti.txt”.

Sitten “scp /home/riku/scptesti.txt riku@localhost:/home/riku/Documents”

Siirto onnistui.

 

D)

Automatisoi kirjatuminen julkisen avaimen menetelmällä

Loin avaimen komennolla “ssh-keygen”

Kopioin sen localhost:iini komennolla “ssh-copy-id riku@localhost”.

Annoin salasanan.

Kokeilin ottaa yhteyden “ssh riku@localhost” ja ei tarvinnut enää antaa salasanaa.

 

J)

Asenna ja konfiguroi ja käynnistä sysstat-paketti. Tarkista sar-komennolla, että se on päällä, esim. näyttää lokimerkinnän “Linux reboot…”. Anna sysstatin pyöriä päivä tai pari. Tutki kuormitushistoriaa sysstatin komennoilla sar, iostat, pidstat… Analysoi tulokset, eli selitä perusteellisesti mitä tulokset tarkoittavat.

Asensin sysstatin komennolla “sudo apt-get -y install sysstat”
Konfiguroin sen asetuksista “ENABLED” -kohdan false → true

“sudoedit /etc/default/sysstat”
Käynnistin sysstatin komennolla “sudo systemctl start sysstat”

Annoin sysstatin pyöriä noin päivän ja kokeilin muutamia komentoja.

 

Screenshot_2018-02-25_23-09-10

Screenshot_2018-02-25_23-09-37

Screenshot_2018-02-25_23-12-14

Kaikissa ensimmäisellä rivillä on ainakin käyttöjärjestelmän tiedot ja päivämäärä. 4 CPU tarkoittaa millainen prosessori on. Ymmärsin, että yhden rivin summa täytyy olla 100%. Eniten on %idle:ssä “sar” ja “iostat” komennoissa.

SAR

Linux restart luki väleissä milloin kone on käynnistetty. Kellonaika ennen ja jälkeen prosessori.

IOSTAT

Device: sda, jonka perässä näytetään luku- ja kirjoitus nopeuksia ja määriä.

PIDSTAT

En ymmärtänyt kunnolla mitä tiedot tarkoitti, paitsi että se seurasi yksittäisiä tehtäviä.

 

Lähteet:

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

https://www.ssh.com/ssh/keygen/

https://www.thegeekstuff.com/2011/03/sar-examples/