Viikko 4 harjoitus 4 – Oma virtuaalipalvelin

Tämän viikon harjoituksessa vuokrataan oma virtuaalipalvelin ja oma domain-nimi. Harjoituksessa käyttämäni kone on MSI:n valmistama GX 640-mallin kannettava tietokone. Koneeseen on asennettu käyttöjärjestelmäksi Linux Xubuntu 16.04.3 LTS. Voit saada oman Xubuntu 16.04.3 LTS versiosi seuraavasta linkistä.

Aloitin harjoituksien tekemisen tiistaina 13.2.2018 klo 10.15. Annan tämän julkaisun aikana kellonaikoja tehtävien välissä, jotta saatte kuvan kuinka kauan tämän harjoituksen suorittamiseen menee aikaa.

Tämän harjoituksen toimeksianto löytyy kurssini opettajan Tero Karvisen nettisivuilta. Valitsin toimeksiannosta kohdat a, s, y, b ja c.

Laita hankkimallesi virtuaalipalvelimelle mahdollisuus tehdä kotisivuja normaalin käyttäjän oikeuksin. (H4 kohta a)

klo 10.20

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Kun olemme päivittäneet uusimpiin paketteihin, voimme ottaa ssh-yhteyden juuri Digital Oceanilta vuokraamaamme virtuaalipalvelimeen. Tämä onnistuu seuraavalla komennolla.

ssh root@(virtuaalipalvelimen ip-osoite)

Kun otat ssh-yhteyden ensimmäisen kerran palvelin kysyy salasanaa. Anna tähän kohtaan se salasana joka sinulle on lähetetty sähköpostiin. Annettuasi salasanan joudut välittömästi vaihtamaan salasanan uuteen. Muista antaa hyvä salasana. Uuden salasanan annettuasi voit avata palomuuriin portin ssh:lle ennen kuin käynnistät palomuurin. Se onnistuu seuraavilla komennoilla.

sudo ufw allow 22/tcp
sudo ufw enable

Tämän jälkeen voit lisätä palvelimellesi uuden käyttäjän, jotta saat rootin pois käytöstä. Käytetään seuraavia komentoja käyttäjän luomiseksi ja pääkäyttäjien oikeuksien luomiseksi.

sudo adduser käyttäjä
sudo adduser käyttäjä sudo
sudo adduser käyttäjä adm
sudo adduser käyttäjä admin

Ensimmäisen komennon jälkeen terminal pyytää syöttämään salasanan. Muista keksiä tähänkin hyvä salasana, mutta se ei saa kuitenkaan olla sama kuin rootin salasana. Tämän jälkeen voit kokeilla toimiiko luomasi käyttäjä avaamalla uuden välilehden terminaaliin ja ottamalla ssh-yhteyden palvelimeesi komennolla.

ssh käyttäjä@palvelimen ip-osoite

Tässä vaiheessa terminaali kysyy salasanaa jolloin syötät siihen juuri luomasi käyttäjän salasanan. Nyt olet ottanut ssh-yhteyden palvelimeesi käyttäjänä. Voit sulkea aiemman terminaalin välilehden komennolla exit joka sulkee rootin ssh-yhteyden. Seuraavaksi lukitsemme rootin ja estämme sen käytön ssh-yhteyden luomiseen. Rootin lukitsemiseen käytämme seuraavaa komentoa.

sudo usermod –lock root

Tämä kuitenkin lukitsee vain rootin salasanan, mutta ei rootin muita käyttömahdollisuuksia. Seuraavaksi estämme rootin käytön ssh-yhteyden avaamisessa komennolla.

sudoedit /etc/ssh/sshd_config

Komento avaa konfigurointi tiedoston, josta voit etsiä seuraavan rivin.

PermitRootLogin yes

Vaihda tuo yes kohta no, jonka jälkeen voit painaa CTRL+X ja y-näppäintä. Enter-näppäin tallentaa muutokset.

Tämän jälkeen asensin Apache2 weppipalvelimen aiemmassa harjoituksessa tekemieni ohjeiden mukaan.

Vaihdettuani Apache2 oletussivun sisällön testimuotoon jouduin käyttämään seuraavaa komentoa, jotta sain sivun avattua virtuaalipalvelimeni ip-osoitteella.

sudo ufw allow 80/tcp

Jos muokkaamasi index.html tiedoston teksti ilmestyy selaimeesi, sivu toimii ja käyttäjät voivat luoda sivuja omilla oikeuksillaan.

Laita hankkimallesi virtuaalipalvelimelle käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna. (H4 kohta s)

klo 10.25

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

ssh käyttäjä@palvelimen ip-osoite

Syötettyäsi käyttäjän salasanan voit tarkistaa nopeasti päivitykset seuraavalla komennolla.

sudo apt-get update

Tämän jälkeen voit siirtyä seuraavaan hakemistoon.

cd /etc/apache2/sites-available

Kansiosta löytyy kaksi oletustiedostoa: 000-default.conf ja default-ssl.conf. Emme kuitenkaan koske näihin tiedostoihin vaan luomme uuden tiedoston seuraavalla komennolla.

sudo nano testi.touronen.com.conf

Voit nimetä tiedoston millaiseksi vain, mutta sen pääte tarvitsee olla .conf.

conf

Jos olen ymmärtänyt oikein tämä tiedosto kertoo, mistä oletussivu haetaan ja missä tapauksissa oletussivu näytetään. ServerName ja ServerAlias saattavat olla myös
ip-osoitteita, jos käytössä ei ole domainia. DocumentRoot kertoo polun mistä näytettävä oletussivu haetaan. Tässä tapauksessa se löytyy käyttäjän kotikansiosta publicSite-kansiosta, jossa pitäisi olla index.html tiedosto. Tämä tiedosto voidaan tehdä kuitenkin myöhemmin. Directory /home/ville/publicSite/ require all granted rivi liittyy uskoakseni oikeuksiin. Kun tiedosto on valmis voimme tallentaa sen ja poistua nanosta painamalla CTRL+X ja sen jälkeen y-näppäintä ja Enteriä.

Tämän jälkeen siirrymme seuraavaan hakemistoon.

cd /etc/apache2/sites-enabled

Kyseinen kansio sisältää tiedostot joita palvelin käyttää. Huomaa, että kansio ei todellisuudessa sisällä tiedostoja vaan linkkejä eli viitteitä muualla sijaitseviin
tiedostoihin. Nämä saat komennolla ls -l näkyviin.

linkitykset

