H3 Linux Palvelimet

Tehtävät liittyvät Haaga-Helia AMK Tero Karvisen pitämään kurssiin, Linux Palvelimet ICT4TN021 4. Tehtävät löytyvät täältä.

Tehtävässä käytetyn koneen rauta

tämäääää.png

Tein tehtävät 10.9.2017. Aikaa tehtäviin kului arviolta noin 4 tuntia raportointi mukaan lukien.

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

Käynnistin Xubuntun, ajoin <sudo apt-get update> komennolla päivitykset, koska käytän Xubuntua livetikulta. Ennen komennon lyömistä terminaaliin, tarkistin että verkkoyhteys toimii avaamalla firefoxin ja kirjoittamalla hakuun “testi”. Kun olin testannut, että verkko toimii ja ajanut päivitykset, vaihdoin näppäimistön kieleksi Suomi komennolla <setxkbmap fi>.

Asensin apache2 demonin komennolla <sudo apt-install -y apache2>. Lataus kesti hetken aikaa, jonka jälkeen tarkistin sen toimivuuden kirjoittamalla firefox-selaimeen “localhost”1. kuva apache2 onnistunut.png

Asennus oli siis onnistunut. Kokeilin myös toimiiko apache2 default page, jos syötän hakuun oman ip-osoitteeni minkä sain kirjoittamalla terminaaliin komennon <hostname -I>. Se toimi myös.

Seuraavaksi laitoin userdir modulen päälle komennolla <sudo a2enmod userdir>. Se antaa jokaiselle käyttäjälle luvan pitää nettisivuja kotihakemistossaan (lähde). Tämän jälkeen käynnistin apache2 demonin uudelleen komennolla <sudo service apache2 restart>.

Tämän jälkeen menin kotihakemistoon komennolla <cd /home/xubuntu>. Loin kotihakemistoon kansion nimeltä public_html, komennolla <mkdir public_html>. Tämän jälkeen loin public_html kansioon index.html nimisen tekstitiedoston, komennolla <cd public_html> <nano index.html>. Kirjoitin tekstitiedostoon tekstinpätkän “Jos tama nakyy niin tehtava on onnistunut!”. Tämän jälkeen tarkistin miltä näyttää “localhost/~xubuntu/” ja se näytti tältä.3 kuva.png

Jotta luomani index.html tiedosto näkyisi myös example.com/~xubuntu -osoitteella minun oli muuteltava muutamia tekstitiedostoja.

Komennolla <cd /etc/apache2/sites-available> pääsin kansioon mistä pystyy säätämään apache2 oletussivua. Kansiossa on kaksi tekstitiedostoa “000-default.conf” ja “default-ssl.conf”. Avasin komennolla <sudo nano 000-defualt.conf> tuon ensimmäisen. Tekstitiedostosta etsin kohdan “#ServerName http://www.example.com&#8221; ja lisäsin sen alapuolelle “ServerAlias example.com”. Otin myös risuaidan pois kohdasta “#ServerName http://www.example.com”. Tämän jälkeen menin muokkaamaan hosts tekstitiedostoa komennolla <cd /etc> ja <sudoedit hosts> Lisäsin tektitiedoston kahden ensimmäisen lauseen jälkeen lauseet “127.0.0.1 http://www.example.com&#8221; ja “127.0.0.1 example.com”. Käynnistin apache2 uudelleen komennolla <sudo service apache2 restart>, jonka jälkeen nettisivut toimivat nyt osoitteella “http://example.com/~xubuntu/&#8221;.example sivut.png

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

Avasin selaimen ja kirjoitin osoitteeksi “localhost/~xubuntu/” jonka jälkeen kirjoitin osoitteeksi “localhost/~xubuntu/testi”. Tämän jälkeen menin komennolla <cd /var/log> kansioon mistä lokitietoja luetaan. Etsin kansiosta apache2 demonin komennolla <cd apache2> ja apache2 kansiossa kirjoitin komennon <cat access.log>, jolla pääsee lukemaan apache2 lokitietoja.404 testi kuva 5.png

127.0.0.1 – – [10/Sep/2017:13:12:49 +0000] “GET /~xubuntu/ HTTP/1.1” 200 326 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”
127.0.0.1 – – [10/Sep/2017:13:14:52 +0000] “GET /~xubuntu/ HTTP/1.1” 304 180 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”
127.0.0.1 – – [10/Sep/2017:13:15:50 +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”

Poimin nämä kolme riviä lokia. Niissä esiintyy kolme http statuskoodia 304, 200 ja 404.

Analysoin tuota viimeistä eli 404.

127.0.0.1 on se ip, josta haku tehdään.

[10/Sep/2017:13:15:50 +0000] Tässä on päivämäärä, kellonaika ja +0000 aikavyöhyke. Tieto luodaan heti kun sivulle haetaan eli kun kirjoitin firefoxin hakuun “localhost/~xubuntu/testi”.

“GET /~xubuntu/testi HTTP/1.1″ 404 504 ” Palvelin haki resurssin ~xubuntu ja käytti siihen protokollaa HTTP/1.1. Tuo 404 on statuskoodi ja tässä tapauksessa virhe, page not found. 504 on palvelimen lähettämän vastauksen koko bitteinä.

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

Menin komennolla <cd /home/xubuntu/public_html> kansioon missä sijaitsee index.html tekstitiedosto. Kirjoitin tekstitiedostoon komennolla <nano index.html>. Kirjoitin tämän koodin tekstitiedostoon ja painoin ctrl-x, y ja enter.

koodia.png

Weppiohjelma oli hyvin yksinkertainen heikon ohjelmointiosaamiseni takia mutta se toimi. bmi laskuri.png

 

Lähteet:

http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op – Kurssin tehtävät ja info löytyvät täältä.

https://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html – tietoa http protokollasta ja status koodeista.

https://httpd.apache.org/docs/current/vhosts/examples.html – tietoa apache2 virtual hostista

https://www.digitalocean.com/community/tutorials/how-to-set-up-apache-virtual-hosts-on-ubuntu-14-04-lts – lisää tietoa apache2 virtual hostista

https://stackoverflow.com/questions/19467837/change-default-page-apache2-ubuntu – miten muuttaa apache2 default page

https://httpd.apache.org/docs/2.4/howto/public_html.html – tietoa userdir komennoista.

http://terokarvinen.com/2009/command-line-basics-4 – yksinkertaisia komentoja mitä käytin tehtävän aikana

http://terokarvinen.com/2008/commands-for-admin-4 – lisää yksinkertaisia komentoja

Advertisements

One thought on “H3 Linux Palvelimet

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