Linux Palvelimet – H3 Tehtävä

Tehtävänanto:

h3

Tämä h2 tehtävä on päivitetty siten, että voit ratkoa tehtäviä valintasi mukaan LAMP:illa, Python Flask + Postgrella tai jollain muulla valitsemallasi kehikolla. Helppoja rivi tiistaina opetetuilla aiheilla voisi olla esim a-b-i tai a-b-h. Ja guruille tässä on paljon haastavia vapaaehtoisia tehtäviä.

a) Asenna Apache, laita käyttäjien kotisivut (http://example.com/~tero) toimimaan. Testaa esimerkkikotisivulla. Tämä a-kohta on vaihdettu.

b) Surffaa oman palvelimesi weppisivuja. Etsi Apachen lokista esimerkki onnistuneesta (200 ok) sivulatauksesta ja epäonnistuneesta (esim 404 not found) sivulatauksesta. Analysoi rivit.Tee jokin seuraavista (yksi riittää, useampi vapaaehtoisena lisätehtävänä):

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

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

e) Asenna ja kokeile PhpMyAdmin:a tai jotain muuta valmista weppiliittymää tietokantojen hallinnointiin.

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

g) Tee palvelimella ajettava weppiohjelma, joka käyttää tietokantaa. Voit tehdä jonkin yksinkertaisen CRUD-ohjelman, esimerkiksi TODO-listan

h) Tee Apachelle uusi sivu, joka näkyy suoraan palvelimen pääsivulla, mutta jonka sivuja voi muokata normaalin käyttäjän oikeuksilla (name based virtual host, DocumentRoot käyttäjän kotihakemistoon).

i) Kuinka monta eri HTTP Status:ta (200, 404, 500…) saat aiheutettua lokeihin? Selitä, miten aiheutit tilanteet ja analysoi yksi rivi kustakin statuksesta.

j) Asenna LAMP (Linux, Apache, MySQL, PHP). Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (Voit aloittaa tilanteesta, jossa Linux-käyttöjärjestelmä on jo asennettu, mutta ei muita (AMP) osia.

k) Kokeile jotain Flaskin uutta ominaisuutta flask-testipalvelimessa. Voit kokeilla esim. muotteja (templates), tietokantaa tai syötteiden ottamista lomakkeilta (forms).

l) Asenna Python Flask + PostgreSQL + Apache mod WSGI. Testaa kunkin komponentin toiminta. Testaa lopuksi kokonaisuus. (vaikea)

 

a)

Aloitin tehtävän H3 kohdan a) 21.32.  Avasin Tero Karvisen kotisivut, josta etsin tehtävänannon, sekä ohjeen Apachen asennusta varten.

  1. Syötin aluksi Terminal Emulatoriin komennon ‘sudo apt-get update’.
  2. Asensin Apache2 komennolla ‘sudo apt-get install apache2’
  3. Testasin serverin toimivuutta komennolla ‘firefox “http://localhost”‘apache testaus.png
  4. Enabloin käyttäjämoduulin komennolla ‘sudo a2enmod userdir’, sekä käynnistin apachen uudelleen komennolla ‘sudo service apache2 restart’.
  5. Komennolla ‘cd’ pääsin kotihakemistoon, jonne loin ‘mkdir public_html’ komennolla kansion sivustoa varten. ‘Nano index.html’ loi sivuston.
  6. Teron sivuilta noudatin ohjeita vakiosivuston luomiseen. ‘sudoedit /etc/apache2/sites-available/tero.conf’ komennolla loin VirtualHost:in. sudoedit.png
  7. ‘sudo a2ensite tero.conf’, ‘sudo a2dissite 000-default.conf’ ja ‘sudo service apache2 restart’ komennot deaktivoi edellisen vakiosivuston ja aktivoi Virtual Host:in, sekä uudelleenkäynnisti apachen.

Syötin aiemmin tekemääni html-tiedostoon seuraavat rivit, ja testasin sivuston toimivuuden:Testisivukomento.png

käyttäjät.png

Lopetin tehtävän 22.41.

b)

