Harjoitus 3 Apachen asentaminen

Tehtävänanto:

Tämä h2 tehtävä on päivitetty siten, että voit ratkoa tehtäviä valintasi mukaan LAMP:illa, Python Flask + Postgrella tai jollain muulla valitsemallasi kehikolla. Helppoja rivi tiistaina opetetuilla aiheilla voisi olla esim a-b-i tai a-b-h. Ja guruille tässä on paljon haastavia vapaaehtoisia tehtäviä.

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

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

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

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

e) Asenna ja kokeile PhpMyAdmin:a tai jotain muuta valmista weppiliittymää tietokantojen hallinnointiin.

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

g) Tee palvelimella ajettava weppiohjelma, joka käyttää tietokantaa. Voit tehdä jonkin yksinkertaisen CRUD-ohjelman, esimerkiksi TODO-listan

h) Tee Apachelle uusi sivu, joka näkyy suoraan palvelimen pääsivulla, mutta jonka sivuja voi muokata normaalin käyttäjän oikeuksilla (name based virtual host, DocumentRoot käyttäjän kotihakemistoon).

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

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

k) Kokeile jotain Flaskin uutta ominaisuutta flask-testipalvelimessa. Voit kokeilla esim. muotteja (templates), tietokantaa tai syötteiden ottamista lomakkeilta (forms).

l) Asenna Python Flask + PostgreSQL + Apache mod WSGI. Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (vaikea)

Vastaukset:

a) Aloitan tehtävien tekemisen maanantaina 11.9.2017 noin kello 08:00.  Käynnistän Lenovon-kannettavani aikaisempien harjoitusten ohjeiden perusteella. Koneeseen on valmiiksi asennettu Xubuntu, joka käynnistyy ongelmitta. Ajan heti alkuun terminaalissa komennon sudo apt-get update joka päivittää ohjelmiston viimeisimpään versioon. Tämän jälkeen komennolla sudo apt-get -y install apache2 asennan tietokoneelle apache paketin. Paketin asentumisessa menee muutama minuutti. Asennuksen valmistumisen jälkeen testaan paketin toimivuuden käynnistämällä Firefox nettiselaimen ja kirjoittamalla osoiteriville localhost. Aukeaa seuraava sivu, joka osoittaa, että apache toimii ja on käynnissä:

Screenshot_2017-09-11_14-24-01

Tämän jälkeen palaan komennolla cd juurihakemiston alkuun. Tarkistan komennolla pwd, että olen varmasti käyttäjän omassa kansiossa. Komennolla mkdir public_html luon käyttäjälle uuden kansion, jonka jälkeen komennolla sudo a2enmod userdir tämä kansio aktivoidaan apachen käytettäväksi. Tämän jälkeen kirjoitan jälleen Firefoxin osoiteriville localhost/~joni ja aukeaa seuraava sivu:

Screenshot_2017-09-11_14-23-50

Tämä kuva osoittaa apache2:n toimivan oikein.

b) Avaan apache2 acces log tiedoston kymmenen viimeistä riviä:

Screenshot_2017-09-11_14-45-16

Aluksi logeissa näkyy 404 virhekoodi osoitteelle jota ei oltu vielä luotu, ennen mkdir public_html komentoa, joten kyseiselle sivulle ei siksi voitukaan päästä. Kun tämä tiedostokansio luotiin, saadaan aiheutettua 200-merkintä, joka tarkoittaa onnistunutta tapahtumaa.

 

Lähteet:

Tehtävänanto: http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

Raportointiohje: http://terokarvinen.com/2006/raportin-kirjoittaminen-4

Xubuntun komennoista: https://www.howtogeek.com/63997/how-to-install-programs-in-ubuntu-in-the-command-line/

 

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