Kolmas viikko, kolmas tehtävä

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

 

Ensin asensin Apachen komennolla: “sudo apt-get install apache2“.

Seuraavaksi asensin userdir moduulin. Tämä moduuli mahdollistaa jokaiselle tai osalle palvelimen käyttäjätilille omat verkkosivut.

sudo a2enmod userdir” ja Apachen uudelleenkäynnistys “sudo service apache2 restart“.

Loin public_html kansion “mkdir public_html“, tarkistin käyttäjänimeni joka on live-tikkua käytettäessä xubuntu “whoami“. Lisäsin myös public_html polkuun kansion index.php – “nano /home/xubuntu/public_html/index.php“.

Testasin apache-sivujen toimivuutta kirjoittamalla Firefoxin hakukenttään “localhost”. Testisivu tuli näkyviin, eli toimii. Katsoin vielä IP-osoitteeni “ip addr” ja selasin sivulle käyttämällä ip-osoitettani, toimii myös näin.

apache2

Seuraavaksi kokeilin osoitteella: “http://localhost/~xubuntu/index.php” jolloin luomani index.php kansio tulee näkyviin seuraavanlaisena indeksinä.

localhostxubuntu

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

 

Avasin terminaalissa uuden välilehden ja navigoin /var/log/apache2 kansioon “cd /var/log/apache2“. Tämän jälkeen, tai vaikka suoraan, voin antaa komennon lokitietojen tarkastelemiseksi. Käytin tässä: “tail -F access.log error.log other_vhosts_access.log” eli kaikkia lokitietoja mitä apache2:n alta löytyi.

404-500

404-500 kombinaatiolla tuli ensimmäinen epäonnistuminen. 404 tunnetusti tarkoittaa sitä, että kohdetta ei löydy ja virhekoodi 500 viittaa “internal server erroriin”. Tämä virhekoodi on hyvin geneerinen, eikä oikeastaan viittaa mihinkään spesifiin virheeseen. Sain tämän virheen yrittäessäni navigoida olemattomalle sivulle.

Ensimmäisenä tietona on IP-osoite sekä aika, josta / jolloin yhteyttä on yritetty ottaa. 404 tarkoittaa siis sitä, että kohdetta ei löydy ja 500 oli “internal server error” sen kummemmin asiaa tarkentamatta. Lopussa on tarkempia tietoja yhteydenottajasta kuten käyttöjärjestelmä ja selain.

Viimeisimmässä lokimerkinnässä on koodi 200-eli onnistunut sivulataus.

onnistunutuusi

 

 

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

 

Asensin ensin PHP:n “sudo apt-get install libapache2-mod-php” ja sallin PHP käytön seuraavasti: “sudoedit /etc/apache2/mods-available/php7.0.conf“. Tällä pääsen muuttamaan PHP:n conf-tiedostoa, eli minun pitää laittaa risuaidat seuraavasti:

commentedout

Jostain syystä jos nämä tiedoston viisi viimestiä kohtaa jättää kommentoimatta, PHP ei toimi. Risuaidat siis käytännössä poistavat kuvassa näkyvät komentorivit käytöstä, mutta ei poista niitä. Tarvittaessa ne voi ottaa takaisin käyttöön poistamalla risuaidat rivien edestä.

Uudelleenkäynnistin apachen – “sudo service apache2 restart“.

Loin “moro.php” tiedoston nanolla public_html:n sisälle.

moro.php

Testasin ensin, että php-skripti toimii. Sain sen testattue ylläolevalla kuvalla, jossa on tarkoituksella tehty virhe. Kunnossa ollessaan, koodinpätkä tulosti sivulleni “moikka”. Kun vaihdoin echon toimimattomaksi, sivu ei enää toiminut, vaan tulosti pelkän tyhjän sivun. Tämä virhe ilmestyi apachen error.log:iin.

phperror

 

 

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

 

Navigoin apachen asetustiedostoon apacahe2.config. “cd /etc/apache2” ja “ls” jotta näen tiedostolistauksen tässä polussa. Sieltä löytyi apache2.conf, joten aloin muokkaamaan sitä komennolla “sudoedit apache2.conf” Etsin täältä muutamia komentorivejä, jotka voisin kommentoida pois käytöstä.

apacheconfig

Tallensin ja yritin käynnistää Apachen uudestaan, mutta sain virheilmoituksen

apacheerror

Tässä ei ole oikeastaan muuta kuin pyyntö käydä virheilmoituksen mainitsemissa paikoissa lisätietoja varten. Virhettä ei eritellä sen kummemmin tässä viestissä.

Kävin siis katsomassa “systemctl status apache2.service

error

Eli apache2 webbiserverin käynnistys ei onnistunut ja palvelu on siirtynyt vikatilaan.

Tässä on vielä apachen error.log:

errorlog

 

 

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

 

Status 200 tuli onnistuneesta sivulatauksesta

Status 404 tuli epäonnistuneesta sivulatauksesta jonka sain aikaiseksi navigoimalla olemattomalle sivulle. Tähän yhteyteen sain myös virhekoodin 500 (internal server error).  Nämä on hieman tarkemmin käyty läpi kohdassa B. Muita statuksia en löytänyt. Näiden saamieni perässä oli muita statuksia, kuten 200 663 sekä 404 514 etc.

 

Advertisements

1 thought on “Kolmas viikko, kolmas tehtävä”

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 )

Connecting to %s