Tiedosto siis haetaan kansiosta sites-available, mihin se aiemmin tehtiin. Jotta tiedosto saadaan käyttöön, on annettava komentoriville seuraava komento.

sudo a2dissite 000-default.conf.

Komennolla poistetaan tiedoston linkki sites-enabled kansiosta. Tämän jälkeen kytketään aiemmin luotu sivu käyttöön seuraavalla komennolla.

sudo a2ensite testi.touronen.com.conf.

Lopuksi palvelin täytyy käynnistää vielä uusiksi seuraavalla komennolla.

sudo systemctl restart apache2.service.

Kun palvelin on käynnistetty uudestaan, siirrymme takaisin käyttäjän kotihakemistoon. Luodaan uusi kansio komennolla.

mkdir publicSite

Kansioon luodaan tiedosto index.html. Tiedostoon on hyvä kirjoittaa jokin testiviesti, jotta tiedät että sivu toimii oikein.

html1

Kun tiedosto on valmis voimme tallentaa sen ja poistua nanosta painamalla CTRL+X ja sen jälkeen y-näppäintä ja Enteriä. Avaamme selaimen ja kokeilemme omaa selaintamme.

selain1

Testisivu onnistui ja toimii kuten pitääkin.

Etsi palvelimesi lokeista esimerkkejä murtautumisyrityksistä. Voit etsiä lisätietoa IP-osoitteista ottamatta niihin yhteyttä esimerkiksi komennoilla ipcalc, geoiplookup ja whois. (H4 kohta y)

klo 10.30

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

ssh käyttäjä@palvelimen ip-osoite

Syötettyäsi käyttäjän salasanan voit tarkistaa nopeasti päivitykset seuraavalla komennolla.

sudo apt-get update

Tämän jälkeen voit käyttää seuraavia komentoja seurataksesi murtautumisyrityksiä.

tail -f /var/log/ufw.log
tail -f /var/log/auth.log

Käytän tässä tapauksessa ensimmäistä komentoa ja terminaaliin ilmestyi seuraavaa.

ufwlog.png

SRC= kohdassa oleva ip-osoite on murtaumisyrityksen takana ja saat julkisia tietoja ip-osoitteesta asentamalla whois ohjelman seuraavalla komennolla.

sudo apt-get install -y whois

Asennettuasi whois ohjelman voit hakea ip-osoitteen avulla tietoja murtautujasta.

murto1.png

murto2.png

murto3.png

Aiemmin mainitsemallani auth.log komennolla saat muita tietoja murtautujista, kuten esimerkiksi millä käyttäjillä he yrittävät murtautua sisälle.

authlog.png

Tee weppisivuja paikallisella koneellasi ja kopioi ne palvelimelle scp-komennolla. (H4 kohta b)

klo 10.40

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Tämän jälkeen voit luoda html-sivun paikallisella koneella ja siirtää sen virtuaalipalvelimeen scp-komennolla. Käytän testisivuna aikaisemmassa harjoituksessa käyttämääni painoindeksi-laskuria. Tallensin html-sivun paikallisen koneen käyttäjän kotikansion alle public_html kansioon nimellä bmi.html. Tämän jälkeen voidaankin yrittää tiedoston kopiointia seuraavalla komennolla.

scp bmi.html ville@touronen.com:/home/ville/public_html

Muista että kopioidaksesi tiedoston sinun tarvitsee olla kopioitavan tiedoston kansiossa. Painetaan enteriä ja katsotaan miten käy. Terminaali kysyy samantien virtuaali- palvelimen salasanaa joten syötämme sen ja painamme enteriä. Tämän jälkeen siirto alkoikin ja se tapahtui todella nopeasti.

scp

Nyt kun kopiointi on valmis, tarkistan onko tiedosto kopioitunut oikein. Virtuaali- palvelimen kansiosta public_html löytyy identtinen tiedosto. Kopioimme sen publicSite tiedostoon komennolla.

cp bmi.html /home/ville/publicSite

Tämän jälkeen muutan tiedoston nimen vastaamaan jo siellä olevaa index.html tiedostoa komennolla.

mv bmi.html index.html

Sen jälkeen voimmekin kokeilla selaimella onnistuiko siirto ja uudelleen nimeäminen.

selain2

Painoindeksilaskuri toimii, joten scp:n käyttö onnistui.

Laita palvelimellesi jokin yksinkertainen PHP-sivu. Voit esimerkiksi tulostaa käyttäjän IP-osoitteen$_SERVER[’REMOTE_ADDR’]
tms. (H4 kohta c)

klo 10.47

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

ssh käyttäjä@palvelimen ip-osoite

Syötettyäsi käyttäjän salasanan voit tarkistaa nopeasti päivitykset seuraavalla komennolla.

sudo apt-get update

Jotta voimme käyttää php-koodia virtuaalipalvelimessamme meidän täytyy asentaa sen Apache2-palvelimeen PHP-kirjasto. Tähän löytyy ohje aiemmin tekemästäni harjoituksesta.

Kun php-asennukset ja asetukset on tehty voimme muuttaa edellisessä harjoituksessa siirtämämme tiedoston html-päätteen php-päätteeksi komennolla.

mv index.html index.php

Lisäämme myös samaan tiedostoon seuraavan tekstipätkän.

<h2>Here is your IP-address:</h2>

<?php echo $_SERVER[‘SERVER_ADDR’] ?>

html2

Tallennettuamme sen voimme kokeilla selainta.

selain3

Sivu toimii. BMI-laskurin alla sivu tulostaa ip-osoitteen.

Lopetin harjoituksen tekemisen 13.2.2018 klo 11.00 eli harjoituksen tekemiseen meni noin 45 minuuttia.

Lähteet:

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

Mainokset

Viikko 3 harjoitus 3 – Apache-weppipalvelin ja LAMP kehitysalusta

Tämän viikon harjoituksessa tutustutaan Apache-weppipalvelimeen ja LAMP kehitysalustaan. Harjoituksessa käyttämäni kone on MSI:n valmistama GX 640-mallin kannettava tietokone. Koneeseen on asennettu käyttöjärjestelmäksi Linux Xubuntu 16.04.3 LTS. Käytän kuitenkin koneessa aiemmassa harjoituksessa luomaani 16.04.3 amd64-livetikkua. Voit saada oman Xubuntu 16.04.3 LTS versiosi seuraavasta linkistä.

Aloitin harjoituksien tekemisen maanantaina 5.2.2018 klo 02.00. Annan tämän julkaisun aikana kellonaikoja tehtävien välissä, jotta saatte kuvan kuinka kauan tämän harjoituksen suorittamiseen menee aikaa.

