All Posts

Homework 3. Apache2 homepage and bugs

Tehtävänanto on kopioitu Tero Karvisen sivulta:
http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

a) Asenna Apache, laita käyttäjien kotisivut.

Asennettu jo. Mutta lyhyesti asentamisesta:

Asennetaan apache2

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

Avataan browserissa localhost tai serverin ip address (komennolla katsotaan oma ip terminaalin kautta: ip addr), niin avautuu serverin etusivu.

Kun tarkistettiin, että serveri toimii siirretään etenpäin.
Komennolla otetaan käyttöön userdir modulin:

$ sudo a2enmod userdir

sudo systemctl restart apache2

ja käynistetään uudelleen apache2, että muutokset tulisi voimaan.

$ sudo service apache2 restart

Luodaan public_html kansio, johon tallenetaan kaikki meidän tulevat websivut, jotka voidaan sitten avata webpalvelimen kautta. Ensin tarkistetaan, että ollaan /home/username directory:ssa!!!

$ mkdir public_html

Siihen luodaan index.html nanon kautta.

nano index.html

Kirjoitetaan “kaunis” websivu.

h3 etusivu1.png

Avataan sen web browserissa:

http://localhost/~exampleusername/index.html

h3 etusivu2.png

b) Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta.

Mennään logeihin.
h3 apache2 log.png
avasin access.log tiedoston. komennolla tail -F log tiedosto päivittyy realtime moodissa.
h3 tail-F.png
avasin http://localhost/~s174rd/index.html ja sain heti vastauksen logeihin, että kaikki on hyvin. HTTP 200 koodi tarkoittaa, että kaikki on OK.

h3 log1.png

Kun hain sellaisen websivun, joka ei ole olemassaminun apache2 webserverilla: http://localhost/~s174rd/give_me_some_money_please Niin sain 404 Page not found virheen.
h3 log2.png

c) Tee virhe weppipalvelimella ajettavaan koodiin (esim PHP tai Python), etsi se lokista ja analysoi tuo lokirivi.

Kopioin sellaisen php koodin jostain Tero Karvisen ohjeista. Se toimii hyvin.
h3 c php code.png
Mutta kun mennään /var/log/apache2
avataan tail -F error.log
ja päivitetään websivu http://localhost/~s174rd/action.php mihin on tallennettu se koodi.
Niin loggeihin tulee virhe:

h3 php log error.png
Mikä tarkoittaa, että koodissa rivillä 8 on määrittelemäton indeksi ‘age‘.
Virhen en osannut korjata, php ei oo tuttu, netissä en löytänyt vastausta.

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

Eli kokeilin tota komentoa ‘apache2ctl configtest’. Se ei toiminnut.
Sain heti ohjeet kun tuli error viesti:
h3 apche2 config 1.png
Sain viestin errorista myös error.log.1 kautta.
Apache2 error.log.png

Avasin komennolla sudo nano apache2.conf ja lisäsin ServerName tiedot.

h3 apache config 2.png
Komennon apache2ctl configtest jälkeen virhe(huomioitus) hävisi.

f) Tee palvelimella ajettava weppiohjelma, joka tekee käyttäjälle jonkin yksinkertaisen laskun.

Löysin php:lla tehty laskin.
h3 php laskin.png
Toimi hyvin, mutta ruma. Poistin tämän kokeilun jälkeen.

h3 laskin.png

Homework 2. syslog and terminal software

Tehtävänanto on kopioitu Tero Karvisen sivulta:
http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

Korjattu versio! Screenshotit on vanhat. Oli muutama kommenti virhe.

a) Onnistunut tapahtuma syslog:ssa

Syslog tiedoston avasin komennolla:  tail -F /var/log/syslog
tai
less /var/log/syslog

eli “less” on ohjelma, jonka avulla voidaan avata ja tutkia teksti tiedostot terminalin kautta, ei kuitenkaan saa muokata tietoja.

