Ensikosketus Apacheen

Ensikosketus Apacheen - Viikkotehtävä 3

TLDR (Too Long Didn’t Read)

Tämän viikon tehtävissä asensin onnistuneesti Apache2 webbipalvelimen, loin käyttäjälle oman kotisivun, aiheutin useita http status koodeja lokiin ja analysoin niitä, sekä muutin apachen oletussivun muokattavaksi käyttäjän kotihakemistosta käsin ilman pääkäyttäjän oikeuksia

Apache 2 käyttöönotto - Tehtävä a

Ensimmäisenä tehtävänä oli asentaa Apache2 sekä laittaa käyttäjän kotisivu toimimaan osoitteeseen localhost/~käytäjän_nimi. Apachen asennus onnistuu komennolla sudo apt-get -y install apache2. Tarkistin lähtikö Apache toimimaan välittömästi asennuksen jälkeen ja vastassani oli ilmoitus firefoxilta, ettei se pysty luomaan yhteyttä localhostiin.

ConnectionError

Apache täytyi manuaalisesti käynnistää asennuksen jälkeen. Tämä tapahtui komennolla sudo systemctl start apache2. Tämän jälkeen sain Apachen aloitussivun näkyviin.

Apache Default

Seuraavaksi täytyi antaa käyttäjille oikeus luoda verkkosivuja, jotka näkyvät apachen avulla. Tämän ominaisuuden saa päälle ajamalla sudo a2enmod userdir komennon.

a2enmod

Terminaalissa näkyvästä ohjeesta poiketen tulee ajaa sudo systemctl restart apache2 jotta muutokset saadaan voimaan. Seuraavaksi loin käyttäjäni kotihakemistoon public_html kansion ja sen sisään index.html tiedoston. Index.html tiedoston sisältö tulee näkyviin localhost/~käyttäjän_nimi osoitteeseen.

Makedir

Hellouserpage

HTTP pyyntöjen statukset - Tehtävät b ja i

Seuraavana tehtävänä oli aiheuttaa apachen lokiin 200 (success) ja 404 (not found) statukset http pyynnölle. 404 pyynnön sain lokiin aikaiseksi yrittämällä avata käyttäjän nimellä sivuja ennen, kuin ne oli luotu ja uudelleen myöhemmin tekemällä kirjoitusvirheen käyttäjän nimessä. 200 statuksen sai aikaiseksi onnistuneella sivun latauksella.

Status

Riveiltä näemme http pyynnön tyypin joka on jokaisessa näistä tapauksista GET. Tämän jälkeen näemme endpointin johon GET pyyntö kohdistui. HTTP/1.1 tekstin jälkeen seuraava numero on http pyynnön status. Listasta löytyi myös status 304 (not modified). Mikäli ymmärsin MDN web docsin sivua oikein tämä kertoo sivun latauksen tapahtuneen selaimen välimuistista sen sijaan, että palvelin lähettäisi kaiken tiedon uudestaan selaimelle.

Status2

403 (forbidden) statuksen sain aikaiseksi muuttamalla index.html tiedoston käyttöoikeuksia siten, ettei kenelläkään ole luku tai kirjoitusoikeuksia tiedostoon. Tämä tapahtui chmod 000 index.html komennolla. Tiedoston käyttöoikeudet sai takaisin oletuksiin chmod 644 index.html komennolla.

Apachen oletussivun muuttaminen kotihakemistosta käsin - Tehtävät h ja m

Seuraavassa tehtävässä piti muuttaa apachen oletussivu sellaiseksi, jota pystyy käyttäjän kotihakemistosta muokkaamaan ilman pääkäyttäjän oikeuksia (m). Toisena tehtävänä oli luoda uusi sivu joka korvaa Apachen oletussivun (h).

Aloitin vaihtamalla olemassa olevan index.html tiedoston nimen käyttäjän nimeksi. Komennolla mv index.html toni.html tämä onnistui silmänräpäyksessä. Seuraavaksi loin uuden index.html tiedoston samaan kansioon joka toimii uutena oletussivuna.

NewDefault

Seuraavaksi muokkasin /etc/apache2/sites-available/000-default.conf tiedostoa. Tiedoston sisällä kommentoin alkuperäisen DocumentRoot /var/www/html pois käytöstä ja lisäsin sen alle DocumentRoot /home/toni/public_html rivin.

DefaultConf

Tiedoston tallentamisen jälkeen sudo systemctl restart apache2 käynnistin apachen uudelleen ja localhost osoitteessa oli vastassa uusi aloitussivuni.

NewDefaultPage

Linkkejä

MDN Web Docs lista HTTP status koodeista
Kurssin materiaalit
Tätä dokumenttia saa kopioida ja muokata GNU General Public License v3 mukaisesti https://www.gnu.org/licenses/gpl-3.0.en.html