Tämän harjoituksen toimeksianto löytyy kurssini opettajan Tero Karvisen nettisivuilta.

Tehtävät ovat seuraavanlaiset:

Tee viisi vapaavalintaista kohtaa. Säädä vaikeustaso oikeaksi: jos olet ihan alussa ja tämä on haastavaa, tee helpoimmat a b c d i. Jos osaat jo perusteet, tee useampia tai vaikeampia kohtia. Tarkoitus on, että tehtävät tehtyäsi osaat enemmän kuin osasit ennen.

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.Tee jokin seuraavista
(yksi riittää, useampi vapaaehtoisena lisätehtävänä):

c) Tee virhe weppipalvelimella ajettavaan koodiin (esim PHP tai Python), etsi se lokista ja analysoi tuo lokirivi

d) Tee virhe johonkin Apachen asetustiedostoon, etsi ja analysoi tuo rivi. Etsimiseen sopivat esimerkiksi Apachen omat lokit, syslog sekä ‘apache2ctl configtest’.

e) Asenna ja kokeile PhpMyAdmin:a tai jotain muuta valmista weppiliittymää tietokantojen hallinnointiin.

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (esim. painoindeksi BMI)

g) Tee palvelimella ajettava weppiohjelma, joka käyttää tietokantaa. Voit tehdä jonkin yksinkertaisen CRUD-ohjelman, esimerkiksi TODO-listan

h) Tee Apachelle uusi sivu, joka näkyy suoraan palvelimen pääsivulla, mutta jonka sivuja voi muokata normaalin käyttäjän oikeuksilla (name based virtual host, DocumentRoot käyttäjän kotihakemistoon).

i) Kuinka monta eri HTTP Status:ta (200, 404, 500…) saat aiheutettua lokeihin? Selitä, miten aiheutit tilanteet ja analysoi yksi rivi kustakin statuksesta.

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

k) Kokeile jotain Flaskin uutta ominaisuutta flask-testipalvelimessa. Voit kokeilla esim. muotteja (templates), tietokantaa tai syötteiden ottamista lomakkeilta (forms).

l) Asenna Python Flask + PostgreSQL + Apache mod WSGI. Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (vaikea)

Valitsin tehtäviksi kohdat a, b, c, f ja i.

Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla. (H3 kohta a)

klo 02.10

Aloitetaan harjoitus avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Tämän jälkeen pääsemme asentamaan Apachen. Syötämme terminaalin komentoriville seuraavan komennon.

sudo apt-get install -y apache2

Asennuksen jälkeen avaamme nettiselaimen komennolla

firefox “http://localhost/”

Jos selaimessa avautuu seuraava sivu olemme onnistuneet asentamaan Apache2-palvelimen

oletussivu

Jotta palvelimen aloitussivu ei näytä oletussivulta voimme muokata sen näyttämään vaikka tässä tilanteessa Hello World! tekstiä. Tämä onnistuu seuraavalla komennolla:

sudoedit /var/www/html/index.html

Kun olemme saaneet auki oletussivun html tiedoston poistamme kaiken alkuperäisen tekstin painamalla CTRL+K niin kauan että kaikki teksti on poissa ja korvaamme sen
seuraavalla perus html-pohjalla.

<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8″>
<title>Hello World!</title>
</head>
<body>

<h1>Hello World!</h1>
<p></p>

</body>
</html>

Tallennamme tämän tiedoston painamalla CTRL+X, jonka jälkeen painamme y-näppäintä ja enteriä.

Tämän jälkeen siirrymme testaamaan, että toimiiko testisivu. Käytämme tämän testaamiseen komentoa.

firefox “http://localhost/”

Jonka jälkeen pitäisi avautua seuraavanlainen sivu selaimessa.

oletussivu2

Seuraavaksi meidän tarvitsee sallia kotihakemiston luominen koneella. Jotta tämä onnistuu syötämme terminaalin komentoriville seuraavan komennon.

sudo a2enmod userdir

Tämän jälkeen käynnistämme Apache2 palvelimen uudestaan seuraavalla komennolla.

sudo systemctl restart apache2.service

Kun olemme saaneet Apache2 palvelimen uudelleenkäynnistettyä, luomme kansion ”public_html” kotihakemiston alle seuraavalla komennolla.

mkdir public_html

Tämän jälkeen tarkistamme kansion olemassa olon komennolla ls. Kansion löydyttyä siirrymme luomaan sisältöä tuonne kansioon. Ensin siirrymme juuri luodun
kansion sisälle komennolla.

cd public_html

Tämän jälkeen syötämme terminaalin komentoriville seuraavan komennon.

nano index.html

Tähän tiedostoon syötämme seuraavanlaisen perus html-pohjan.

<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8″>
<title>Testi</title>
</head>
<body>

<h1>Hei! Tervetuloa testisivustolle.</h1>
<p>Tämä on testi.</p>

</body>
</html>

kuva tekstitiedostosta

Tallentaaksemme tämän tiedoston painamme CTRL+X, jonka jälkeen painamme y-näppäintä ja enteriä.

Tämän jälkeen siirrymme testaamaan, että toimiiko kotihakemisto. Käytämme tämän testaamiseen komentoa.

firefox “http://localhost/~xubuntu/”

Jos nettiselaimessa avautuu seuraavanlainen näkymä, kotihakemiston luonti on onnistunut.

kotihakemisto

Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit. (H3 kohta b)

klo 02.25

Seuraava harjoitus aloitetaan avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin.

Terminal Emulatorin aukaistuamme syötämme sinne seuraavan komennon.

tail -f /var/log/apache2/access.log

Tällä komennolla pääsemme seuraamaan Apache2-palvelimen käyttöä access.log lokitiedoston kautta. Kun loki on avattu siirrymme nettiselaimella palvelimen kotisivulle. Syötämme osoiteriville osoitteen ”localhost” ja painamme enteriä. Lokiin tuli seuraava onnistunut tapahtuma kun olin avannut palvelimen kotisivun:

onnistunut.png