“tail” on utility, joka näyttää (default ominaisuus) 10 viimeistä riviä teksti tiedostosta.

“-F” komennolla me annetaan järjestelmälle käskyn esittää kaikki uudet tapahtumat, mitkä tulee syslog tiedostoon.

/var/log/syslog on paikka ja tiedosto minkä me haetaan. “var” ja “log” ovat kansiot. “syslog” on teksti tiedosto.

Syslog print h2.png

Epäonnistunut tapahtuma syslog:ssa

Olen epäonnistunut tässä tehtävässä… ei tullut mitään mieleen joka voisi tehdä virhen syslog:in.

c) Asensin “sudo apt-get install” komennolla Virtualbox ohjelman. Se on tosi kätevä esim. jos tarvitse testailla jonkun käyttäjä järjestelmän, ohjelman tai komennon ilman, että oma järjestelmä saisi tuhoa siitä. Huonot puolet: vähän laginen.

h2 virtualbox.png

d) Asenna kolme ohjelma, jotka toimii terminalissa. Kokeile käyttötarkoituksessa.

  1.  Nano: text editor, toimii terminalissa komennolla “nano”
    Käytetään teksti tiedostojen luomiseen ja muokkamiseen.
    Luodaan text123.txt tiedoston ja avataan samalla nano:ssa
    Screenshot from 2018-09-05 20-52-57
    Kirjoitetaan teksti ja tallennetaan: Ctrl – X -> Y -> annetaan nimi ->Enter
  2. htop: Se on interaktiivinen prosessiseuranta ohjelma.
    Asennus:
    htop installOhjelman avulla voi seurata ja hallita kaikki prosessit. Tosi kiva näköinen, kannatta tutustua.
    Screenshot from 2018-09-05 21-16-41.png
    Kuvasta nähdään, että meillä on käynissä ohjelma “htop” rivillä 7. Eli tämä ohjelma.
    Painamalla “k” tai F9 voidaan lopettaa prosessi.
    F1 antaa kaikki ohjelman komennot ja ohjeet.
    Nuolit voi käyttää skrollauksessa sekä ylös-alas, että sivuun, mikä on kätevä.Setup C, S tai F2 voi muokata htop ohjelman, esim laajentamalla tietoja.
    Painetaan F2, valitaan “Display options” ja pistetään [x] “Tree view” kohtaan.
    htop 1Ohjelma näyttää täältä asetuksien jälkeen
    Screenshot from 2018-09-05 21-33-02
  3. tmux: Mahdollistaa liittää usean terminaalin yhteen hienon ikkunaan.
    Asennus “sudo apt-get install tmux”
    Avataan “sudo tmux”
    tmux 1
    Painamalla “CTRL + b” ja sitten “c” luodaan uusi ikkuna.
    Olen luonut 4 ikkuna.
    tmux 2.png
    0:bash 1:bash 2:bash 3:bash ovat ikkunat.
    * merkattu on tällä hetkellä näkyvillä ikkuna.
    Painamalla CTRL + b ja w avautuu ikkuna, jonka avulla voidaan nopeasti vaihtaa ikkunasta toiseen.
    CTRL + b ja 1 – 4 myös onnistuu.
    tmux 3.png
    Jos halua vielä hienompi näköistä ja nopeampaa terminaalia luoda, niin käytetään seuraavat komennot:
    CTRL + b ja ” jakaa ikkuna horizontaalisesti
    CTRL + b ja % jakaa ikkuna vertikaalisesti
    CTRL + b ja nuolien avulla siirryt ikkunasta toiseen.
    tmux 4.pngTässä on erillaiset komennot, kaikki toimii! Mahtava ohjelma! Täälä on paljon mahdollisuuksia. Myöhemmin opiskelen lisää.tmux 5.png

Homework 1. Live-USB

Tehtävänanto on kopioitu Tero Karvisen sivulta:
http://terokarvinen.com/2018/aikataulu–linux-palvelimet-ict4tn021-3003-to-8-14-alkusyksy-2018p1–5-op

