Kotitehtävä Number 3

Tehtävänannot löytyy Tero Karvisen sivuilta: Suora linkki:
http://terokarvinen.com/2017/aikataulu-%e2%80%93-linux-palvelimet-ict4tn021-7-ti-ja-6-to-alkukevat-2018-5-op

 

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

  1. Asennetaan apache komennolla sudo apt-get install apache2 ja testataan, että se toimii menemällä verkkoselaimeen ja pistetään hakukenttään localhost. Alla oleva kuva kertoo, että Apache2 toimii kuten pitää.localhost
  2. Seuraavaksi meidän pitää luoda kotisivut, jotka näkyvät Apache2 Default -sivun sijasta.
    Tähän tarkoitukseen meidän pitää aktivoida Userdir sudo a2enmod userdir
    -komennolla. Jotta kyseinen komento tulisi voimaan, tulee apache2 demoni uudelleenkäynnistää. Tähän tarkoitukseen käytetään komentoa sudo service apache2 restart. Alla esimerkki:
    a2enmod
  3. Seuraavaksi luodaan kansio, johon sivusto luodaan. Omassa tapauksessani käytin komentoa: mkdir public_html, joka luo public_html -nimisen kansion. Kansion sisään taas luodaan itse sivu. nano index.html. Validoidaan sivu myös samalla https://validator.w3.org/#validate_by_input -sivulla.
    validate
    ECWReCJKuvasta näkee, että sivut toimivat kuten pitää.

 

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

Siirrytään komentorivillä kansioon /var/log/apache2/ ja selataan sen lokia komennolla tail -F access.log. Nyt pystymme seuraamaan lokia reaaliajassa.

Apache2_success
Kuvasta näkee, että yhteyden ottanut ip on 127.0.0.1 ja milloin. Kyseisessä tapauksessa 5. Helmikuuta 2018, klo 10:36:59 +0 aikavyöhyke. Seuraavaksi näkyy mihin on pyritty pääsemään. 200 koodi taas tarkoittaa, että kyseinen tapahtuma on onnistunut, mutta numerosta 461 en tiedä. Seuraavaksi näkyy millä selaimella, versiolla ja käyttöjärjestelmällä on päästy sivulle. Itselleni tuntemattomaksi jää tämä Gecko/20100101 pätkä tapahtumasa.

Apache2_fail
Seuraavaksi on epäonnistunut tapahtuma. Kyseinen koodi on täsmälleen sama kuin, mutta tällä kertaa kohteena on /favicon.ico tapahtuma näyttää 404-numerosarjaa, eli kyseinen tapahtuma on epäonnistunut.

 

 

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

Tähän tarkoitukseen meidän pitää ensin saada php mod toimimaan. Ensin asennetaan se komennolla sudo apt-get install php libapache2-mod-php. Sitten siirrytään asennetun tiedoston luomaan tiedostoon, jossa tehdään, kuten tiedoston ohjeet käskevät. Kuva alla:
sudoedit
Jotta muutokset tulisivat voimaan, tulee meidän uudelleenkäynnistää apache2 samalla komennolla, mitä käytettiiin aikaisemmassa tehtävässä.
Kokeillaan, että php toimii:
phptesti
Ja hyvin näyttää toimivan.

Luodaan virhe esimerkiksi tekemällä tahallinen kirjoitusvirhe koodiin. Tämä ilmeni seuraavaisella virhereporttina:
php virhe
Lokissa taas näkyy minä päivänä ja mihin aikaa kyseinen virhe on tapahtunut. Veikkaisin, että pid 14665 on virheen numero. Seuraavaksi näkyy selaajan IP-osoite ja portti, virheen tyyppi. Seuraavaksi näkyy mikä on virheen syy ja mistä se löytyy. Tässä tapauksessa index.php tiedostossa on tuntematon komento rivillä 3.

 

 

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

Tämä onnistuu helposti lisäämällä #-merkin haluttuihin riveihin. Siirrytään Apache2 kansioon komennolla cd /etc/apache2/ ja editoidaan apache2.conf komennolla sudoedit apache2.conf. Alla kuva miten itse tein.
apache2sys
Tämän jälkeen yritin käynnistää apache2 palvelinta uudelleen, mutta se antoi jo suoraan käynnistys virhettä. Lokissa taas näkyy seuraavaa:
Apache2failedstart
Lokista näkyy, että apache2 käynnistys on epäonnistunut.

 

 

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

koodeja

Koodien analysointi on käyty läpi jo edellisessä tehtävässä.

Status 200 tuli kun otin yhteyden index.php sivuun.
Status 304 tuli kun otin yhteyden localhostii.
Status 404 tuli kun otin yhteyden sivulle jota ei ole olemassa.

 

 

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://validator.w3.org/#validate_by_input

 

 

 

 

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 )

Connecting to %s