127.0.0.1 – – [05/Feb/2018:00:29:40 +0000] “GET /~xubuntu HTTP/1.1” 200 492 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

  • Ensin riville tulostuu Loopback ip-osoite
  • Seuraavaksi on kaksi viivaa, jotka merkitsevät sitä, että pyydettyä tietoa ei ole saatavilla. Viivojen kohdilla olisivat asiakasohjelman RFC 1413-identiteetti,
    sekä tapahtumaa pyytäneen käyttäjän userid. RFC1413-identiteettiä Apache ei yritä määrätä ellei IdentityCheck ole asetettu päälle. Pyydetty tiedosto ei ole salasanasuojattu, joten userid-kohtakin on tyhjä.
  • Tämän jälkeen on lokitapahtuman aika (5. helmikuuta 2018, kello 00:29:40, GMT+2:00 -aikavyöhyke)
  • Seuraavaksi ”GET / HTTP/1.1” 200 493 ”-” GET on asiakasohjelman (selaimen) metodi tiedon pyytämiselle. Pyydetty data on kotisivu, joten se on merkkitty vain ”/”.
    Pyynnössä käytettiin HTTP/1.1 -protokollaa. Luku 200 (OK 200) tarkoittaa onnistunutta tapahtumaa, ja luku 492 asiakasohjelmalle palautetun tiedon koko.

Latasin saman kotisivun uudelleen ja se antoi lokiin seuraavan epäonnistuneen tapahtuman:

epäonnistunut.png

127.0.0.1 – – [05/Feb/2018:00:30:49 +0000] “GET /~xubuntu/testi HTTP/1.1” 404 504 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

  • Ensin riville tulostuu Loopback ip-osoite
  • Seuraavaksi on kaksi viivaa, jotka merkitsevät sitä, että pyydettyä tietoa ei ole saatavilla. Viivojen kohdilla olisivat asiakasohjelman RFC 1413-identiteetti,
    sekä tapahtumaa pyytäneen käyttäjän userid. RFC1413-identiteettiä Apache ei yritä määrätä ellei IdentityCheck ole asetettu päälle. Pyydetty tiedosto ei ole salasanasuojattu, joten userid-kohtakin on tyhjä.
  • Tämän jälkeen on lokitapahtuman aika (5. helmikuuta 2018, kello 00:30:49, GMT+2:00 -aikavyöhyke)
  • Seuraavaksi ”GET / HTTP/1.1” 404 504 ”-” GET on asiakasohjelman (selaimen) metodi tiedon pyytämiselle. Pyydetty data on kotisivu, joten se on merkkitty vain ”/”.
    Pyynnössä käytettiin HTTP/1.1 -protokollaa. Luku 404 (Not found 404) tarkoittaa epäonnistunutta tapahtumaa, ja luku 504 asiakasohjelmalle palautetun tiedon koko.

Tee virhe weppipalvelimella ajettavaan koodiin (esim PHP tai Python), etsi se lokista ja analysoi tuo lokirivi (H3 kohta c)

klo 02.55

Seuraava harjoitus aloitetaan avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Jotta voimme käyttää aiemmin luomassamme palvelimen kotihakemiston html-pohjassa PHP-koodia joudumme asentamaan Apache2-palvelimeen PHP-kirjaston. Se onnistuu seuraavalla komennolla.

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

Kirjaston asennettua käynnistämme Apache2-palvelimen uudelleen komennolla:

sudo systemctl restart apache2.service

Tämän jälkeen muokkaamme juuri lisäämämme kirjaston php-asetustiedostoa lisäämällä #-kommenttimerkit asetustiedostossa määriteltyihin kohtiin, jotta saamme php:n käytön päälle public_html kansiossa. Jotta pääsemme muokkaamaan asetustiedostoa käytämme seuraavaa komentoa:

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

asetustiedosto

Asetustiedoston muutoksien jälkeen käynnistämme Apache2-palvelimen uudelleen komennolla:

sudo systemctl restart apache2.service

Tämän jälkeen siirrymme muokkaamaan aiemmin luomaamme index.html tiedostoa ja lisäämme sinne php-koodia. Aluksi siirrymme public_html kansioon seuraavalla komennolla:

cd public_html

Tämän jälkeen muutamme index.html tiedoston päätteen .php päätteeksi seuraavalla komennolla.

mv index.html index.php

Seuraavaksi avaamme index.php tiedoston seuravaalla komennolla.

nano index.php

Lisäämme aiemmin luomaamme tiedostoon seuraavanlaisen php-koodin.

<!DOCTYPE html>
<html>
<head>
<meta charset=”UTF-8″>
<title>Testi</title>
</head>
<body>

<h1>Hei! Tervetuloa testisivustolle.</h1>
<p>Tämä on testi.</p>
<p>Matematiikkaa:</p>
<?php print(100*100); ?>

</body>
</html>

Tallentaaksemme tämän tiedoston painamme CTRL+X, jonka jälkeen painamme y-näppäintä ja enteriä.

Tämän jälkeen siirrymme testaamaan, että toimiiko kotihakemisto. Käytämme tämän testaamiseen komentoa.

firefox “http://localhost/~xubuntu/”

Jos nettiselaimessa avautuu seuraavanlainen näkymä, kotihakemiston luonti on onnistunut.

oletussivu3

Virheen lisääminen php-koodiin

Vaihdoin php-koodinpätkässä i- ja r-kirjaimen paikkoja print-komennossa. Koodi näytti lisäyksen jälkeen seuraavalta:

<?php pirnt(100*100); ?>

Tallennettuani muutokset painamalla CTRL+X, jonka jälkeen painamme y-näppäintä ja enteriä. Avasin kotihakemiston sivun komennolla.

firefox “http://localhost/~xubuntu/”

Avasin samalla Apachen virhelokitiedoston toiseen terminaaliin seuraavalla komennolla.

tail -f /var/log/apache2/error.log

Lokitiedostossa näkyy seuraava tapahtuma:

phpkoodi

[Mon Feb 05 01:02:31.693591 2018] [:error] [pid 20808] [client 127.0.0.1:42616] PHP Fatal error: Uncaught Error: Call to undefined function pirnt() in /home/xubuntu/public_html/index.php:12\nStack trace:\n#0 {main}\n thrown in /home/xubuntu/public_html/index.php on line 12

Ensin tulee virheen tapahtuma-aika, virheilmoitus, pid 20808 = prosessi id, asiakasohjelman ip-osoite ja porttinumero, virheen status: määrittelemätön funktio
pirnt index.php-tiedostossa rivillä 12. Tämä taas johtuu siitä, että ”pirnt” ei ole php:ssa komento.

Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun (H3 kohta f)

klo 03.15

Seuraava harjoitus aloitetaan avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin.

Terminal Emulatorin aukaistuamme syötämme sinne seuraavan komennon.

cd public_html

Tällä komennolla siirrymme kotihakemistoon. Siellä luomme uuden html tiedoston komennolla.

nano bmi.html