Minulla ennen kurssin aloittamista oli jo asennettu koneelle Linux mint 18.2 ja olen päivittänyt sen 19.0 versioksi. Ja myös löytyy live-tikku vanhan linux version kanssa jonka aion päivittää uudeksi versioksi.

a) Tehdään live-tikku käyttäen UNetbootin ohjelmaa. Kävin lataamassa sen tästä: https://unetbootin.github.io/linux_download.html 

Sen lisäksi piti asentaa “extlinux”. Asensin sen Software Managerista.

https://www.syslinux.org/wiki/index.php?title=EXTLINUX

Screenshot from 2018-08-24 11-56-42

Latasin Linux mint 19 “Tara” tästä: https://linuxmint.com/edition.php?id=254

Käyttäen UNetbootin:a asensin uuden Linux mint 19 version usb-tikulle.

b) Listaa testaamasi koneen rauta:

Komennolla:

sudo lshw -short -sanitize

c) Asenna kolme itsellesi uutta ohjelmaa.

  1.  UNetbootin: käytin linux mint 19 live-tikun asentamisessa
  2. Timeshift: käytin backup:en tekemisessä
  3. Sublime Text: kiva text editor koodamista varten, olen käyttänyt web-ohjelmoinissa.

d) Mitä lisenssiä kukin näistä ohjelmista käyttää?

  1. UNetbootin: https://unetbootin.github.io/#credits ohjelma käyttää GNU General Public License (GPL) Version 2 ja kaikki materiaalit, kuvat, logot ja documentation on lisenssioitu Creative Commons Attribution-Share-Alike 3.0.
  2. Timeshift: https://github.com/teejee2008/timeshift/blob/master/LICENSE.md käyttää GNU GPL 3
  3. Sublime Text: Lisenssi pitää ostaa, se maksaa 80 USD. Tässä on end user license agreement: https://www.sublimetext.com/eula.

Mitä oikeuksia ja velvolisuuksia tuosta lisenssistä seuraa.

  1. UNetbootin ja Timeshift: Näiden ohjelmien lisenssi GNU GPL 2 ja 3 antaa käyttäjälle vapaasti kopioida, muokata ja jakaa ohjelman sekä lupaa, että muutkin ohjelman käyttäjät saavat samat oikeudet jatkossa. Jos lisenssia ei noudatetaan, sen voimassa olo loppuu.
  2. Sublime Text: Sen lisenssi lisenssioidaan (vuokrataan), eikä ostetaan kokonaan ja omistetaan sen jälkeen. Vain yksi käyttäjä voi käyttää yhden lisenssi koodin, mutta kuitenkin useissa laitteissa. Ei saa muuttaa “copyright notices”. Ei voi myydää tai jakaa Sublime Text ohjelmaa ja lisenssi koodin 3. osapuolelle. SUBLIME HQ PTY LTD ei missään tapauksessa ole vastuussa mistään SUBLIME TEXTin käytöstä aiheutuvista vahingoista lain sallimissa rajoissa.

e) Listaa käyttämäsi ohjelmat, kunkin ohjelman käyttötarkoitus ja vastaava vapaa Linux-ohjelma.

  1. MS Excel -> taulukkolaskenta <- LibreOffice Calc
  2. MS Word -> tekstinkäsittely <- LibreOffice Writer
  3. MS PowerPoint -> slides esityksiä varten <- LibreOffice Impress
  4. CCleaner -> Puhdistaa vanhat tiedot ja vapauttaa tilaa <- BleachBit
  5. CMD -> komenttotulki <- Terminal
  6. Deluge, uTorrent -> lataa torrent files <- Transmission
  7. Firefox
  8. Eclipse
  9. Steam

f) Varmuuskopioi tiedostosi: käytin Timeshift ohjelma tehdääkseni screenshotin. Tallensin tietokoneen kovalevylle, koska ei ole vapaata muistitikkua.

Screenshot from 2018-08-24 14-10-08