H3

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.

Valitsin helpoimmat eli a-, b-, c-, d- ja i- kohdan.

A)

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

Aloitin asentamalla Apachen komennolla “sudo apt-get install -y apache2”.

Kokeilin toimiiko localhost eli menin firefoxilla osoitteeseen localhost.

Se onnistui eli Apache2 Ubuntu Default Page oli siellä.

testpage

Menin terminaalissa kotihakemistoon komennolla “cd” ja tein sinne public_html kansion komennolla “mkdir public_html”.

Sitten kokeilin localhostia koneeni nimellä, jonka saa komennolla “whoami”.

Selaimessa menin osoitteeseen “http://localhost/~(koneen nimi)/”

Tuli virhe ilmoitus 404 Not Found.

Kokeilin “sudo systemctl restart apache2.service” komentoa, eikä se auttanut.

Sen jälkeen kokeilin komentoa “sudo a2enmod userdir” ja sen jälkeen
“sudo systemctl restart apache2.service” komentoa.
Sitten se toimi.

 

Sitten menin terminaalissa public_html kansioon ja tein index.html tiedoston komennolla “nano index.html”.

Tein käsin html sivun testi käyttöön. Sivu toimi.

koesivu

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ä):

Apachen loki löytyi täältä: /var/log/apache2/

Laitoin kaksi terminaalia seuraamaan lokia komennolla “tail -f (loki)”, mitkä olivat access.log ja error.log.

Sain seuraavan rivin, kun menin firefox selaimessa ip osoitteeseeni.

192.168.0.15 – – [04/Feb/2018:01:21:09 +0200] “GET / HTTP/1.1” 200 3525 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

“192.168.0.15” = käyttäjän ip osoite, joka lähetti pyynnön serverille.

“- – “ = tiedot puuttuvat, mutta niiden pitäisi auttaa tunnistamaan käyttäjätietoja.

“[04/Feb/2018:01:21:09 +0200]”= pvm, kellonaika, utc vyöhyke.

“”GET / HTTP/1.1″” = GET on metodi ja HTTP/1.1 on protokolla.

“200” = koodi, joka kertoo tapahtuman onnistumisesta. Koska numero oli 200, tapahtuma oli onnistunut.

“3525” = kertoo jonkin tiedoston koosta, mistä en ole varma.

“”-“” = tähän pitäisi tulla nettisivu mihin tapahtuma liittyy, mutta tässä se on tyhjänä.

“”Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0″” = Nämä kertovat käyttäjän selaimen tietoja, ainakin Firefoxin version. Muista en ole varma.

Sain seuraavan rivin, kun yritin väärällä käyttäjällä päästä localhostiin selaimessa.

127.0.0.1 – – [04/Feb/2018:01:19:27 +0200] “GET /~eikaitoimi/ HTTP/1.1” 404 502 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

“127.0.0.1” = sama kuin ylemmässä

“- – “ = sama kuin ylemmässä

“[04/Feb/2018:01:21:09 +0200]”= pvm, kellonaika, utc vyöhyke.

“”GET /~eikaitoimi/ HTTP/1.1″” = GET on metodi, /~eikaitoimi/ on pyydetty hakemisto ja HTTP/1.1 on protokolla.

“404” = koodi, joka kertoo tapahtuman onnistumisesta. Koska numero oli 404, tapahtuma epäonnistui ja syy oli käyttäjän.

“502” = kertoo jonkintiedoston koosta, mistä en ole varma.

“”-“” = tähän pitäisi tulla nettisivu mihin tapahtuma liittyy, mutta tässä se on tyhjänä. Sama kuin ylemmässä.

“”Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0″” = Nämä kertovat käyttäjän selaimen tietoja, ainakin Firefoxin version. Muista en ole varma. Sama kuin ylemmässä.

C)

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

Laitoin index.html sivulle php koodia, ja sitten kun kokeilin php toimintoa tuli virhe sivu.

phpfail

Samalla seuraava rivi ilmestyi lokiin.

127.0.0.1 – – [04/Feb/2018:03:21:24 +0200] “POST /~riku/action.php
HTTP/1.1″ 404 506 “http://localhost/~riku/” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

Tämä
kohta on erilainen kuin aikaisemmassa kohdassa (kuin b).

“POST /~riku/action.php HTTP/1.1” 404 506

“POST” = metodi, joka oli php koodissa.

“/~riku/action.php” = pyydetty hakemisto

“404 506” = tapahtuma oli epäonnistunut ja se johtui käyttäjän
virheestä.

D)

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

Menin tänne /etc/apache2/

Annoin komennon sudoedit apache2.conf

Menin muuttamaan yhden kohdan koodissa, jonka jälkeen tallensin sen. Sitten testasin toimiiko apache komennolla “apache2ctl configtest”.

Sain seuraavan rivin

[Sun Feb 04 04:01:58.245660 2018] [core:warn] [pid 9457] AH00111: Config variable ${PAPACHE_PID_FILE} is not defined

Selvästikin testi paljastaa mitä kävin muuttamassa eli

{APACHE_PID_FILE} ->{PAPACHE_PID_FILE}

[Sun Feb 04 04:01:58.245660 2018] = aika, mutta en tiedä miks siinä on 58.245660. [core:warn] = veikkaan, että tarkoittaa varoitusta.

[pid 9457] AH00111: = ei ole mitään hajua.

Config variable ${PAPACHE_PID_FILE} is not defined = kertoo mikä kohta ei ole oikein.

I)

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

 

Löytyi access.log:sta 200, 304 ja 404. 200 ja 404 on b-kohdassa analysoitu.

127.0.0.1 – – [04/Feb/2018:04:21:47 +0200] “GET / HTTP/1.1” 200 3525 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

127.0.0.1 – – [04/Feb/2018:04:21:47 +0200] “GET /icons/ubuntu-logo.png HTTP/1.1” 304 180 “http://localhost/” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

304 = tarkoittaa Not Modified eli sivun versio on muistissa, eikä sitä ole muutettu.

127.0.0.1 – – [04/Feb/2018:04:22:14 +0200] “GET /~riku/lol HTTP/1.1” 404 499 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:58.0) Gecko/20100101 Firefox/58.0”

Lähteet:

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

http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4

https://en.wikipedia.org/wiki/Common_Log_Format

https://en.wikipedia.org/wiki/Localhost

https://httpd.apache.org/docs/1.3/logs.html

https://en.wikipedia.org/wiki/List_of_HTTP_status_codes

http://php.net/manual/en/tutorial.forms.php

Advertisements

Leave a Reply

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

WordPress.com Logo

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

Google+ photo

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

Twitter picture

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

Facebook photo

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

w

Connecting to %s