Käytin ohjelmoinnin orientaatiokurssilla tekemäni javascriptillä toimivaa painoindeksilaskuria joka näyttää suurinpiirtein tältä.

bmi.png

Tallennettuani muutokset painamalla CTRL+X, jonka jälkeen painamme y-näppäintä ja enteriä. Avasin kotihakemistossa olevan bmi.html tiedoston komennolla.

firefox “http://localhost/~xubuntu/bmi.html/”

Avautui seuraavanlainen sivu

bmi_web.png

Syötin laskuriin omat mittani jotta sain testattua toimiiko laskuri.

Kuinka monta eri HTTP Status:ta (200, 404, 500…) saat aiheutettua lokeihin? Selitä, miten aiheutit tilanteet ja analysoi yksi rivi kustakin statuksesta. (H3 kohta i)

klo 03.20

analysointi

Onnistuin saamaan seuraavat 3 erilaista HTTP Statusta:

127.0.0.1 – – [05/Feb/2018:01:02:31 +0000] “GET /~xubuntu/ HTTP/1.1” 500 365 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

  • Ensin riville tulostuu Loopback ip-osoite
  • Seuraavaksi on kaksi viivaa, jotka merkitsevät sitä, että pyydettyä tietoa ei ole saatavilla. Viivojen kohdilla olisivat asiakasohjelman RFC 1413-identiteetti,
    sekä tapahtumaa pyytäneen käyttäjän userid. RFC1413-identiteettiä Apache ei yritä määrätä ellei IdentityCheck ole asetettu päälle. Pyydetty tiedosto ei ole salasanasuojattu,
    joten userid-kohtakin on tyhjä.
  • Tämän jälkeen on lokitapahtuman aika (5. helmikuuta 2018, kello 01:02:31, GMT+2:00 -aikavyöhyke)
  • Seuraavaksi ”GET / HTTP/1.1” 404 504 ”-” GET on asiakasohjelman (selaimen) metodi tiedon pyytämiselle. Pyydetty data on kotisivu, joten se on merkkitty vain ”/”.
    Pyynnössä käytettiin HTTP/1.1 -protokollaa. Luku 500 (Internal Error 500) tarkoittaa epäonnistunutta tapahtumaa, ja luku 365 asiakasohjelmalle palautetun tiedon koko.

Tämä ilmoitus johtui PHP-koodin virheestä, joka aiheutti palvelimelle sisäisen virheen.

127.0.0.1 – – [05/Feb/2018:01:21:02 +0000] “GET /~xubuntu/ HTTP/1.1” 200 492 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

  • Ensin riville tulostuu Loopback ip-osoite
  • Seuraavaksi on kaksi viivaa, jotka merkitsevät sitä, että pyydettyä tietoa ei ole saatavilla. Viivojen kohdilla olisivat asiakasohjelman RFC 1413-identiteetti,
    sekä tapahtumaa pyytäneen käyttäjän userid. RFC1413-identiteettiä Apache ei yritä määrätä ellei IdentityCheck ole asetettu päälle. Pyydetty tiedosto ei ole salasanasuojattu, joten userid-kohtakin on tyhjä.
  • Tämän jälkeen on lokitapahtuman aika (5. helmikuuta 2018, kello 01:21:02, GMT+2:00 -aikavyöhyke)
  • Seuraavaksi ”GET / HTTP/1.1” 200 493 ”-” GET on asiakasohjelman (selaimen) metodi tiedon pyytämiselle. Pyydetty data on kotisivu, joten se on merkkitty vain ”/”.
    Pyynnössä käytettiin HTTP/1.1 -protokollaa. Luku 200 (OK 200) tarkoittaa onnistunutta tapahtumaa, ja luku 492 asiakasohjelmalle palautetun tiedon koko.

Tämä ilmoitus tuli kun latasin kotihakemiston ja kaikki onnistui hyvin.

127.0.0.1 – – [05/Feb/2018:01:21:09 +0000] “GET /~xubunt HTTP/1.1” 404 504 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

  • Ensin riville tulostuu Loopback ip-osoite
  • Seuraavaksi on kaksi viivaa, jotka merkitsevät sitä, että pyydettyä tietoa ei ole saatavilla. Viivojen kohdilla olisivat asiakasohjelman RFC 1413-identiteetti,
    sekä tapahtumaa pyytäneen käyttäjän userid. RFC1413-identiteettiä Apache ei yritä määrätä ellei IdentityCheck ole asetettu päälle. Pyydetty tiedosto ei ole salasanasuojattu, joten userid-kohtakin on tyhjä.
  • Tämän jälkeen on lokitapahtuman aika (5. helmikuuta 2018, kello 01:21:09, GMT+2:00 -aikavyöhyke)
  • Seuraavaksi ”GET / HTTP/1.1” 404 504 ”-” GET on asiakasohjelman (selaimen) metodi tiedon pyytämiselle. Pyydetty data on kotisivu, joten se on merkkitty vain ”/”.
    Pyynnössä käytettiin HTTP/1.1 -protokollaa. Luku 404 (Not found 404) tarkoittaa epäonnistunutta tapahtumaa, ja luku 497 asiakasohjelmalle palautetun tiedon koko.

Tämä ilmoitus tuli kun yritin ladata kotihakemistoa puutteellisella osoitteella, jolloin se ei tietenkään onnistunut.

Lopetin harjoituksen tekemisen 5.2.2018 klo 03.30 eli harjoituksen tekemiseen meni noin 1,5 tuntia.

Lähteet:

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

 

Viikko 2 harjoitus 2 – Komentokehotteen käyttö, ylläpito ja paketinhallinta

 

Tämän viikon harjoitus keskittyy terminaalin käyttöön ja komentojen opetteluun. Harjoituksessa käyttämäni kone on MSI:n valmistama GX 640-mallin kannettava tietokone. Koneeseen on asennettu käyttöjärjestelmäksi Linux Xubuntu 16.04.3 LTS. Voit saada oman Xubuntu 16.04.3 LTS versiosi seuraavasta linkistä.

Aloitin harjoituksien tekemisen maanantaina 29.1.2018 klo 03.05. Annan tämän julkaisun aikana kellonaikoja tehtävien välissä, jotta saatte kuvan kuinka kauan tämän harjoituksen suorittamiseen menee aikaa.

Tämän harjoituksen toimeksianto löytyy kurssini opettajan Tero Karvisen nettisivuilta.

Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti. (H2 kohta a)

Klo 3.10

