Linux palvelimet h3

Aloitus ~11:00 GMT+3 käyttöjärjestelmä xubuntu18.04.

Lopetus 17:04 GMT+3

http://terokarvinen.com/2018/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1-%E2%80%93-5-op Tehtävä H3

Tee viisi vapaavalintaista kohtaa.  Tein kohdat a, b, c, d ja f

 

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

 

Aloitin vaihtamalla näppäimistön kielen suomeksi. Jonka jälkeen yritin asentaa apache2 paketin.

1.png
setxkbmap fi
sudo apt-get install apache2

2.png

Sehän ei tietenkään toiminut koska en ollut ajanut sudo apt-get update komentoa!

Kun se oli ajettu yritin asentaa apache2 uudelleen jonka jälkeen se toimi!

4.png

Ensitöikseni ylikirjoitin apache2 oletussivun päälle.  Käyttämällä alla näkyvää komentoa.

5.png

echo "foo" | sudo tee index.html

Kun se oli tehty laitoin käyttäjien kotisivut toimimaan. Ajamalla ensin komennot.

7.png

sudo a2enmod userdir
sudo systemctl restart apache2

Jonka jälkeen tein käyttäjän kotihakemistoon uuden hakemiston nimeltä public_html komennolla mkdir johon tein index.html tiedoston käyttämällä nanoa.

mkdir public_html
nano index.html

Index.html tiedostoon tein perus html5 pohjan.

6.png8.png

 

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

 

123123w.png

Käyttämällä grep -ir 127.0 /var/log/apache2 hakemistossa löysin lokista ainakin 200, 301, 304 ja 404 tilakoodit.

Jos käytämme esimerkkinä kuvasta riviä 4.
access.log:127.0.0.1 - - [08/Sep/2018:08:43:34 +0000] "GET /~xubuntu HTTP/1.1" 404 498 "-" "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0"

Access.log kertoo mistä tiedostosta kyseinen loki tapahtuma on.

127.0.0.1 on ip johon yhdistettiin ja – – paikalle tulee käyttäjä id tai jotain vastaavaa.

Sitten näkyy aika ja päivämäärä.

GET kertoo mihin sivulle yritettiin mennä esim /~xubuntu on kättäjän kotisivu.

Sitten tulee tilakoodi joka on tässä tapauksessa 404 joka tarkoittaa että sivua ei löydy. Sivua ei löydy vielä koska en ollut tässä vaiheessa enabloinut userdirriä apache2sta.

489 on vastaan otetun paketin koko.

Sitten näkyy myös selain josta yhdistettiin ja käyttöjärjestelmä.

Kuvassa näkyy myös 200, 301 ja 304 tilakoodit.

200: tarkoittaa sivun onnistunutta latausta.

301: jos oikein muistan niin se liittyy jotenkin uudelleen ohjaamiseen.

304: tarkoittaa että sivua ei ole muutettu joten sivua ei lähetetä uudelleen.

 

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

 

Etsin ensin millä paketilla asennetaan apacheen php moduuli. Ja asensin sen.

12.png

sudo apt-cache search apache php

14.png

sudo apt-get install libapache2-mod-php

Sitten muutin käyttäjän xubuntu public_html kansiossa olevan index.html tiedoston index.php tiedostoksi.

13.png

mv index.html index.php

php ei tietenkään viellä toiminut

15.png

Joten kävin muuttamassa php7.2.conf tiedostoa hakemistossa /etc/apache2/mods-available sudoedit php7.2.conf komennolla jonka jälkeen apache2 piti käynnistää uudelleen.

17.png

sudo systemctl restart apache2

16.png

php7.2.conf tiedostossa piti kommentoida pois Ifmodule.

Jonka jälkeen php toimi normaali käyttäjillä ja sitä ei enään näkynyt sivun lähdekoodeissa.

18.png

Kun php oli toiminta kunnossa kokeilin näkyyko nollalla jakaminen lokissa.

22.png23.png

Ja siellähän se näkyi grep -ir 127.0 komennolla /var/log/apache2 hakemistossa.21.png

error.log:[Sat Sep 08 12:17:39.533458 2018] [php7:warn] [pid 11922] [client 127.0.0.1:37830] PHP Warning: Division by zero in /home/xubuntu/public_html/index.php on line 11

error.log kertoo missä tiedostossa kyseinen virheilmoitus on.

Sitten näkyy aika ja päivämäärä.

php7:warn kertoo missä versiossa phptä tuli varoitus.

pid 11922 on prosessin id

client 127.0.0.1:37830 kertoo käytetyn ip ja portin numeron.

PHP Warning: Division by zero in /home../index.php on line 11 kertoo mikä virhe tapahtui ja missä tiedostossa ja jopa millä tekstirivillä se on.

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

 

Tekemällä muutoksen /etc/apache2 hakemistossa olevaan apache2.conf tiedostoon sudoeditillä saa esimerkiksi tämän näköisen virheilmoituksen.

32.png

apache2ctl configtest

Syntax error kertoo että tiedostossa on jokin kirjoitettu väärin ja millä linjalla se on ja tietenkin missä hakemistossa ja myös mikä tiedosto on kyseessä.

Action ‘configtest’ failed kertoo että configtest ei mennyt läpi ja järjestelmässä on jokin ongelma.

 

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

 

Tein kaksi yksinkertaista laskua. Toinen laskee BMIn ja toinen pinta-alan.

Tähän meni yllättävän paljon aikaa (noin 1,5h) Etsin ohjeita http://fi2.php.net/manual/en/ sivustolta.

44.png

43.png

Lähteet:

http://terokarvinen.com/2018/aikataulu-%E2%80%93-linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1-%E2%80%93-5-op Tehtävä H3

http://fi2.php.net/manual/en/ Ohjeita php koodaamiseen.

 

Advertisements