‘sudo tail -f /var/log/apache2/other_vhosts_access.log’ -komennolla lokiin päivittyi sivuston onnistunut lataus. Lokin rivistä ilmenee Localhost:in yhteydenotto, sekä päivämäärä ja kellonaika. Rivissä ilmenee mihin otetaan yhteyttä, sekä ‘200’ merkki, joka kertoo onnistuneen latauksen. Rivin lopussa ilmoitetaan myös selaimen ja käyttöjärjestelmän versiot.

Lataus.png

Komennolla ‘mv public_html pub_html’ uudelleen nimesin ‘public_html’ -tiedoston, jotta sivustoon ei saatu enää yhteyttä. Virheellinen yhteydenotto ilmeni lokissa ‘403’ virhekoodin ilmestymisellä. Yritin poistaa /etc/apache2/ kansion .conf -tiedostosta ‘Require all granted’ -kohdan, mutta se ei luonut haluttua virheellistä yhdistämistä.Virhe.png

i)

Sain virhekoodin ‘304’ muuttamalla ‘index.html’ tiedoston päätteen virheelliseksi.

virhe2

Myöhemmin poistin ‘Require All Granted’ -kohdan .conf -kansiosta ja uudelleenkäynnistin apachen, jolloin sain ‘403’ -virhekoodista variaation.Eitoimi.png

En saanut aikaan luoda virhekoodia ‘404’.

Lopetin tehtävät 00:23.

H2

Tehtävänanto

“a) Aiheuta lokiin kaksi eri tapahtumaa: yksi esimerkki onnistuneesta ja yksi esimerkki epäonnistuneesta tai kielletystä toimenpiteestä. Analysoi rivit yksityiskohtaisesti.

c) Tee unelmien apt-get -komento: yksi komentorivi, joka asentaa suosikkiohjelmasi.

d) Asenna komentokehotteen paketinhallinnasta kolme itsellesi uutta komentorivillä toimivaa ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.”

a)

Aloitin tehtävän ‘H2’ 21:02. Aloitin tehtävän syöttämällä komentokehotteeseen ‘sudo apt-get install vlc’. Kyseisen ohjelman asennus näkyi ‘log’ -hakemiston term.log tiedostossa. Term.login haluttu kohta näkyi syöttämällä ‘tail –f /var/log/apt/term.log’ Logista ei oikeastaan käy ilmi. Kehotteessa ilmenee vastaanotetut VLC-tiedostot, niiden purku, sekä asennus.

VLC

Kun katkaisin internet-yhteyden, ‘tail –f var/log/syslog’ -sijainnista ilmenee internet-yhteyden menetys. Tehtävänannossa vaaditaan yksityiskohtaista analysointia, mutta en ymmärrä komentokehotteen ilmoituksista paljoa. Terminaalista selviää kuitenkin, että Yhteys internettiin on menetetty. (reason ‘carrier-changed’) Network Managerin olevan ilman yhteyttä, ja siirtynyt Connected Local yhteyden kautta tilaan Disconnect. Lopetin ensimmäisen tehtävän noin 22.45

Disconnect2

c)

Lukuisten ohjelmien asentava apt-get -komento olisi seuraavanlainen: ‘sudo apt-get install vlc audacity gimp pinta deluge pidgin synaptic qbittorrent’

Lopetin tehtävän 23:24

d)

Latasin terminaaliohjelmat Irssi, rTorrent, sekä Python.

Lopetin tehtävän 00:03

rtorrentPython 2Python

 

Lähteet:

Linux Palvelimet H1

Harjoituksessa käytetty tietokone:

  • Thor (Koneen kasaaja)
  • CPU: Intel Core I5 3570K
  • GPU: Gainward Geforce 1070 GTX
  • HDD: Corsair 1TB
  • SSD: Corsair Force 3 120GB
  • RAM: Corsair Vengeance DDR3 16GB
  • MB: MSI H77MA-G43

A)

Aloitin Linux Palvelimien tehtävän H1 27.8.2017 klo. 23.09. Avasin ensimmäisenä Tero Karvisen kotisivut http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op#more-7163, josta löysin linkit  Xubuntun iso-tiedostoon, sekä https://unetbootin.github.io/ lataamiseen.  Seuraavaksi laitoin Kingston Datatraveler 16GB USB 3.0 muistitikun tietokoneeni USB 3-porttiin.