Linuxissa järjestelmän lokitiedostot löytyvät hakemistosta /var/log. Tulen käsittelemään tässä tehtävässä kahta lokitiedostoa, syslogia ja auth.logia. Syslog lokitiedosto sisältää pääasiassa käyttöjärjestelmän lokitapahtumia. Auth.log lokitiedosto taas sisältää käyttäjien valtuutuksiin liittyviä tapahtumia. Tämän tehtävän tavoite on aiheuttaa syslogiin yksi onnistunut tapahtuma ja auth.logiin yksi epäonnistunut tapahtuma. Jotta voisimme seurata toimenpiteitä ja seurauksia, tarvitsemme tähän terminaalia. Avaamme terminaalin seuraavalla tavalla:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin.

terminal_emulator

Avataan terminaali jonne voimme syöttää komentoja saadaksemme onnistuneen ja epäonnistuneen tapahtuman edellämainittuihin lokeihin.Avattuun terminaaliin voisimme syöttää seuraavan komennon:

logger Hei tämä on testi

logger
Seuraavaksi yritämme vaihtaa pääkäyttäjän salasanan seuraavalla komennolla

passwd

Syötämme kuitenkin tarkoituksella nykyisen salasanan väärin ja tapahtuu seuraavaa:

passwd

Jotta näemme edelliset tapahtumat lokitiedostoissa syötämme seuraavan komennon

sudo tail -F /var/log/syslog /var/log/auth.log

Tässä tapauksessa Terminal Emulator kysyy pääkäyttäjän salasanaa, jonka olen määrittänyt käyttöjärjestelmää asentaessa. Syötettyäni salasanan avautuu seuraava näkymä.

log

Ylempänä näkyy viimeiset kymmenen tapahtumaa syslog lokitiedostossa ja alempana näkyy viimeiset kymmenen tapahtumaa auth.log lokitiedostossa. Syslog lokitiedoston viimeinen rivi ilmoittaa viimeisimmän tapahtuman.

Tässä tapauksessa syslog lokitiedoston viimeisimmän rivin alkuun tulostuu ensin päivämäärä ja tarkka kellonaika. Heti tämän perään tulostuu koneen nimi, eli tässä tapauksessa ”SENVIL-XUBUNTU”. Seuraavaksi tulostuu sen käyttäjän nimi, joka on aiheuttanut tapahtuman eli tässä tapauksessa ”ville”. Tämän jälkeen tulostuu teksti, jonka komento ”logger Hei tämä on testi” on kirjoittanut ruudulle.

Auth.log lokitiedostoon ilmestynyt tapahtuma voidaan analysoida seuraavasti:

Jan 29 03:13:01 SENVIL-XUBUNTU passwd[17881]: pam_unix(passwd:chauthok): authentication failure; logname=ville uid=1000 euid=0 tty= ruser= rhost= user=ville

Jälleen rivin alkuun tulostuu ensin päivämäärä ja tarkka kellonaika. Tämän jälkeen koneen nimi ”SENVIL-XUBUNTU”. Sen jälkeen komennon nimi eli ”passwd”. Seuraavan kaksoispisteen jälkeen ilmeneekin että passwd on saanut virheilmoituksen pam_unix autentikointimoduulilta, jolloin tämä puolestaan ilmoittaa kaksoispisteen jälkeen, että valtuutus epäonnistui. Tämä ilmoitus vaikuttaa uskottavalta, koska annoinhan väärän salasanan tarkoituksella. Tätä seuraavan puolipisteen jälkeen pam_unix moduli viestittää yksilöiviä tietoja siitä, että kuka käyttäjä yritti passwd-komentoa käyttää. Tiedoista ilmenee esimerkiksi käyttäjän nimi ja terminaalin numero (tty).

Asenna SSH-demoni. Kokeile omalla ssh-palvelimellasi jotain seuraavista: ssh-copy-id, sshfs, scp tai git. (H2 kohta b)

Klo 03.20

En ole vielä luonut etäkonetta johon voisin ottaa yhteyden testatakseni ssh-yhteyden toimintaa. Lisään tulevaisuudessa tähän kohtaan ohjeistuksen kuinka ssh-palvelin luodaan ja otetaan ssh-yhteys etäkoneeseen.

Tee unelmien apt-get -komento: yksi komentorivi, joka asentaa suosikkiohjelmasi. (H2 kohta c)

Klo 03.25

Seuraavaksi teemme unelmien apt-get -komennon jolla käyttäjä saa asennettua yhdellä komennolla kaikki tarvitsemansa ohjelmat samalla kertaa. Jokaisella käyttäjällä on omat ohjelmansa joita tarvitsee asennettuaan itselleen uuden Xubuntu käyttöjärjestelmän. Tässä tehtävässä esitän omat ohjelmani joita asennan aluksi uuden käyttöjärjestelmän asennuksen jälkeen.
Aloitetaan avaamalla Terminal Emulator:

käynnistävalikko

Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get update

Terminaali kysyy pääkäyttäjän salasanaa joka on määritelty käyttöjärjestelmää asennettaessa. Syötetään se ja painetaan enteriä. Koneen suoritettua tehtävänsä annetaan seuraava komento:

sudo apt-get upgrade

Tämän jälkeen painetaan enteriä. Koneen suoritettua tehtävänsä annetaan seuraava komento jolla asennetaan ohjelmat joita tarvitsen:

sudo apt-get install -y blender vlc inkscape shutter

Edellä mainittu komento asentaa seuraavat ohjelmat:

  • Blender (3d-työkalu, jolla voidaan suunnitella ja mallintaa esineitä)
  • VLC (Video- ja musiikintoisto ohjelma)
  • Inkscape (Piirtotyökalu jolla voidaan esimerkiksi luoda vektorigrafiikkaa)
  • Shutter (Kuvankaappaustyökalu)

Kuten aiemmin jo mainitsin jokaisella käyttäjällä on omat ohjelmansa joita tarvitsee, mutta näillä ohjeilla voit luoda oman unelmien apt-get komennon.

Asenna komentokehotteen paketinhallinnasta kolme itsellesi uutta komentorivillä toimivaa ohjelmaa. (H2 kohta d)

Klo 03.40

Seuraavaksi asennamme kolme ohjelmaa, jotka toimivat suoraan terminaalissa ja testaamme niitä käytännössä. Valitsin asennettavaksi seuraavat ohjelmat:

  • Cbm (työkalu jolla voidaan seurata netin toimintaa)
  • Sudoku (peli)
  • Tty-clock (ohjelma, joka näyttää kellonajan ja päivämäärän)

Ensimmäinen asennus

