Apache – maailman suosituin palvelinohjelma

Tero Karvisen Työasemat ja tietoverkot -kurssilla oli vuorossa Apachen asennus ja tutustuminen. Apacheen en ollut aikaisemmin tutustunut, mutta oppitunnin jälkeen sen helppokäyttöisyys sai jopa pienen hymyn huulille.

Artikkelissa on käytetty samaa ASUS -kannettavaa kuin aikaisemmissakin. Asennuksen ajankohta oli maanantai 3. syyskuuta 2012 kello 21.10 – 23.00.

Artikkelissa kaikki esimerkki -sanat komentopäätteessä on oman koneenne nimen tilalla. Älkää ikinä asentako oman koneenne nimeksi esimerkkiä tai muuta yhtä mielikuvituksetonta, ja muistakaa hyvät,hankalasti arvattavat salasanat!

Apachen asennus

Asennuksen aloitin päivittämällä pakettivarastot ja sitten asentamalla paketin apache2.

$ sudo apt-get update
$ sudo apt-get install apache2

Asennuksen aikana kysyessä levytilan muutoksesta vastasin kyllä “y“.

Apachen testikäyttöä

Asennuksen jälkeen kokeilin toimivuutta. Localhost on testi sivu missä näkee toimiiko sivu. Käynnistin Firefox -selaimen ja kirjoitin osoitekenttään localhost ja onnistuneesta asennuksesta merkkinä oli “It works!This is the default web page for this server.The web server software is running but no content has been added, yet.” -viesti. Testien suorittaminen suositeltavaa jokaisen muutoksen jälkeen, ettei vahingossa käy niin että kahden tunnin työ menee hukkaa yhden virheen takia.

Jotta voin kertoa kavereilleni palvelimestani, selvitin komennon ifconfigavulla oman ip-osoitteeni. Ip-osoitteen kirjoittaessa siis pääsee samalle sivulle.

Julkisen kansion teko ja sen määrittäminen käyttöön

Kaikki tiedostot public_html –kansiossa kotihakemistossa näkyvät internettiin. Joten teemme kansion kotihakemistoon ja määritämme sen apachen käyttöön. Ensin määritetään ja sen jälkeen käynnistetään palvelin uudestaan, jotta muutokset tulevat voimaan:

$ sudo a2enmod userdir
$ sudo service apache2 restart

Varmistin seuraavaksi pwd-komennolla, että olen kotihakemistossa. Jos ei ole niin kotihakemistoon pääsee tutulla cd-komennolla. Sitten tein kansion public_html ,alaviivaa ei saa unohtaa.

$ mkdir public_html

Seuraavaksi yritin päästä kansiooni selaimen kautta kirjoittaen käyttäjätunnukseni localhostin perään näin localhost/~esimerkki/. Sivu ilmoitti että 403 Forbidden error. Tämä ilmoitus tuli sen takia, koska minulla onkin kryptattu kotihakemisto en päässyt sivuille. Joten ei muuta kuin käyttöoikeuksia muuttamaan.

Käyttöoikeuksien muuttaminen

Käyttöoikeudet tarkistetaan ls -l-komennolla, ja koska on tarkoitus vain vaihtaa public_html -kansion käyttöoikeuksia, kirjoitin näin:

Ensin mennään public_html -kansioon,katsotaan oikeudet ja muutetaan niitä.

$ cd public_html
~:public_html$ ls -l
total 12
-rw-rw-r-- 1 esimerkki esimerkki 38 Sep  3 21:39 index.html

Tulosteesta huomasin, ettei käyttöoikeudet olleet oikein,joten muutin viimeisen väliviivan tilalle ajokomennon x komennolla:

$chmod ugo+x /home/esimerkki /home/esimerkki/public_html

Tämän jälkeen kun yritin samalla sivulle kuin hetki sitten, pääsin onnistuneesti sivulle.

Etusivun luonti

Jotta localhost/~esimerkki -sivustolle mentäessä näkisin jonkinlaisen sivun, tein public_html -kansioon tekstitiedoston. Ensin siis public_html -kansioon ja sitten tekstitiedoston luominen, jonka nimeksi annoin index.html.

$ cd public_html
:~public_html$ nano index.html

Kirjoitin tiedostoon “Hei maailma!”  ja painoin ctrl+x ja tallensin tiedoston. Avasin selaimen ja sivu toimi hienosti.

Apachen lokitiedosto

Apachen lokitiedostot sijaiset /var/log/apache2/ –kansiossa. Access.log -loki kertoo nimensä mukaan onnistuneet yhdistykset ja error.log -loki puolestaan epäonnistuneet. Esimerkkinä epäonnistuneesta lokitiedosta on tässä artikkelissa mainittu virheilmoitus 403 Forbidden error. Lokitiedoissa lukee selvästi että pääsy evätty (Permission denied). Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

[Mon Sep 03 21:46:37 2012] [error] [client 127.0.0.1] (13)Permission denied: access to /~esimerkki/ denied

Onnistuneesta lokitiedosta voidaan ottaa huomioon vaikka käyttöoikeuksien muuttamisen jälkeinen lokitieto /var/log/apache2/access.log -lokista.Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

127.0.0.1 - - [03/Sep/2012:22:01:31 +0300] "GET /~antti-ville/ HTTP/1.1" 200 394 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0"

Telnet

Otin Telnetillä yhteyden Apachiin komennolla:

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Tämän jälkeen on mahdollisuus kirjotella kaikenlaista turhaa, mutta myös mahdollisuus ottaa yhteys vaikka omiin sivuihin, jotka tein tämän artikkelin aikana.

esimerkki@xubuntu:~$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /~esimerkki/index.html
Hei maailma!
Connection closed by foreign host.
esimerkki@xubuntu:~$

Eli komento näytti mitä tiedostossa luki. Näistä tuli lokitiedostoihin merkintä onnistuneesta yhdistyksestä.

127.0.0.1 - - [03/Sep/2012:22:18:43 +0300] "GET /~esimerkki/index.html" 200 13 "-" "-"

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

Telnet, Wikipedia http://en.wikipedia.org/wiki/Telnet

– Jokela Antti-Ville

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Leave a comment