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.
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.
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.
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.
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.
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.
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.
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.
Tiedoston tallentamisen jälkeen sudo systemctl restart apache2
käynnistin apachen uudelleen ja localhost
osoitteessa oli vastassa uusi aloitussivuni.
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