Asennamme ensimmäiseksi Cbm-työkalun. Ja testaamme nopeasti sen toimintaa avaamalla Haaga-Helian kotisivun. Aloitamme avaamalla terminaalin.

käynnistävalikko
Työpöydän vasemmasta yläreunasta klikkaamme Xubuntu-logoa ja avautuvasta valikosta valitsemme Terminal Emulatorin. Tämän jälkeen syötämme terminaaliin seuraavan komennon:

sudo apt-get install -y cbm

Aina kun asennamme jotain terminaalissa on hyvä syöttää ensin ”sudo apt-get update” komento, mutta syötimme sen jo aiemmin niin sitä ei tarvitse enää uudestaan saman päivän aikana. Terminaali kysyy pääkäyttäjän salasanaa joka on määritelty käyttöjärjestelmää asennettaessa. Syötetään se ja painetaan enteriä. Asennuksen valmistuttua syötämme vain komennon ”cbm” ja ohjelma käynnistyy. Ohjelman käynnistyessä terminaali näyttää tältä.

cbm
Tämän jälkeen avaamme nettiselaimen syötämme sinne http://www.haaga-helia.fi osoitteen. Terminaali-ikkunassa pitäisi näkyä nettiliikenteen synnyttävän nopeuksien muutoksia ohjelmassa. Ohjelma suljetaan painamalla näppäintä q.

Toinen asennus

Seuraavaksi asennamme Sudokun. Testataksemme ohjelman pelaamme yhden kierroksen. Aloitamme taas avaamalla terminaalin kuten aiemmassa ohjelmassa. Terminaalin avauduttua syötämme seuraavan komennon:

sudo apt-get install -y sudoku

Terminaali kysyy pääkäyttäjän salasanaa joka on määritelty käyttöjärjestelmää asennettaessa. Syötetään se ja painetaan enteriä. Asennuksen valmistuttua syötämme vain komennon ”sudoku” ja ohjelma käynnistyy. Ohjelman käynnistyessä terminaali näyttää tältä.

sudoku1
Pelaamme yhden kierroksen peliä. Peli helppokäyttöinen, täysin perinteinen sudoku jossa liikutaan nuolinäppäimillä ja numerot valitaan numeronäppäimistä. Pelin päätyttyä terminaali näyttää tältä.

sudoku

Ohjelma suljetaan painamalla näppäintä q.

Kolmas asennus

Seuraavaksi asennamme Tty-clockin. Ohjelman testaamiseen riittää pelkkä ohjelman käynnistys. Aloitamme taas avaamalla terminaalin kuten aiemmassa ohjelmassa. Terminaalin avauduttua syötämme seuraavan komennon:

sudo apt-get install -y tty-clock

Terminaali kysyy pääkäyttäjän salasanaa joka on määritelty käyttöjärjestelmää asennettaessa. Syötetään se ja painetaan enteriä. Asennuksen valmistuttua syötämme vain komennon ”tty-clock” ja ohjelma käynnistyy. Ohjelman käynnistyessä terminaali näyttää tältä.

tty

Ohjelma suljetaan painamalla näppäintä q.

Ohjelmien poistaminen

Ohjelmien poistamiseen voidaan käyttää kahta eri komentoa. ”sudo apt-get remove [ohjelman nimi]” poistaa ohjelman, mutta ei poista kuitenkaan konfigurointi tietoja, jotta voit käyttää niitä uudestaan jos uudelleenasennat ohjelman. ”sudo apt-get purge [ohjelman nimi]” taas poistaa ohjelman täysin säilyttämättä mitään.

Lopetin harjoituksen tekemisen 29.1.2018 klo 04.00 eli harjoituksen tekemiseen meni noin 1 tunti.

Lähteet:

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

Viikko 1 harjoitus 1 – Linux livetikku

Linux – livetikku (H1 kohta a)

Tämän viikon harjoitus alkaa Linux livetikun luomisella Tero Karvisen ohjeiden mukaisesti. Livetikku on usb-muistitikku, jolta voidaan käyttää linuxia suoraan ”live-tilassa” asentamatta linux-käyttöjärjestelmää koneelle tai vaihtoehtoisesti usb-muistitikulta voidaan suoraan asentaa koneeseen linux-käyttöjärjestelmä.

Tässä harjoituksessa on käytössä pöytäkone, jossa asennettuna Windows 10-käyttöjärjestelmä ja kannettava tietokone, jossa on myös asennettuna Windows 10- käyttöjärjestelmä. Kannettava tietokone toimii testikohteena, jossa Windows 10-käyttöjärjestlmän rinnalle asennetaan Linux-käyttöjärjestelmä.

Valmistelevat toimenpiteet

Jotta voimme luoda Linux livetikun tarvitsemme usb-muistikun. Tällaisen saamme lähes mistä vain kodinelektroniikkaa myyvästä liikkeestä. Valitsin käyttööni Verbatimin valmistaman 8 Gt muistitikun. On hyvä muistaa alustaa muistitikku FAT32-muotoon, joskin kaupasta hankitut muistitikut ovat valmiiksi alustettu tähän muotoon. Jos et ole varma asiasta voit laittaa muistitikun kiinni koneeseesi ja avata koneesi resurssienhallinnan ja sieltä valita muistitikkusi hiiren oikealla nastalla. Avautuvasta valikosta valitse kohta – Alusta…

Tämän jälkeen pitäisi aueta seuraavanlainen näkymä:

Alustus

Alustus kestää hetken, mutta sen valmistuttua olet valmis siirtymään seuraavaan vaiheeseen.

Seuraavaksi tarvitset ohjelman nimeltä Unetbootin. Ohjelman avulla saat luotua muistitikustasi livetikun. Voit ladata haluamasi Linuxin ISO-tiedoston Unetbootin kautta tai vaihtoehtoisesti muualta.

Unetbootin

Live tikun tekoon tarvittava ohjelma UNetbootin on saatavilla Windowsille, Macille ja jopa Linuxille, mutta tässä tapauksessa valitaan tuo ”Download (Windows)”, koska käytämme Windows käyttöjärjestelmää. Latauksen valmistuttua voit asentaa ohjelman.

unetbootin

Ohjelman asennuttua sinulle pitäisi avautua seuraavanlainen näkymä:

ohjelma

ISO-tiedosto

ISO-tiedostoksi valitsin tässä tapauksessa Xubuntun ISO-tiedoston. Sen löytää esimerkiksi syöttämällä Googlen hakukoneeseen ”Xubuntu download” ja valitsemalla ensimmäisen hakutuloksen. Avautuu seuraavanlainen sivu:

xubuntu

Valitsemme ISO-tiedoston lataustavaksi ”Mirror”-palvelun ja sieltä omaa sijaintiamme lähimmän maan, joka on tässä tapauksessa Sweden (Ruotsi). Tämän jälkeen avautuu seuravaava ikkuna:

Mirror

Kaikista kuvassa esiintyvistä ISO-tiedostoista valitaan kuvassa ympyröity ISO-tiedosto ”xubuntu-16.04.03-desktop-amd64.iso”, jota klikkaamalla aukeaa seuraavanlainen ikkuna:

lataus

Valitaan ”OK” jonka jälkeen lataus alkaa ja meillä on tämän jälkeen kaikki tarvittava livetikun tekoon.

Livetikun luominen

Avataan UNetbootin ja valitsemme halutun asennustavan, koska meillä on oma ISO-tiedosto ladattuna valitsemme ”Levykuva” vaihtoehdon ”Jakelu” vaihtoehdon sijasta ja etsimme ladatun ISO-tiedoston koneelta ”…”- painikkeella. Uudelleenkäynnistysten välillä säilytettävä tila- kohta jätetään tyhjäksi, koska usb-muistitikku tulee kokeilu- ja asennuskäyttöön, jolloin tallennuksia ei tarvita.

Seuraavaksi valitsemme oikean USB-aseman alareunasta. Tällä kertaa oikea asema on jo valittuna, jolloin painamme OK-painiketta ja aloitamme asennuksen. Asennuksen valmistuttua painamme lopeta-painiketta.

Livetikun testaaminen

Asetetaan juuri luotu Linux livetikku testattavan koneen USB-porttiin, tässä tapauksessa käytän tähän testaamiseen tarkoitettua kannettavaa tietokonetta. Joissakin tapauksissa voidaan joutua valitsemaan tietokoneen BIOS:in kautta tietokoneen BOOT-order. Testatattavan koneen tapauksessa BIOS avautuu painamalla delete-näppäintä koneen käynnistyessä. Tämän jälkeen avautuu seuraava näkymä:

21.1.2018 22.57 Office Lens

Siirryimme Save & Exit välilehdellä nuolinäppäimillä ja siirryimme VerbatimSTORE N GO 1.00 kohtaan ja valitsimme sen. Tämän jälkeen aukeaa seuraavanlainen ikkuna josta valitsemme kohdan Try Xubuntu without installing ja painamme näppäimistöltä enter.

 

21.1.2018 23.01 Office Lens

Tämän jälkeen Xubuntu käynnistyy normaalisti. Kun Xubuntu on käynnistynyt voit valita työpöydältä kuvakkeen ”Install Xubuntu 16.04.3 LTS”-kuvaketta jos haluat asentaa Xubuntun.

Testikoneen raudan listaaminen (H1 kohta b)

Seuraavaksi listaamme testikoneen käytetyn kannettavan tietokoneen raudan, johon käytämme Tero Karvisen ohjeistusta.

Avaamme Linuxin terminaalin käyttämällä kahta erilaista tapaa. Joko painamme windows-näppäintä + t-näppäintä yhtäaikaa tai seuraavalla polulla: Vasen ylänurkka, Xubuntu-logo -> ”Terminal emulator”. Terminaalissa syötetään seuraava komento ”sudo lshw -short -sanitize”.

Komento antoi seuraavan tuloksen testikoneelle:

21.1.2018 23.21 Office Lens

Komento kertoo käytettävän tietokoneen raudasta (esim. prosessori, muisti ja näytönohjain) kaiken tarvittavan informaation.

Ohjelmien asennus (H1 kohta c)

Seuraavaksi etsin itselleni kolme ohjelmaa ja asensin ne. Käytin ohjelmien etsimiseen Ubuntu Apps Directoryä, joka on sivusto jonne ohjelmat on järjestetty kategorioittain ja sieltä on helppo löytää ohjelmia omaan käyttöön.

Päätin asentaa seuraavat ohjelmat käyttööni: VLC (mediasoitin), GIMP (grafiikkaohjelma) ja Airstrike (Peli).

Ohjelmien asentaminen Linuxiin onnistuu seuraavalla tavalla: Avataan terminaali ja syötetään sinne komento ”sudo apt-get install [ohjelman nimi]” ja painetaan enter. Tämän jälkeen terminaali kysyy salasanaa jonka määrittelit Linuxia asennettaessa. Syötetään salasana, jonka jälkeen terminaali vielä varmistaa y/n kysymyksellä haluatko jatkaa. Vastasin tietenkin y ja painoin enter, koska halusin asentaa ohjelman. Hetken päästä ohjelma on asennettu.

Asennettujen ohjelmien testaaminen

Seuraavaksi testaamme asennettuja ohjelmia

VLC:n testasin lataamalla lyhyen testivideon ja avasin sen VLC:llä. Kuva liikkui sulavasti ja äänet kuuluivat hyvin. Kuva testitilanteesta:

22.1.2018 0.46 Office Lens

GIMP:n testasin piirtämällä nopeasti jonkilaisen testikuvan ja tallentamalla sen. Kuva testitilanteesta:

22.1.2018 1.26 Office Lens

Airstriken testasin käynnistämällä pelin ja pelaamalla hetken. Peli pyöri ilman ongelmia ja tämän jälkeen kuvasin testitilanteen:

22.1.2018 1.10 Office Lens

Testiohjelmien lisenssit (H1 kohta d)

Kaikkien kolmen ohjelman (VLC, GIMP ja Airstrike) lisenssi on vapaa ja ilmainen GNU General Public License. GNU General Public License tai pelkkä GPL on tarkoitettu vapaiden ohjelmien julkaisemiseen. Tämä lisenssi antaa kenelle tahansa oikeuden käyttää, kopioidta, muuttaa ja jakaa edelleen ohjelmia ja niiden lähdekoodia.

Käyttämäni Windows ohjelmat ja niiden vastineet Linuxissa (H1 kohta e)

Seuraavaksi luettelen muutamia ohjelmia joita käytän, niiden käyttötarkoitus ja niiden mahdolliset vastineet Linuxissa:

Microsoft Office Word – Tekstinkäsittely – LibreOffice Writer

Microsoft Office Excel – Taulukkolaskenta ja graafiset taulukot – LibreOffice Calc

Microsoft Office Powerpoint – Presentaation suunnittelu ohjelma – LibreOffice Impress

MS Paint – Kuvanmuokkaus – Gimp

Mozilla Firefox/Google Chrome – Internet-selain – Mozilla Firefox