Unetbootinissa, valitsin ISO tiedostoksi ladatut tiedostot kansiostani ladatun Xubuntun. Vaihdoin myös täpän Jakelut -kohdasta Levykuvaan. USB-asema ei tullut itsestään valittavaksi, vaan piti vaihtaa USB-asema kiintolevyksi ennen kuin sain valittua asemaksi F:\

1.png

Asennuksen jälkeen tuli ilmoitus, että käynnistyksen ohessa täytyy mennä BIOS boot menuun. Tietokoneen uudelleenkäynnistyksen ohessa selvisi, että pääsen boot menuun  käsiksi F11 painikkeella. BIOS:issa painoin Kingston Datatraveler UEFI, jonka jälkeen valitsin ‘Try Xubuntu Without Installing’. BIOS:issa koneeni sammutti itsensä n. 12 sekunnin kuluttua. En ole varma onko kyseessä koneeseen liittyvä ongelma, vai jonkinlainen normaali protokolla josta en ole tietoinen. Yritin etsiä ongelmaan ratkaisua, sen toistuttua joka kerta BIOS:iin mennessä, mutta en löytänyt vastauksia. Tietokoneen sammuminen ei ollut kuitenkaan ongelma, sillä Xubuntu avautui kuitenkin muuten ongelmitta. Lopetin kohdan A) 00:15

3

IMG_20170827_235510

IMG_20170827_235843.jpg

B)

Xubuntussa vasemmasta yläkulmasta pääsee käsiksi Terminal Emulatoriin, jonne syötin tuon ‘sudo lshw -short -sanitize’ -komennon, joka listasi koneeni raudan. Kohdan B lopetin 00:25

img_20170828_000237.jpg

C) 

Ennen asennusta, vierailin Tero Karvisen Commands for Admin -sivulla, josta syötin Terminal Emulatoriin komennon ‘sudo apt-get update. Tämän jälkeen aloin hakea ohjelmia joita voisin testata. Latasin sen jälkeen itselleni VLC media playerin syöttämällä komennon ‘sudo apt-get install vlc’. Komentotulkki kysyi vielä varmuutta asennukseen, joten hyväksytin kyselyn y:llä. Tämän jälkeen asennus oli valmis, ja kirjoitin komennon ‘VLC’, jolloin aukesi kyseinen ohjelma. Tämän jälkeen asensin GIMP:in komennolla ‘sudo apt-get install gimp’, y-kirjaimen varmistuksella, sekä syöttämällä ‘GIMP’ komentotulkkiin, jolloin ohjelma avautui. Asensin myös Audacityn aiemmin mainituiden komentojen pohjalta. Lopetin kohdan C) 01:45.

IMG_20170828_010452.jpgIMG_20170828_010747

IMG_20170828_012325.jpg

D)

VLC käyttää GNU GPL versio 2 lisenssiä. Audacity käyttää valinnaisesti versiota 2 tai myöhempää versiota. GIMP puolestaan käyttää GNU GPL versio 3 lisenssiä. GPL perustuu neljään vapauteen, jotka takaavat että ohjelmistoa voi käyttää, muokata, ja jakaa muille niin alkuperäistä, kuin myös muutettua ohjelmistoa. Vapauksien täyttyessä, ohjelma on ilmaista ja vapaata. Kun ohjelma julkaistaan GPL lisenssin alaisuudessa, se ohjelma pysyy täysin muokattavissa olevana ja ilmaisena. Lopetin kohdan D) 02:30.

E) 

Oma                                            Vapaa Linux

utorrent (BitTorrent client) Deluge

Winrar (File Manager) PeaZip

Ableton Live (Digital Audio Workstation) Audacity

BSPlayer (Media Player) VLC Media Player

MS Office (Office Applications) LibreOffice

Avira (Antivirus) ClamTK Virus Scanner

 

 

Lähteet:

https://www.gimp.org/about/COPYING

https://www.gnu.org/licenses/rms-why-gplv3.html

http://old.audacityteam.org/about/license?lang=fi

https://www.videolan.org/legal.html

https://www.gnu.org/philosophy/free-sw.html

http://alternativeto.net/software/winrar/?platform=linux

http://lifehacker.com/5856441/the-best-bittorrent-client-for-linux

http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op

http://terokarvinen.com/2008/commands-for-admin-4