Apache 2 asennus xubuntulle
Sain kotitehtäväksi asentaa Apache 2 -verkkopalvelimen kotikoneelleni sekä testata yhteydenottoa “Demoniin” (verkkopalvelua tarjoava ohjelma, joka esittää esimerkiksi omat kotisivut asiakaskoneelle heti pyynnön saavuttua. Tässä tapauksessa demoni on Apache). Yhteydenotto suoritetaan silmukoimalla, eli verkkokortista luodaan virtuaalinen haamuversio joka sitten toimii asiakaskoneena. Todellisuudessa datayhteys tekee vain lenkin verkkokortin kautta.
Lisäksi minun tuli tehdä normaali sivunlataus, sekä tahallisesti suoritettu “sivua ei löydy” -lataus, jotta molemmista tulee merkinnät lokiin. Nämä merkinnät minun tuli sitten löytää Apachen lokihakemistosta /var/log/Apache2/.
Lisäksi minun tuli testata Telnet-yhteyden muodostamista Demoniin ja kokeilla mitä tapahtuu.
Aloitetaan
4.9.2012
21:01 Apache-asennus
Suoritin Apache2 asennuksen komentokehotteen kautta samalla tavalla kuin minkä tahansa muunkin ohjelman asennuksen, eli komennolla
$ sudo apt-get install apache2
21:05 Silmukointi
kun apache2 asentui koneelleni, halusin testata sitä silmukoinnilla, eli avataan nettiselain (esim. Firefox) ja kirjoitetaan sinne osoite http://localhost, terminaalista pääsee suoraan komennolla
$ firefox “http://localhost”
Seuraavan tekstin pitäisi ilmestyä mikäli kaikki on kunnossa:
It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.
Selaimellani kyseinen teksti ilmestyi eli kaikki kunnossa ja asennus onnistui!
21:10 IP-osoitteen selvittäminen
Seuraavaksi halusin tietää demonin IP-osoitteen, eli osoitteen, jolla joku muu kone pystyy vierailemaan palvelimellani. Se selviää komennolla
$ ip addr
komento toi kolme eri yhteyttä, jotka on kytkettynä koneeseeni, eli
- lo – tarkoittaa silmukointia, eli tämän kautta verkkokortti ottaa yhteyttä omaan koneeseen
- eth0 – ethernet-paikka 0 eli modeemin ja koneen välille tuleva ethernet-kaapeli
- wlan0 – langaton verkko
itselläni ainoastaan wlan0 antoi toimivan IP-osoitteen kohdassa inet
Ote terminaalista:
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
link/ether c4:17:fe:82:39:cd brd ff:ff:ff:ff:ff:ff
inet XXX.XXX.X.XX/24 brd 192.168.1.255 scope global wlan0
inet6 fe80::c617:feff:fe82:39cd/64 scope link
valid_lft forever preferred_lft forever
tässä tapauksessa oman koneeni apachen IP-osoite on XXX.XXX.X.XX.
IP-osoitteen voi testata selaimella samaan tapaan kuin aiemmin testasin localhost-osoitetta syöttämällä osoitteen muodossa http://XXX.XXX.X.XX/
21:25 Moduulin käyttöönotto
seuraavaksi halusin luoda pienen testisivun joka näkyisi selaimella.
Ensimmäiseksi pitää käynnistää apache2:n moduuli, joka hakee käyttäjähakemistosta oletussivua muodossa index.html esim. /home/xubuntu/public_html/index.html
loin public_html -kansion menemällä ensin home-kansioon komennolla
$ cd
seuraavaksi loin kansion komennolla
$ mkdir public_html
käynnistin vielä moduulin komennolla
$ sudo a2enmod userdir $ sudo /etc/init.d/apache2 restart
21:31 Kotisivun avaaminen selaimella
kokeilin public_html – kansion selaamista selaimella osoitteessa http://XXX.XXX.X.XX/~(käyttäjä)/ ilman sulkuja.
Ilmoitukseksi tuli
Not Found error 404
tämä meni oikein sillä moduuli oletuksena etsi avattavaa index.html -tiedostoa, jota ei ole vielä luotu. Näin sain samalla kirjattua Apache2-lokiin epäonnistuneen latauksen, kuten tehtävänannossa pyydettiin.
21:39 Index.html tiedoston luominen
loin index.html -tiedoston, joka ajetaan moduulin kautta.
Yksinkertainen html-sivu voi olla testimielessä muotoa
<html>
<body>
<p> moi </p>
</body>
</html>
nyt selain näytti sivulla http://XXX.XXX.X.XX/~(käyttäjä)/ sivun, jossa luki
moi
samalla lokiin kirjattiin onnistunut sivun avaus, kuten tehtävänannossa haluttiin.
21:51 Apache-loki
avaan Apachen lokin tutkimista varten menemällä kansioon
$ cd /var/log/apache2/
avaan access.log -tiedoston nanolla:
$ nano access.log
Lokissa löytyy yhteydenottotiedot asiakkaalta, joten poimin kaksi viimeisintä riviä:
192.168.1.67 – – [05/Sep/2012:05:46:29 +0300] ”GET /krister/ HTTP/1.1” 404 501 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0”
192.168.1.67 – – [05/Sep/2012:05:47:51 +0300] ”GET /~krister/ HTTP/1.1” 200 387 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:11.0) Gecko/20100101 Firefox/11.0”
ensimmäisellä rivillä löytyi numero 404, mikä tarkoittaa että moduulilta on pyydetty username-kansiosta index.html nimistä sivua, mutta sitä ei ole löytynyt.
Toisella rivillä löytyi samasta kohdasta numero 200 mikä tarkoittaa että pyydetty sivu löytyi ja avautui onnistuneesti
molemmilla riveillä ilmoitusnumeron edessä oleva 1.1 viittasi siihen että sivua haettiin nimenomaan html 1.1 muodossa. Sitä aiempi päiväys kertoo tarkalleen milloin sivua on yritetty hakea ja lopusta löytyvä Firefox/11.0 kertoi selaimen tiedot aina versionumerointiin asti.
22.06 Telnet-yhteys
Otan yhteyden demoniin käyttäen telnet-yhteyttä komennolla
$ telnet localhost 80
kirjoitin kokeilumielessä sanan “moi”, tulos oli:
<!DOCTYPE HTML PUBLIC ”-//IETF//DTD HTML 2.0//EN”>
<html><head>
<title>501 Method Not Implemented</title>
</head><body>
<h1>Method Not Implemented</h1>
<p>moi to /index.html not supported.<br />
</p>
<hr>
<address>Apache/2.2.22 (Ubuntu) Server at 127.0.1.1 Port 80</address>
</body></html>
Connection closed by foreign host.
Telnet-yhteydellä yritin siis kirjoittaa komentoja suoraan index.html-sivulle, joka ei sitä lainkaan tukenut, näinollen isäntä eli demoni sulki yhteyden.
Lähde:
http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4
GNU Free Documentation License
Version 1.3, 3 November 2008
Copyright © 2000, 2001, 2002, 2007, 2008 Free Software Foundation, Inc. <http://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.