h3

Tehtävänkuvaus

Tee viisi vapaavalintaista kohtaa. Säädä vaikeustaso oikeaksi: jos olet ihan alussa ja tämä on haastavaa, tee helpoimmat a b d i m. Jos osaat jo perusteet, tee useampia tai vaikeampia kohtia. Tarkoitus on, että tehtävät tehtyäsi osaat enemmän kuin osasit ennen. Tee tehtävät alusta lähtien koneella, vaikka olisitkin kokeillut samaa asiaa tunnilla.

Laitteisto

  • Kannettava tietokone: Lenovo v320-17ikb
  • Muistitikku: DT50 32gb

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla.

Klo 9:46

Käynnistitin Xubuntun live-tikulta try-moodiin.

Päivin paketit ja asensin Apachen.

  • sudo apt-get update
  • sudo apt-get install -y apache2

Laitoin palomuurin toimintaan ja sallin tcp liikenteen portista 80 jotta pystyn testaamaan Apachen sivuja.

  • sudo ufw enable
  • sudo ufw allow 80/tcp

Aktivoin userdir moduulin Apachessa ja käynnistin Apache demonin uudelleen. Userdir moduuli sallii jokaiselle käyttäjälle omat kotisivuhakemistot public_html kansion avulla omassa kotihakemistossa.

  • sudo a2enmod userdir
  • sudo systemlctl restart apache2

Loin public_html kansion käyttäjän xubuntu kotikansioon ja lisäsin tänne html sivun joka toimii oletussivuna käyttäjän kotisivuille.

  • mkdir /home/xubuntu/public_html
  • echo ”xubuntu user page”|sudo tee /home/xubuntu/public_html/index.html

Menin selaimessa sivulle localhost/~xubuntu ja sivu latautui luomalleni index filulle.

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.

Klo 9:56

Jatkoin tehtävää suoraan A:sta ja suoritin kolme erilaista toimintoa.

Menin sivustolle localhost/~xubuntu. Tutkiin tämän jälkeen tail /var/log/apache2/access.log komennolla lokia.

127.0.0.1 – – [09/Feb/2020:08:02:07 +0000] ”GET /~xubuntu/ HTTP/1.1” 200 655 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0”

Rivin tarina:
127.0.0.1 – ; Remote host, Missä tapahtui, palvelin siis.
09/Feb/2020:08:02:07 +0000] – Timestamp ja aikavyöhyke
”GET /~xubuntu/ HTTP/1.1” Suoritettu pyyntö, tässä tapauksessa index.html:n haku
ja protokollalla http/1.1
200 655 – http pyynnön statuskoodi, onnistunut tässä tapauksessa. 655 on vastauksen tavukoko.
”-” – Ei tietoa
”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0” Metadataa requestista, mitä käyttöjärjestelmää ja selainta käytetty.

Menin sivustolle localhost/asdf toivoen herjaa puuttuvasta sivustosta. Tutkiin tämän jälkeen tail /var/log/apache2/access.log komennolla lokia.

127.0.0.1 – – [09/Feb/2020:08:14:09 +0000] ”GET / HTTP/1.1” 404 488 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0”

127.0.0.1 – ;Remote host, Missä tapahtui, palvelin siis.
[09/Feb/2020:08:14:09 +0000] – Timestamp ja aikavyöhyke
”GET /~xubuntu/ HTTP/1.1” Suoritettu pyyntö, asdf.html tai asdf kansion haku protokollalla http/1.1
” 404 488 ” – 404 herja, sivustoa ei löytynyt. ja 488 vastauksen tavukoko.
”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0” Metadataa requestista, mitä käyttöjärjestelmää ja selainta käytetty.

Tehtävässä m tuli vastaan 403 ja rivi on analysoitu siellä.

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

Klo 10:06

Avasin sudoeditillä tiedoston /ect/apache2/000-default.conf ja muokkasin DocumentRoot variablen arvoa /var/www/html -> /var/www/htmlasd

Suoritin komennon sudo systemlctl restart apache2 ja menin localhostin sivulle. Sivu antoi 404 not found errorin selaimessa.

Suoritin komennon apach2ctl configtest, ohessa rivien analysointi.

AH00112: Warning: DocumentRoot [/var/www/htmlasd] does not exist
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ’ServerName’ directive globally to suppress this message
Syntax OK

AH00112: Warning: DocumentRoot [/var/www/htmlasd] does not exist – Tämä tarkoittaa että kansiota ei ole olemassa. Tämä ei ota kuitenkaan kantaa kansion sisältöön.
AH00558: apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1. Set the ’ServerName’ directive globally to suppress this message Virhe kertoo että ei voi luotettavasti päätellä serverin domain nimeä pelkän ip:n avulla. ServerNamen asettaminen ilmeisesti sitten auttaa päättelmään ja virhe kertoo että ServerName asetuksen lisääminen poistaa varoituksen. Tämä lisäys suoritettiin tehtävässä M.

m) Vaihda Apachen oletussivu. Eli laita palvelimen etusivulla (ilman tildeä) näkyvä sivu niin, että alkuperäinen on jonkun käyttäjän kotihakemistossa ja voit muokata sitä ilman pääkäyttäjän oikeuksia.

Klo 10:17

Alkuun ajatuksia: En huomaa M ja H tehtävien välillä mitään eroa, ellei h) kohdassa mainittu ”sivu” tarkoitua .confi tiedostoja sites-available kansion alla? Jos tarkoittaa niin nimeäminen ja termit ovat vähän sekoittavia. Enivei, harjoituksen vuoksi nyt tein sen kuitenkin kopioimalla 000-default.confin uuteen tiedostoon ja a2dissiteemällä vanhan sivun sekä muokkaamalla documentroottia osoittamaan public_htmlja sitten a2ensite uusisivu . Tämän jälkeen restarttasin apache2. Homma toimi ja tämä kuvaus on nyt epätarkka koska en siis tarkoituksella tehnyt tehtävää h, elikkä takaisin tehtävään M.

Avasin sudoeditillä /etc/apache2/sites-available/000-default.confin

Vaihdoin DocumentRootin arvon /var/www/html -> /home/xubuntu/harjoitusm , tallensin ja loin uuden kansion komennolla mkdir /home/xubuntu/harjoitusm ja tänne uuden tiedoston index.html komennolla nano /home/xubuntu/harjoitusm/index.html . Nyt kansio viittaa käyttäjän kotihakemistoon.

Boottasin demonin sudo systemlctl restart apache2:lla.

Avasin localhostin ja sain 403 fordbidden herjan selaimessa. Ohessa access.login rivi ja analysointi tehtävää b) varten,

127.0.0.1 – – [09/Feb/2020:08:21:30 +0000] ”GET / HTTP/1.1” 403 491 ”-” ”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0”

127.0.0.1 – ;Missä tapahtui, palvelin siis.
[09/Feb/2020:08:21:30 +0000] – Timestamp
”GET /~xubuntu/ HTTP/1.1” Suoritettu pyyntö, asdf.html tai asdf kansion haku
” 403 491 ” – 403 herja, tarkoittaa että pääsy kielletty. Tämä symtyi siitä kun käyttäjällä ei ollut lupaa kansioon.
”Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:68.0) Gecko/20100101 Firefox/68.0” Metadataa requestista, mitä käyttöjärjestelmää ja selainta käytetty.

Koska aikaisemmasta kävi ilmi että käyttöoikeudet eivät riittäneet niin muokkasin sudoeditillä /etc/apache2/sites-available/000-default.conf tiedostoa ja lisäsin tänne uuden asetuksen.

  • <Directory ”/home/xubuntu/harjoitusm/”>
    • require all granted
  • </Directory>

Boottasin demonin sudo systemlctl restart apache2:lla ja menin localhostiin. Sivu näkyi. Avasin /home/xubuntu/harjoitusm/index.html tiedoston komennolla nano /home/xubuntu/harjoitusm/index.html ja lisäsin pari riviä tekstiä jotta muutokset näkyisivät. Tallensin tiedoston ja refreshasin localhostin selaimessa. Muutokset näkyivät ja muutosten tekeminen onnistui ilman sudoa.

n) Laita kaksi nimeä samaan IP-osoitteeseen. Voit simuloida nimipalvelun toimintaa /etc/hosts -tiedoston avulla. Eli niin, että samalla palvelimella osoitteella teronlenkkisivu.com tulee eri sisältö kuin osoitteella opipentest.com.

Klo 12:26

Käynnistitin Xubuntun live-tikulta try-moodiin.

Päivin paketit ja asensin Apachen.

  • sudo apt-get update
  • sudo apt-get install -y apache2

Laitoin palomuurin toimintaan ja sallin tcp liikenteen portista 80 jotta pystyn testaamaan Apachen sivuja.

  • sudo ufw enable
  • sudo ufw allow 80/tcp

Loin kaksi uutta tiedostoa /etc/apache2/available-sites kansioon, tiedostot sivu1.com.conf ja sivu2.com.conf

<VirtualHost *:80>

	ServerName sivu1.com
	ServerAdmin webmaster@localhost
	DocumentRoot "/home/xubuntu/sivu1/"
	
	<Directory "/home/xubuntu/sivu1/">
		require all granted
	</Directory>

</VirtualHost>

<VirtualHost *:80>

	ServerName sivu2.com
	ServerAdmin webmaster@localhost
	DocumentRoot "/home/xubuntu/sivu2/"
	
	<Directory "/home/xubuntu/sivu2/">
		require all granted
	</Directory>

</VirtualHost>

Suoritin komennon sudoedit /etc/hosts ja lisäsin kaksi riviä

  • 127.0.0.1 sivu1.com
  • 127.0.0.1 sivu2.com

Ajoin komennot sudo a2ensite sivu1.com.conf ja sudo a2ensite sivu2.com.conf jotta nämä sivut lisättäisiin tarjoiltavien sivujen joukkoon.

Ajoin komennon sudo systemctl restart apache2 ja avasin selaimessa sivut sivu1.com ja sivu2.com . Molemmat sivut näyttivät eri sisällöt.

Jätä kommentti

Design a site like this with WordPress.com
Aloitus