Blog

Linux palvelimet 6. viikon läksyt: Kirjoita ja suorita “Hei maailma” kolmella kielellä

Tehtävänanto

“a) Kirjoita ja suorita “Hei maailma” kolmella kielellä. Asenna tarvittavat ympäristöt.

b) Palauta linkki sivuun, josta löytyvät kaikki kotitehtäväraporttisi. Arviointi tehdään ensisijaisesti tästä linkistä. Linkki voi olla esimerkiksi blogin etusivu (jos blogissa on vain kotitehtävät) tai sivuun, jossa on linkki kuhunkin kuuteen tehtävään.”

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

Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

a) Kirjoita ja suorita “Hei maailma” kolmella kielellä

Aloitan tehtävän 8.10.2017 kello 18:12 omalla HP Pavilion 17 Notebook PC läppärilläni kotonani käynnistämällä Xubuntu 16.04.3 64 bittisen version USB-livetikulta ja menemällä Tero Karvisen sivuille http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op tarkastelemaan tehtävänantoa. Avaan terminaalin ja ajan päivitykset “$ sudo apt-get update” komennolla sekä vaihdan suomalaisen näppäimistön “$ setxkbmap fi” komennolla.

Kirjoitan ensimmäiseksi Pythonilla komennon, joka näyttää tekstin “Hei python maailma” suorittaessa. Komennolla “$ nano hello.py” luon python-tiedoston, jonka alkuun kirjoitan shebang-tekstin “#!/usr/bin/env python”, jonka ohjeen löysin osoitteesta https://stackoverflow.com/questions/17846908/proper-shebang-for-python-script. Koodia kirjoitan kuvan mukaisesti.

Screenshot_2017-10-08_15-29-25

Tallennan tiedoston ja poistun. Kokeilen uutta komentoa kirjoittamalla terminaaliin “$ hello.py”, joka ei näytäkään toimivan. Kokeilen heti perään komennolla “$ python hello.py”, ja nyt komento menee läpi.

screenshot_2017-10-08_15-30-46.png

Seuraavaksi kirjoitan Perlillä vastaavanlaisen ohjelman, joka näyttää terminaalissa “Hei perl maailma”. Koska en tunne Perl-kieltä entuudestaan, menen osoitteeseen https://stackoverflow.com/questions/3220215/how-to-properly-run-perl-one-liner-command-line-scripts katsomaan vinkkejä. Komennolla “$ nano hello.perl” luon tiedoston. Koodia kirjoitan kuvan mukaisesti.

Screenshot_2017-10-08_16-07-53

Ajan komennon “$ perl hello.perl”, ja komento menee onnistuneesti läpi.

Screenshot_2017-10-08_16-08-07

Lopuksi luon Bashilla komennon, joka kirjoittaa terminaaliin “Hei bash maailma”. Komennolla “$ nano hello.sh” luodaan tekstitiedosto, ja koodia kirjoitan kuvan mukaisesti.

Screenshot_2017-10-08_16-19-57

Tallenetaan tiedosto ja poistutaan. Ajan komennon “$ bash hello.sh”, jolloin terminaali tulostaa oikean tekstin.

Screenshot_2017-10-08_16-52-21

Päätän tehtävän kello 19:56.

b) Kotitehtävien linkin palautus

Olen palauttanut kotitehtävien linkin https://pekkahamalainen.wordpress.com/blog/ oikeisiin palautuskansioihin.

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Advertisements

Linux palvelimet 5. viikon läksyt: Messuraportti, LAMP ja WordPressin asennus

Tehtävänanto

“a) Messuraportti. Kirjoita arvioiva kuvaus kolmesta tuotteesta tai esityksestä. Muista myös arvioida ja vertailla – ei pelkästään toistaa mainoslauseita. Käytä arvioidessa kaikkia aiempia, esimerkiksi töissä ja kursseilla oppimiasi tietoja. Tässä muutama kysymys, joista voi olla apua kirjoittessa (mutta joihin vastaaminen ei vielä riitä vastaukseksi). Minkä ongelman tuote ratkaisee Mitä tuote maksaa (esim. halvin aloitus vs tyypillinen käyttötapaus, ensimmäisen vuoden hinta)? Millä tekniikoilla tuote on toteutettu (tietokannat, ohjelmointikielet, käyttöjärjestelmät, palvelimet, protokollat…)? Tärkeimmät kilpailijat? Kilpaileeko jokin vapaa ohjelmisto tämän kanssa (vai onko tämä jo valmiiksi vapaa ohjelma)? Mitä ajatuksia tuote tai palvelu herättää? Millainen yritys on tuotteen taustalla? Ota blogiisi myös artikkeliasi tukevia kuvia.

d4) (ryhmä 4-ti) Asenna LAMP ja lue tietokantaa PHP-ohjelmalla. (Pitkähkö tehtävä)

e4) (ryhmä 4-ti) Asenna WordPress ja luo esimerkkisisältöä.”

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

Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

a) Messuraportti

img_20170926_214105872-e1506879961305.jpg

Aloitan tehtävän raportoinnin kello 20:23. Osallistuin Cyber Security Nordic 2017-messuille keskiviikkona 27.9.2017. Kiertelin ryhmäläisten kanssa eri kojuja, jotka vaikuttivat mielenkiintoisilta. Yleisesti sanottuna Cybermessu-kojut olivat mielestäni hieman vaisuija.

IMG_20170927_114642174

Tuntui, että esittelijät olivat flegmaattisia, ja piti itse mennä kysymään, jotta esittely alkaisi. Olisin toivonut aktiivisempaa otetta esittelijöille, jotta vieraiden olisi helpompi lähestyä. Myös demot puuttuivat monesta kojusta, jos karkkikulhoa ei lasketa. Liekö kyseessä ollut vastahakoisuus pitchata opiskelijoille, joilta ei todennäköisesti heru tilauksia yritykselle?

Kävin myös mielenkiintoisella luennolla, jossa Fortumin Arto Räty puhui aiheesta: Corporate Cyber Security  – element of national total security.

IMG_20170927_115525114.jpg

Fujitsu – PalmSecure

http://www.fujitsu.com/global/solutions/business-technology/security/palmsecure/

http://www.fujitsu.com/global/solutions/business-technology/security/palmsecure/id-match/

Ensimmäinen koju, jossa kävin oli Fujitsun, jolle täytyy antaa kunniamaininta aktiivisesta otteesta, heti ensimmäiseksi toinen esittelijä oli lähes tarjoamassa harjoittelupaikkoja porukallemme. Fujitsu oli messuilla esittelemässä PalmSecure-tuotettaan, joka oli heidän mukaansa edistyksellinen infrapuna-kämmentunnistuslaite.

img_20170927_124549602.jpg

Esittelijän mukaan se oli tarkempi, hygienisempi ja helppokäyttöisempi, kuin esimerkiksi sormenjälki- ja silmätunnistimet. Laitteeseen ei tunnistautuessa kosketa, vaan se näkee etäältä kämmenen verisuonikartan, joka on äärimmäisen tarkka tapa heidän mukaan. Myös suuri etu muihin tunnistaumistekniikoihin verrattuna on, että verisuonikarttaa ei voi kopioida, kuten sormenjälkiä. Laite ei myöskään toimisi kuolleen ihmisen kädellä, kuten esittelijä huomautti.

IMG_20170927_124150656

Esittelijä sanoi, että PalmSecuren toimii Linux-piirillä, mutta ei tietänyt tekniikasta sen tarkemmin. Fujitsu omistaa patentin tekniikkaan, joten kilpailijoita aivan vastaavilla laitteilla ei ole, tosin sormenjälki- ja silmätunnistuslaitteet ovat kilpailijoita markkinoilla. Laite on siinä mielessä mullistuksellinen, että verisuonikartta voidaan yhdistää esimerksi jalkapallo-ottelun lippuun, milloin lipun tarkistus olisi tuplasti luotettavampaa. Itse laite ei kuulemma (muun muassa lakisyistä) tallenna kämmentietoja, vaan se toimii yhdessä esimerkisi kortin kanssa, jonne tieto tallentuu.

Hinnasta esittelijä ei maininnut muuta, kuin että se on kalliimpi verrattuna muihin tunnistintekniikoihin. Laitetta ja tekniikkaa on lähinnä sovellettu räätälöidyillä paketeilla ja hinnoilla suurille asiakkaille, kuten pankeille, urheilustadioneille ja terveyskeskuksille – enemmikseen ulkomailla tosin. Löysin kyllä nettikaupasta https://www.fulcrumbiometrics.com/PalmSecure-Palm-Vein-Sensor-from-Fujitsu-p/102400.htm yksittäisen skannerin noin 350 dollarin hintaan.

img-20170927-wa0025.jpg

Oma mielipiteeni tuotteesta oli positiivinen. Kyseinen systeemi helpottaisi ja nopeuttaisi muun muassa lippujen tarkastusta tapahtumilla, ja voisi eliminoida turhien työntekijöiden määrän. Laite myös on hyödyllinen niissä tilanteissa terveyskeskuksilla, jos asiakkaalla ei ole kela-korttia. Verisuonikartta riittäisi siinä tapauksessa tunnistautumiseen.

Bittium – Tough Mobile ja Tough Mobile C

https://www.bittium.com/tuotteet_ja_palvelut/public_safety__security/bittium_tough_mobile_c

https://www.bittium.com/bittiumtoughmobile

Seuraavaksi kävin Oululaisen Bittium-yrityksen kojulla, jonka esittelemät tuotteet olivat kolme eri turvallisuustason puhelinta, jotka ovat myös suunniteltu kestämään iskuja, vettä ja kaikenlaisia lämpötiloja. En löytänyt kolmatta mallia heidän sivuiltaan, joten käsittelen vain kahta mallia.

screenshot_2017-10-01_18-32-32.png

Tuotteiden myyntivaltteja ovat turvallisuus, tehokkuus, kestävyys ja tehokkuus. Niin sanotussa paraatimallissa eli Tough Mobile C:ssä on myös Dual-OS eli kaksi itsenäistä käyttöjärjestelmää, josta toinen on normaali ja toinen erityisen turvallinen. Esittelijä demosi C-mallia, jonka turvalukitus vaati salasanan lisäksi myös tunnistautumissirun. On siis selvää, että puhelimet eivät ole tarkoitettu ensisijaisesti normaalin kuluttajan käyttöön, vaan organisaatioille ja valtioiden työntekijöille, jotka tarvitsevat ehdotonta turvallisuutta.

img_20170927_134912659.jpg

Laitteet ovat Android-pohjaisia puhelimia, kummassakin mallissa on 2GB RAM-muistia ja kalliimmassa tuotteessa 32GB tallennustilaa. Halvemmassa mallissa 16GB, mutta Micro SD-kortille on paikka. Näyttö on 5″ tuumainen Full HD-näyttö. Bittiumin kilpailijoita löytyi muun muassa Sveitsiläinen Silent Circle Blackphone-turvapuhelimella sekä GSMK:n CryptoPhone-mallit.

Kysyin erikseen hinnasta, mutta esittelijä ei antanut suoraa vastausta, vaan toisti tuotteiden olevan tarkoitettu yrityskäyttöön. Yrityksen nettisivuilla halvempi malli oli tosin tilattavissa noin 1200 euron hinnalla. Esittelijä mainitsi, että puhelimien tukena on käytössä Bittium Security Suite, joka tarjoaa laitteen käyttäjälle turvattuina palveluina esimerkiksi VPN:n, laitteenhallinnan ja viestipalvelun, joka olisi ymmärrettävästi liioittelua useimmille yksityishenkilöille.

Oma mielipiteeni tuotteista oli jälleen melko positiivinen, tosin kuluttujamallia olisin jäänyt kaipaamaan. Selitys tuotteen puuttumiselle löytyy luultavasti siitä, että tavalliset kuluttajat eivät yksinkertaisesti tiedä tai välitä tietoturvariskeistä tarpeeksi tietoturvapuhelimen ostamisen perustelemiseksi, joten olisi huonoa bisnestä valmistaa kuluttajamallia. Sen sijaan esimerkiksi hallitukset, armeijat sekä monet yritykset tarvitsevat äärimmilleen vietyä turvallisuutta työntekijöilleen, joten turvapuhelimet ovat siinä tapauksessa kannattava investointi.

F-Secure – Rapid Detection Service

https://www.f-secure.com/fi_FI/web/business_fi/rapid-detection-service

img_20170927_142025408-e1506886149444.jpg

Viimeiseksi kävin F-Securen kojulla tutustumassa heidän esittelemäänsä palveluun, joka on nimeltään Rapid Detection Service. Kyseinen palvelu on suunnattu yrityksille, jotka haluavat valmistautua edistyneiseen kyberhyökkäyksiin. Palvelun hankkittua yritys saa käyttöön ympärivuorokautisen vartioinnin F-Securen asiantuntijoilta ja maksimissaan 30 minuutin reagointiajan hyökkäysten havaitsemiseen ja vastaamiseen. Palveluista jäi mieleen erityisesti F-Secure Red Teaming, jossa F-Securen hakkerit itse yrittävät murtautua asiakkaan IT-ympäristöön ja täten tunnistamaan uhkia. Esittelijä mainitsi, että näillä työntekijöillä pitää olla omaa harrastuneisuutta, koska kouluissa ei yleensä opetella hyökkäämään, mutta myöskään rikosrekisteriä ei saa olla, mikä rajaa merkittävästi hakuehdokkaita.

screenshot_2017-10-01_19-41-47.png

Palvelun tekniikka perustuu IT-ympäristöösi asennettuihin houkuttumiin, jotka nopeasti ilmoittavat mahdollisista hyökkäyksistä yrityksen järjestelmään. Sensorit ilmoittavat epäilyttävästä toiminnasta Rapid Detection Center-asiantuntijoille, jotka todentavat poikkeamat ja sulkevat pois väärät hälytykset oikeista uhkista. Palvelu hyödyntää analytiikkaa, kuten big dataa ja maineanalytiikkaa. Kilpaijoiksi Suomesta löysin Fordione ja Silverskin-yritykset, jotka tosin vaikuttavat pikkutekijöiltä F-Secureen verrattuna.

Mitään määrättyä hintaa palvelulle ei ole, koska se riippuu paljon yrityksen koosta sekä muista tekijöistä. Oma mielipiteeni tuotteesta oli jälleen kerran melko positiivinen ja varmasti hyvä vaihtoehto yrityksille, jotka kaipaavat monitorointa järjestelmälleen. Tämäkään tuote ei ollut kuluttajille tarkoitettu, joten siinä mielessä vaikea sanoa syvällisempää mielipidettä. Esittelytilanne oli sinänsä huvittava, kun joukko opiskelijoita tulee kysymään, “Mikä teidän tuotteenne on?”, tämän kaltaisen palvelun kohdalla. Esittelijät F-Securella olivat kyllä ammattimaisia ja kertoivat mielellään, joten ei siinä moittimista.

Lopetan raportoinnin kello 23:31.

d4) LAMP:in asennus ja tietokannan lukemista PHP:llä

Aloitan tehtävän 1.10.2017 kello 18:39 omalla HP Pavilion 17 Notebook PC läppärilläni kotonani käynnistämällä Xubuntu 16.04.3 64 bittisen version USB-livetikulta ja menemällä Tero Karvisen sivuille http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op tarkastelemaan tehtävänantoa. Avaan terminaalin ja ajan päivitykset “$ sudo apt-get update” komennolla sekä vaihdan suomalaisen näppäimistön “$ setxkbmap fi” komennolla.

Siirryn sivulle http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo katsomaan ohjeita. Komennolla “$ sudo apt-get update && sudo apt-get -y install apache2 mysql-client mysql-server libapache2-mod-php php-mysql curl lynx” asennan Apachen, MySQL:n ja PHP:n.

screenshot_2017-10-01_15-43-52.png

Tämän jälkee MySQL kysyy rootille salasanaa, jonka annan ja toistan varmistukseksi.

Screenshot_2017-10-01_14-34-59

Asennus jatkuu salasanan määrityksen jälkeen hetken aikaa, jonka jälkeen aktivoin UserDirin komennolla “$ sudo a2enmod userdir”. Komennolla “$ sudoedit /etc/apache2/mods-available/php7.0.conf” menen sallimaan PHP:n käyttäjän hakemistossa. Tämä hoituu lisäämällä risuviivat kuvan mukaisesti.

Screenshot_2017-10-01_15-54-53

Ajetaan vielä “$ sudo service apache2 restart”, joka käynnistää Apachen uudelleen. Seuraavaksi luon ja siirryn samanaikaisesti public_html-kansioon kätevästi komennolla “$ cd; mkdir public_html; cd public_html”. Luon index.php-tiedoston lyhyellä PHP-koodinpätkällä käyttämällä komentoa “$ echo ‘<?php print(2+2+”\n\n”); ?>’> index.php” ja siirrän sen public_html-kansioon komennolla “$ mv index.php public_html”.

screenshot_2017-10-01_16-03-42.png

Nyt tarkistan osoitteessa localhost/~xubuntu/ sourcecoden, jotta se näyttäisi vain koodissa yhteenlaskun tuloksen eikä itse PHP-koodia. Tässä vaiheessa kaikki näyttää olevan kunnossa.

screenshot_2017-10-01_16-05-27.png

Seuraavaksi luon MySQL hakemiston ja käyttäjän. Komennolla “$ mysql –user=root –password” menen rootiin, joka luonnollisesti kysyy salasanaa.

Screenshot_2017-10-01_16-09-51

Kun pääsen sisään luon cars-hakemiston komennolla “> CREATE DATABASE cars CHARACTER SET utf8;” ja annan käyttäjälle saman nimen, “cars”, komennolla “> GRANT ALL ON cars.* TO cars@localhost IDENTIFIED BY ‘Ght47sjTrosjk).h’;w”. Salasanan tulee olla todella vaikea, mutta sitä ei tarvitse muistaa päässä.

screenshot_2017-10-01_16-17-48.png

Komennolla “> exit” poistutaan rootista ja kirjaudutaan cars-käyttäjällä komennolla “> mysql –user=cars –password”.

screenshot_2017-10-01_16-21-24.png

Luodaan tietokanta nimellä “cars” käyttäen komentoa “> CREATE TABLE cars(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(1024));”. Lisätään tietokantaan auto komennolla “> INSERT INTO cars(name) VALUES (‘Fiat’);”. Lisätään vielä kaksi autoa lisää ja komennolla “> SELECT * FROM cars;” päästään katselemaan mitä tiedoston sisällä on. Kaikki lisäykset ovat onnistuneet.

screenshot_2017-10-01_16-24-28.png

Poistutaan jälleen komennolla “> exit” ja komennolla “$ sudo nano /home/xubuntu/public_html/index.php” mennään muokkaamaan index.php-tiedostoa, jotta se näyttäisi juuri luodun tietokannan sivullani. Haen osoitteesta https://www.w3schools.com/html/ validin HTML-pohjan ja Tero Karvisen ohjeista oikean koodin sivulta http://terokarvinen.com/2016/read-mysql-database-with-php-php-pdo. Vaihdetaan PHP-koodiin oma MySQL käyttäjänimi ja salasana.

Screenshot_2017-10-01_16-34-50

Nyt nettisivuni näyttää auto-listan ja aiemmin lisätyn yhteenlaskun tuloksen sekä normaalin HTML-tekstin.

Screenshot_2017-10-01_16-35-02

Source ei näytä myöskään PHP-koodia, vaan pelkästään tulokset, kuten oli tarkoituskin.

screenshot_2017-10-01_16-35-11.png

Päätän tehtävän kello 19:44.

e4) WordPressin asennus ja esimerkkisisältöä

Aloitan tehtävän kello 23:35. Avaan terminaalin ja annan aluksi komennon “$ sudo apt-get update”. Löydän Tero Karvisen sivujen kautta WordPress-ohjeen https://tuomassippola.wordpress.com/2014/03/09/wordpressin-asennus/, ja siirryn tarkastelemaan sitä. Ohjeiden mukaan aloitan menemällä MySQL rootiin komennolla “$ mysql -u root -p” ja annan salasanan, jonka määrittelin aikaisemmassa tehtävässä. Komennoilla “> CREATE DATABASE pekkawp CHARACTER SET utf8;” luon tietokannan ja “> GRANT ALL ON pekkawp.* TO pekkawp@localhost IDENTIFIED BY ‘hF4.(AwseqPHL(hhp’;” annan oikeudet pekkawp-käyttäjälle. Salasana jälleen todella vaikeaksi. Lopuksi komennolla “> FLUSH PRIVILEGES;” pistetään muutokset voimaan. Komennolla “> exit” pois MySQL:stä.

screenshot_2017-10-01_20-48-14-e1506890944280.png

Komennolla “$ wget https://wordpress.org/latest.tar.gz&#8221; ladataan WordPress asennuspaketti ja komennolla “$ tar -xf latest.tar.gz” puretaan sen.

screenshot_2017-10-01_21-03-14-e1506892014983.png

Komennolla “$ rm latest.tar.gz” poistetaan turha asennuspaketti ja “$ mv wordpress public_html” siirretään WordPress public_html-kansioon.

screenshot_2017-10-01_21-04-57.png

Seuraavaksi menen sivuilleni osoitteeseen http://localhost/~xubuntu/wordpress/, joka avaa seuraavanlaisen näkymän.

screenshot_2017-10-01_21-33-38.png

Painan “Let’s go!”-napista, jonka jälkeen avautuu setup-sivu. Lisään oman käyttäjänimen, tietokannan ja salasanan.

screenshot_2017-10-01_21-37-49.png

Tulee ilmoitus, että ei voida kirjoittaa wp-config.php-tiedostoa, joten se pitää tehdä manuaalisesti.

screenshot_2017-10-01_21-40-53.png

Kopioin tiedot, menen WordPress-kansioon komennolla “$ cm /home/xubuntu/public_html/wordpress/” ja komennolla “$ nano wp-config.php” luon tarvittavan kansion, jonne liitän tiedot. Mitään ei tarvitse muuttaa liitetyssä tekstitiedostossa.

screenshot_2017-10-01_21-50-24.png

Tämän jälkeen painan “Run the install”-nappia, lisään sivun nimen ja käyttäjänimen “pekkawp” sekä annan salasanan ja sähköpostin. EN paina viimeistä laatikkoa, joka estää hakukoiden löytävän sivuni. Sivun luonti on onnistunut.

screenshot_2017-10-01_21-58-04.png

Nyt kirjadun sisään.

screenshot_2017-10-01_21-58-38.png

Sivujen luonti voi alkaa.

screenshot_2017-10-01_21-58-56.png

Tehdään kokeilujulkaisu painamalla sivulta nappia “Posts” ja “Add New Post” ja kirjoitetaan jotain.

screenshot_2017-10-01_22-13-54.png

Julkaisun luonti onnistui.

screenshot_2017-10-01_22-13-11.png

Lopetan tehtävän 2.10.2017 kello 01:16.

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

 

Linux palvelimet 4. viikon läksyt: Oman virtuaalipalvelimen vuokraus ja harjoittelu

Tehtävänanto

“r) Kokeile julkista virtuaalipalvelinta (VPS). Voit vuokrata palvelimen esimerkiksi Linodelta, Amazonilta, DigitalOceanilta, OVH:lta tai monista muista paikoista. Edullisinta on käyttää GitHub Education -paketista DigitalOceanin palveluita.

x) Laita julkinen domain-nimi osoittamaan koneeseesi. NameCheap ja Gandi ovat tunnettuja nimien vuokraajia. GitHub Education -paketista saa NameCheapilta .me domainin ilmaiseksi vuodeksi.

s) Laita julkiselle palvelimellesi käyttäjän kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna.

y) Etsi julkisen palvelimesi lokeista esimerkkejä murtautumisyrityksistä. Voit etsiä lisätietoa IP-osoitteista ottamatta niihin yhteyttä esimerkiksi komennoilla geoiplookup tai whois.”

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

Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

r) Kokeile julkista virtuaalipalvelinta

Koska tämä tehtävä tehtiin tunnilla valmiiksi, kirjoitan raporttiin ohjeet retrospektiivissä. Aloitan raportoinnin 24.9.2017 kello 17:30 omalla HP Pavilion 17 Notebook PC läppärilläni kotonani käynnistämällä Xubuntu 16.04.3 64 bittisen version USB-livetikulta. Menen Tero Karvisen sivuille, http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op, tarkastelemaan tehtävänantoa.

Ajoin aluksi komennot “$ setxkbmap fi” suomalaisen näppäimistön vaihtamiseksi ja “$ sudo apt-get update” päivityksille. Siirryin sivulle https://education.github.com/, jonne olin jo aikasemmin tehnyt tilin. Avasin linkin “Get the pack” ja sen jälkeen linkin “Get your pack”.

Screenshot_2017-09-24_18-21-12

Etsin DigitalOceanin palveluiden joukoista ja lunastin 50 dollarin kredittikoodini.

Screenshot_2017-09-24_18-24-10

Loin DigitalOcean tilin osoitteessa https://www.digitalocean.com/ ja valitsin Virtuaalipalvelimeeni Ubuntu 16.04.3 x64-käyttöjärjestelmän. Hinnaksi valitsin 10 dollaria kuussa, joka oli toiseksi halvin vaihtoehto, mutta tarjosi riittävät 1GB RAM-muistia ja 30GB tallennustilaa.

screenshot_2017-09-24_18-33-09.png

Valitsin alueeksi Frankfurtin Saksassa enkä sen jälkeen koskenut muihin asetuksiin.

screenshot_2017-09-24_18-33-18.png

Annoin “dropletille” eli virtuaalipalvelimelle yksinkertaisesti nimeni “pekka”. DigitalOcean lähetti dropletin luonnin jälkeen rootin salasanan, jotta pääsisin kirjautumaan virtuaalipalvelimelleni.

Screenshot_2017-09-24_18-33-27

Avasin Tero Karvisen ohjeet sivulta http://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean vierelle avuksi. Tämän jälkeen avasin terminaalin ja avasin rootin komennolla “$ ssh root@139.59.158.2”, jonka IP-osoitteen sain tarkastamalla oman dropletin IP-osoitteen.

Root kysyi sähköpostiin lähetettyä salasanaa, jonka lyömisen jälkeen määritin uuden, vahvan salasanan. Seuraavana vuorossa oli reiän teko SSH:lle komennoilla “$ sudo ufw allow 22/tcp” ja “$ sudo ufw allow 80/tcp”, jonka jälkeen palomuuri laitettiin päälle komennolla “$ sudo ufw enable”.

Nyt piti luoda käyttäjä komennolla “$ sudo adduser pekka”, jonka jälkeen määriteltiin käyttäjälle vahva salasana. Käyttäjästä tehtiin vielä admin peräkkäisillä komennoilla “$ sudo adduser pekka sudo”, “$ sudo adduser pekka adm” ja “$ sudo adduser pekka admin”.

Nyt piti avata uusi terminaali-tab vierelle ja kokeilla, että virtuaalipalvelin avautuu luodulla käyttäjällä. Komento oli “$ ssh pekka@139.59.158.2”, joka avasi palvelimen onnistuneesti salasanan ollessa oikea. Tässä vaiheessa ajoin vielä “$ sudo apt-get update”.

screenshot_2017-09-24_18-42-22-e1506278577874.png

Tämän jälkeen lukittiin root-käyttäjä komennolla “$ sudo usermod –lock root” ja rootin SSH-kirjautuminen muokkaamalla tekstitiedostoa. Menin komennolla “$ sudoedit /etc/ssh/sshd_config” tekstitiedostoon ja vaihdoin “PermitRootLogin yes” paikalle “PermitRootLogin no”.

Screenshot_2017-09-24_18-47-44

Ajoin vielä komennot “$ sudo apt-get update” ja “$ sudo apt-get upgrade”, jotta kaikki olisi ajan tasalla. Uudelleenkäynnistin SSH:n komennolla “$ sudo service ssh restart”. Lopuksi yritin kirjautua root käyttäjälle, mutta kirjautuminen ei onnistunut, kuten olikin tarkoitus. Lopetan raportoinnin kello 19:31.

x) Julkinen domain-nimi osoittamaan koneeseesi

Aloitan tehtävän kello 19:45. Menen osoitteeseen https://education.github.com/ ja sieltä jälleen avaan linkit “Get the pack” ja “Get your pack”. Etsin NameCheapin palveluista, koska sen avulla saa ilmaisen .me domainin vuodeksi. Kysyn konsultaatiota tehtävän aikana kurssilla myös opiskelevilta Jan Parttimaalta ja Rasmus Ekmanilta Whatsappin ja puhelun välityksellä. Siirryin osoitteeseen https://nc.me/github/auth, jonka avulla sai ilmaisen domainin, kun GitHub-tili oli olemassa.

screenshot_2017-09-24_18-49-57.png

Sain vapaan domainin pekkahamalainen.me valittua ja tilaan sen.

Screenshot_2017-09-24_18-50-18

Valitsen “Github Pages Setup”, kun kysytään kolmea eri valintaa asetuksiksi. NameCheapille piti vielä rekisteröityä, jonka jälkeen tilaus meni lopullisesti läpi.

screenshot_2017-09-24_18-50-45.png

Nyt siirryn uudelleen https://www.namecheap.com/ sivulle ja kirjaudun sisään. Avaan oman käyttäjänimen alta “Profile”-linkin, jota kautta pääsen muokkaamaan domainia. Valitsen vasemmalta “Domain List”-linkin ja painan “Manage” domainin kohdalla. Nyt pääsen tarkastelemaan asetuksia. Valitsen “Advanced DNS” ja poistan kaikki oletus-recordit, jonka jälkeen lisään kaksi A Recordia samalla IP:llä, joka on siis oman dropletin IP, mutta toiseen tulee hostiksi “@” ja toiseen “www”.

screenshot_2017-09-24_18-57-15.png

Avaan seuraavaksi terminaalin ja menen komennoilla “$ cd /etc/apache2/sites-enabled/” ja “$ sudo nano 000-default.conf” muokkaamaan “ServerName” ja “ServerAlias” paikalle uuden domainin nimet sekä DocumentRoot osoitteeksi “/home/pekka/public_html”, jonka olin tosin muuttanut jo aikaisemmin.

Screenshot_2017-09-24_19-20-27Screenshot_2017-09-24_19-20-41

Tämän jälkeen siirryn komennoilla “$ cd /etc/” ja “$ ls” tarkastelemaan kyseisen kansion sisältöä.

Screenshot_2017-09-24_19-21-26

Menen muokkaamaan “hosts”-tiedostoa komennolla “$ sudo nano hosts” ja lisään kaksi riviä IP:tä ja domain-nimeni.

Screenshot_2017-09-24_19-21-36

Ajan vielä komennon “$ sudo service apache2 restart” ja “sudo systemctl restart apache2” Jan Parttimaan suosituksesta. Testaan noin 30 minuutin odotusajan jälkeen domainia, mutta sivu näyttää tyhjää. Kokeilen “www.pekkahamalainen.me” ja “pekkahamalainen.me”, mutta sama ongelma kummassakin.

Screenshot_2017-09-24_19-40-56

Sen sijaan kännykällä ja iPadilla sivu avautuu ongelmitta.

screenshot_20170924-223635.png

Menen poistamaan kaikki muutokset, jota tein äsken “hosts” ja “000-default.conf” tiedostoihin, koska muistelen, että niitä ei tunnilla tehty. Tämän jälkeen domain alkaa toimimaan.

screenshot_2017-09-24_20-17-19.png

Päätän tehtävän kello 23:18.

s) Julkisen palvelimen kotihakemistoon tallennettu sivu näkymään Apachen oletussivuna

Aloitan tehtävän kello 23:27. Tämänkin osion olen jo tehnyt virtuaalipalvelimelleni aiemmin tunnilla. Yksityiskohtainen ohje löytyy myös blogistani osoitteesta https://pekkahamalainen.wordpress.com/2017/09/10/linux-palvelimet-3-viikon-laksyt-apache-palvelimen-harjoittelua/.

Tiivistetysti asennus tapahtuu seuraavien komentojen avulla:

Päivitys ennen asennusta.

“$ sudo apt-get update”

Apachen asennus.

“$ sudo apt-get install apache2”

IP-osoitteen tarkastus.

“$ hostname -I”

(Tässä välissä tarkista, että oletussivut toimivat IP-osoitteella)

UserDir-moduuli käyttöön.

“$ sudo a2enmod userdir”

Käynnistä Apache uudelleen.

“$ service apache2 restart”

Siirry kotihakemistoon.

“$ cd”

Luo “public_html” hakemisto.

“$ mkdir public_html”

Tarkasta, että kansio on hakemistossa.

“$ ls”

Mene kansion sisään.

“$ cd public_html”

Luo teksitiedosto. (Kirjoita validia HTML)

“$ nano index.html”

Kuka minä olen? Tarkista käyttäjän nimi.

“$ whoami”

Siirry kansioon, jossa muokataan tekstitiedostoa.

“$ cd /etc/apache2/sites-available/”

Muokkaa tekstitiedostosta DocumentRoot nimeksi se osoite, jossa “public_html”-kansiosi sijaitsee. (esim. “/home/pekka/public_html”)

“$ sudo nano 000-default.conf”

Boottaa Apache uudelleen.

“$ service apache2 restart”

Nyt Apachen oletussivuina pitäisi näkyä se sisältö, jonka loit “index.html” tiedostoon “public_html”-kansiossa.

Päätän tehtävän 25.9.2017 kello 00:16.

y) Julkisen palvelimesi lokeista esimerkkejä murtautumisyrityksistä

Aloitan tehtävän kello 00:29. Asennan aluksi komennolla “$ sudo apt-get install whois” whois-ohjelman, jolla pystyy tarkastelemaan IP-osoitteiden tietoja.

screenshot_2017-09-24_21-34-38.png

Siirryn komennolla “$ cd var/log/” hakemistoon, jossa sijaitsee lokeja. Komennolla “$ tail -f auth.log” siirryn tarkastelemaan reaaliajassa palvelimeni tapahtumia.

Screenshot_2017-09-24_21-30-32

Kuten näkyy, murtautumisyrityksiä tulee jatkuvasti. Valitsen sattumanvaraisesti salasanan murtautumisyrityksen lähtö IP:n “59.63.188.36”.

screenshot_2017-09-24_21-43-061.png

Ajan toisessa terminaalissa komennon “$ whois 59.63.188.36”, joka antaa paljon tietoa hyökkääjästä.

screenshot_2017-09-24_21-43-37.png

Näyttää siltä, että suurin osa hyökkäyksistä tulee Kiinasta. Kokeilen monia muita IP-osoitteita ja kaikki toistaiseksi ovat peräisin Kiinasta.

Päätän tehtävän kello 00:52.

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Linux palvelimet 3. viikon läksyt: Apache-palvelimen harjoittelua

Tehtävänanto

“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ä):

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

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

Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

a) Asenna Apache ja kotisivut toimimaan

Aloitan tehtävän 10.9.2017 kello 15:43 omalla HP Pavilion 17 Notebook PC läppärilläni kotonani käynnistämällä Xubuntu 16.04.3 64 bittisen version USB-livetikulta. Avaan terminaalin ja ajan päivitykset “$ sudo apt-get update” komennolla sekä vaihdan suomalaisen näppäimistön “$ setxkbmap fi” komennolla. Menen Tero Karvisen kotisivuilla osoitteeseen http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op tarkastelemaan tehtävänantoa ja sieltä saan linkin http://terokarvinen.com/2008/install-apache-web-server-on-ubuntu-4 osoitteeseen, jossa sijaitsevat Apache 2 asennusohjeet. Aloitan Apachen asennuksen komennolla “$ sudo apt-get install apache2”.

img_20170910_155342128.jpg

Nyt menen internetselaimelle ja kirjoitan hakukenttään “localhost”, joka ohjaa minut Apachen etusivulle. Sivun linkit ja selaus onnistuu ongelmitta, joten totean, että palvelin toimii tässä vaiheessa.

img_20170910_155711792.jpg

Seuraavaksi ajan komennon “$ hostname -I”, joka kertoo IP-osoitteeni olevan 192.168.1.110.

img_20170910_161656106.jpg

Kopioin IP-osoitteen nettiselaimen osoitekenttään, joka myöskin avaa Apachen etusivun. Sivu toimii ongelmitta.

img_20170910_161902054.jpg

Tämän jälkeen yritän saada kotisivuni toimimaan public_html kautta. Ajan komennon “$ sudo a2enmod userdir”, jotta saan Userdir moduulin käyttöön. Terminaali vastaa, että Apache pitää käynnistää uudelleen “$ service apache2 restart” komennolla, jonka suoritan seuraavaksi.

img_20170910_162919540.jpg

Siirryn “$ cd” komennolla kotihakemistoon, jonne luon public_html-kansion komennolla “$ mkdir public_html” ja katson “$ ls” komennolla, että hakemiston luonti onnistui. Seuraavaksi kysyn terminaalilta “$ whoami”, joka kertoo käyttäjänimeni olevan “xubuntu” – tämä johtuen livetikun käytöstä.

img_20170910_163439992.jpg

Menen “$ cd public_html” komennolla kansion sisään ja “$ nano index.html” komennolla avaan tekstieditorin, jonne kopioin https://www.w3schools.com/html/tryit.asp?filename=tryhtml_basic_document sivulta validin html-pohjan ja kirjoitan muutaman rivin tekstiä.

img_20170910_164021755.jpgimg_20170910_164231219.jpg

Nyt siirryn tarkastelemaan kotisivujani osoitteeseen http://localhost/~xubuntu/ sekä http://192.168.1.110/~xubuntu/. Kummatkin toimivat oikein.

img_20170910_164810103.jpg

screenshot_20170910-165040.png

Lopuksi laitan Apachen käyttäjien kotisivut example.com toimimaan. Soitan luokkatoverilleni Rasmus Ekmanille, joka neuvoo tässä työvaiheessa. Menen komennolla “$ cd /etc/apache2/sites-available” kyseiseen hakemistoon ja “$ ls” komennolla listaan kansion sisällä olevat virtual hostit. Komennolla “$ sudo nano 000-default.conf” menen muokkaamaan virtual host tekstitiedostoa.

img_20170910_171831549.jpg

Lisään rivin “ServerAlias example.com” ServerName-rivin alapuolelle ja poistan risuaidat kolmelta Server-alkuiselta riviltä. Tallennan ja poistun tekstitiedostosta.

img_20170910_173046385.jpg

 

Tämän jälkeen boottaan Apachen “$ service apache2 restart” komennolla.

img_20170910_172415215.jpg

Seuraavaksi siirryn “/etc/” kansioon komennolla “$ cd /etc sudoedit hosts”, joka ei tosin vielä avaa nano-tekstinkäsittelyohjelmaa. Lyön uudelleen “$ sudoedit hosts” komennon, ja nyt pääsen muokkaamaan “hosts” tekstitiedostoa.

img_20170910_172652186.jpg

Luon rivit “127.0.0.1 -www.example.com-” ja “127.0.0.1 -example.com-“, joiden pitäisi tämän jälkeen toimia osoitteina kotisivuilleni. Tallennan tekstitiedoston ja poistun.

img_20170910_172855266.jpg

 

Viimeiseksi menen nettiselaimelle ja kirjoitan osoitteeksi http://example.com/~xubuntu/, joka avaa esimerkkikotisivuni onnistuneesti. Päätän tehtävän kello 18:11, aikaa kului noin 2,5 tuntia.

img_20170910_173151552.jpg

b) Omien sivujen surffaus ja onnistuneen sekä epäonnistuneen sivulatauksen lokimerkintä

Tehtävän aloitus kello 18:27. Aloitan menemällä tarkastelemaan Apachen access.log-lokia komennoilla “$ cd /var/log/apache2” ja “$ tail -f access.log”, jolla pääsen seuraaman lokia reaaliajassa.

img_20170910_183454713.jpg

Seuraavaksi uudelleenlataan http://example.com/~xubuntu/ kotisivuni, joka aiheuttaa yhtäaikaisesti lokimerkinnän access.log:iin.

127.0.0.1 – – [10/Sep/2017:15:36:00 +0000] “GET /~xubuntu/ HTTP/1.1” 200 444 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

img_20170910_183815700.jpg

Googletan “understanding linux access.log apache”, jonka avulla löydän lupaavan sivun, https://stackoverflow.com/questions/9234699/understanding-apaches-access-log, lokien lukemisen avuksi. Ensimmäinen tekstipätkä on loopback IP-osoite “127.0.0.1”, joka tarkoittaa remote hostia eli isäntää, joka tässä tapauksessa olen minä.

“- -“-merkki on erottamassa IP:n seuraavasta merkinnästä, “[10/Sep/2017:16:10:18 +0000]”, joka tarkoittaa asiakkaan pyynnön päivänmäärää, kellonaikaa ja aikavyöhykettä. Tässä tapauksessa päivänmäärä on 10. syyskuuta 2017, kello 15:40:14 +0000 aikaa eli GMT=Greenwich Mean Time. En ole määrittänyt Xubuntun aikaa Suomen kesäajaksi, joten tuo aika on kolme tuntia jäljessä.

“GET /~xubuntu/ HTTP/1.1”-rivi tarkoittaa asiakkaan eli sivun käyttäjän pyyntöä lukea sivu xubuntu-hakemistosta.

“200 444” tarkoittaa HTTP statuskoodia, jonka serveri lähettää asiakkaalle. “200” tarkoittaa OK eli pyyntö on onnistunut. Tämä ei tietenkään näy asiakkaalle, koska sivu toimii oikein. “444” tarkoittaa, että serveri/isäntä ei ole palauttanut tietoa asiakkaalle, ja on sulkenut yhteyden huonojen tai vihamielisten pyyntöjen estämiseksi. Vastaus löytyi sivulta https://en.wikipedia.org/wiki/List_of_HTTP_status_codes.

“-“-merkki on placeholder refererille eli sivuosoitteelle, josta asiakas on ohjautunut, toisin sanoen linkistä. Tässä tapauksessa asiakas eli minä käytti suoraa linkkiä, joten refererin paikalla on viiva.

Loppupätkä kokonaisuudessaan tarkoittaa User Agentia, joka kertoo nettisivulle tietoja selaimesta ja käyttäjärjestelmästä käytön optimoimiseksi. Tarkemmin, “Mozilla/5.0” tarkoittaa nettiselaimen versiota. “X11” tarkoittaa sovellusta, joka ohjaa muun muassa graafisia toimintoja Xubuntulla https://askubuntu.com/questions/7881/what-is-the-x-server sivun mukaan. “Ubuntu” tarkoittaa käyttöjärjestelmää. “Linux x86_64” tarkoittaa 64 bittistä käyttöjärjestelmäydintä. “rv:54.0” on revision token eli tarkistusmerkki, joka kertoo selaimen version. Vastaus löytyi osoitteesta https://msdn.microsoft.com/en-us/library/ms537503(v=vs.85).aspx. “Gecko” on web browser engine eli selaimen moottori ja sen perässä oleva numerosarja “20100101” on geckotrail. Yhdessä nämä osoittavat, että selain pohjautuu Geckoon. Vastaus löytyi sivulta https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/User-Agent/Firefox. Lopuksi jälleen kerrotaan selain ja sen versio “Firefox/54.0”.

Tämän jälkeen uudelleenlataan virheellisesti kotisivuni osoitteella http://example.com/~xubuntu/pekka, joka näkyy heti “Not Found” ilmoituksena. Taas samanaikasesti loki päivittyy.

img_20170910_184025959.jpg

img_20170910_184038659-e1505065369490.jpg127.0.0.1 – – [10/Sep/2017:15:40:14 +0000] “GET /~xubuntu/pekka HTTP/1.1” 404 506 “-” “Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:54.0) Gecko/20100101 Firefox/54.0”

Saadaan lähes samat merkinnät, kuin onnistuneessa sivun latauksessa, mutta muutama ero tulee. “GET /~xubuntu/pekka HTTP/1.1” näyttää, että asiakas on yrittänyt pyyntöä hakemistosta “pekka”, jota ei ole olemassa. Nyt saadaan myös “404 506” statuskoodi merkinnät. “404” tarkoittaa, että asiakkaan pyyntö on evätty, koska haluttua sivua ei löydy. Tämä tietenkin johtuu siitä, että kyseinen sivu ei ole olemassa. “506” tarkoittaa sisäistä konfiguraatiovirhettä. Päätän tehtävän kello 20:32. Aikaa kului noin 2 tuntia.

f) Palvelimella ajettava web-ohjelma

Tehtävän aloitus kello 20:59. Aloitan sulkemalla edellisen tehtävän lokin ja tyhjennän terminaaliruudun CTRL+L näppäimillä. Palaan “$ cd” komennolla kotihakemistoon ja sieltä “$ cd public_html”. Menen muokkaamaan omia kotisivujani komennolla “$ nano index.html”.

img_20170910_205247442.jpg

Koska olen jo ohjelmistotuotannon orientaatiokurssilla ohjelmoinut yksinkertaisen BMI-laskurin, voin käyttää sitä pienen muokkauksen jälkeen. Käyn hakemassa html-tiedoston Moodlesta vanhasta palautuskansiosta ja lataan sen Xubuntulle.

IMG_20170910_210721535

Klikkaan oikean tiedoston auki ja tarkistan, että oikea ohjelma on valittu. CTRL+U näppäimillä saan lähdekoodin auki ja kopioitua.

img_20170910_210746679.jpgimg_20170910_210801104.jpgimg_20170910_211049749.jpg

Liitän kopioidun koodin index.html sisään, kaunistan ulkoasua hieman ja lisään otsikon. Tallennan ja poistun.

img_20170910_205717954.jpg

Uudelleenlataan http://example.com/~xubuntu/ sivun ja nyt avautuu toimiva BMI-laskuri.

img_20170910_211824499.jpg

Päätän tehtävän kello 21:19. Aikaa kului noin 20 minuuttia.

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Update: Päivitetty ulkoasua 19.9.2017 kello 13:26.

 

Linux palvelimet 2. viikon läksyt: Komentojen harjoittelua

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.”

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

Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

a) Kaksi eri tapahtumaa lokiin

Aloitan tehtävän 2.9.2017 klo 23:17 omalla HP Pavilion 17 Notebook PC läppärilläni kotonani. Avaan terminaalin ja vaihdan aluksi suomalaisen näppäimistön “$ setxkbmap fi” komennolla sekä haen päivitykset komennolla “$ sudo apt-get update”, koska käytän Xubuntu USB-livetikkua. Komentojen referenssiksi avaan sivut http://terokarvinen.com/2009/command-line-basics-4 ja http://terokarvinen.com/2008/commands-for-admin-4.

img_20170902_221110300-e1504383758980.jpg

Seuraavaksi avaan toisen terminaalin viereen, jolla tulen tarkastelemaan lokia reaaliajassa. Menen komennolla “$ cd /var/log/” lokeja sisältävään kansioon ja lähden monitoroimaan “$ tail -f auth.log” komennolla reaaliajassa kymmenen viimeisintä riviä auth.log-lokia, joka sisältää esimerkiksi kirjautumis- ja todennustietoja.

IMG_20170902_232816575img_20170902_233540276.jpg

Aion aiheuttaa lokiin kaksi eri tapahtumaa salasanan onnistuneella vaihdolla ja epäonnistuneella yrityksellä. Siirryn viereiseen työskentely-terminaaliin ja kirjoitan “$ passwd”, jolloin kysytään nykyistä salasanaa. Koska en ole määritellyt salasanaa tätä ennen, riittää etenemiseksi ENTER-näppäimen painaminen. Nyt terminaali kysyy uutta salasanaa, jonka määrittelen “Linux1234”, minkä jälkeen pitää lyödä salasana vielä kerran. Salasanan vaihto onnistuu “password updated successfully” ilmoituksesta päätellen, mikä näkyy myös lokimerkinnässä.

img_20170902_234329624.jpgIMG_20170902_234320911

Tämän jälkeen yritän vaihtaa salasanaa uudelleen “$ passwd” komennolla, mutta tällä kertaa annan tahallaan väärän salasanan, josta työskentely-terminaali ilmoittaa “password unchanged” ja lokimerkintä “authentication failure” näkyy auth.log:issa. Päätän tehtävän teon kello 23:57.

img_20170902_235415037.jpgimg_20170902_2349477591.jpg

C) Unelmien apt-get -komento

Aloitan tehtävän teon 3.9.2017 kello 00:33. Kun mietin mitä ohjelmia eniten tarvitsen tietokoneelle, tulee mieleeni ensimmäiseksi kirjoitusohjelma, laskin, mediatoisto, internet-selain, kalenteri, peli ajankuluksi, torrent-ohjelma sekä kuvankäsittely. Nämä ovat perusohjelmia, joilla pärjää melko hyvin. Ne ohjelmat joiden komentotunnisteet tiedän jo valmiiksi ovat “vlc” VLC-mediatoisto-ohjelmalle, “gimp” GIMP-kuvankäsittelyohjelmalle, “supertux” Mario-tyyliselle SuperTux 2 pelille ja “libreoffice” LibreOffice ohjelmille, joka kattaa muun muassa kirjoitusohjelman. Löydän pienen haun jälkeen Googlesta vastauksen Xubuntun oletuslaskimen komentotunnisteeseen “gnome-calculator” sivulta https://askubuntu.com/questions/628026/how-to-launch-the-calculator-through-terminal. Selaimeksi haluamani Mozilla Firefoxin tunnisteen oletan olevan “firefox”, mitä testaan terminaalissa “$ dpkg –list firefox” komennolla. Oletus on oikein.

img_20170903_245154381.jpg

Xubuntun oletuskalenterin tunnuksen “orage” löydän myös Googlesta sivulta https://linux.die.net/man/1/orage. Linuxin tunnetuimman torrenttiohjelman, qBittorrentin, tunnus löytyy https://github.com/qbittorrent/qBittorrent/wiki/Setting-up-qBittorrent-on-Ubuntu-server-as-daemon-with-Web-interface-(15.04-and-newer), ja se on “qbittorrent-nox”.

Kun ohjelmien tunnisteet ovat tiedossa, avaan terminaalin ja kirjoitan komennoksi “$ sudo apt-get install vlc gimp supertux libreoffice gnome-calculator firefox orage qbittorrent-nox”. Tulee varmistuskysymys “haluatko jatkaa?”, johon vastaan myöntävästi ENTER-näppäimellä.

img_20170903_010455454.jpg

img_20170903_011419783.jpg

Asennus kestää noin minuutin ja kaikki muut ohjelmat asentuvat onnistuneesti, paitsi qBittorrent. Yritän asennusta uudelleen ilman “-nox”-päätettä komennolla “$ sudo apt-get install qbittorrent”, jolloin ohjelma asentuu. Päätän tehtävän kello 01:23.

d) Uudet komentoriviohjelmat

Aloitan tehtävän kello 01:30. Ensimmäiseksi komentoriviohjelmaksi asennan bc Command line calculator-laskimen, jonka komentotunniste on “bc”. “$ sudo apt-get install bc” jälkeen tulee ilmoitus, että ohjelma on asennettu jo.

img_20170903_014040896.jpg

Esimerkin vuoksi poistan asennuksen komennolla “sudo apt-get remove bc” ja asennan ohjelman uudelleen alusta. Käynnistä laskinohjelman komennolla “$ bc” ja kokeilen laskutoimitusta (12+12)*2-47=1. Ohjelma antaa oikean vastauksen.

img_20170903_014927856.jpg

Seuraavaksi asennan Tetris-tyylisen pelin, jonka löysin osoitteesta https://itsfoss.com/best-command-line-games-linux/. Komento tälle on “$ sudo apt-get install bastet” ja peli aukeaa komennolla “$ bastet”.

img_20170903_022752468.jpgimg_20170903_022314586.jpg

Kolmanneksi ja viimeiseksi ohjelmaksi asennan https://www.tecmint.com/20-funny-commands-of-linux-or-linux-is-fun-in-terminal/ sivulta löytämäni Fortune ohjelman, joka näyttää sattumanvaraisen lainauksen joltain tunnetulta henkilöltä tai hahmolta. “$ sudo apt-get install fortune” asentaa paketin ja “$ fortune” avaa.

img_20170903_024900569.jpg

Päätän tehtävän kello 02:53.

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html

Linux palvelimet 1. viikon läksyt: Linux-livetikun teko

Tehtävänanto

a) Tee oma Linux-livetikku. Kokeile sitä jossain muussa kuin koulun koneessa.

b) Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’).

c) Asenna kolme itsellesi uutta ohjelmaa. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa.

d) Mitä lisenssiä kukin näistä ohjelmista käyttää? Selitä lyhyesti, mitä oikeuksia ja velvolisuuksia tuosta lisenssistä seuraa.

d) Listaa käyttämäsi ohjelmat (esim. MS Word), kunkin ohjelman käyttötarkoitus (esim. Tekstinkäsittely) ja vastaava vapaa Linux-ohjelma (esim. LibreOffice Writer). Jos johonkin tarkoitukseen ei löydy vapaata Linux-ohjelmaa, listaa sekin.

b) Koneen tiedot

  • Tietokone: HP Pavilion 17 Notebook PC
  • Prosessori: AMD A10-5750M APU
  • Keskusmuisti: 4GiB SODIMM DDR3 Synchronous 1600
  • Näytönohjain: Radeon(tm) HD Graphics 2.50 GHz
  • Käyttöjärjestelmä: Windows 8.1 64
  • Muistitikku: DaraTraveler 8GB

 

a) Linux live-tikun teko, asennus ja testaus

Aloitin 23.8.2017 klo 21:35 omalla HP Pavilion 17 Notebook PC läppärilläni kotona  menemällä Tero Karvisen kotisivuille katsomaan kurssin aikataulua http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op#more-7163. Sieltä löysin levykuvalinkin käytettävään Xubuntu versioon, joka oli 1,3GB kokoinen xubuntu-16.04.3-desktop-amd64.iso. Pistin Xubuntu linkin lataukseen, jossa kesti noin 5 minuuttia. Samalta sivulta löysin Unetbootin kotisivut UnetBootinXubuntu.org. Pistin kyseiseltä sivulta lataukseen Unetbootin 64 bittisen version Windowsille.

Seuraavaksi klikkasin Unetbootin kuvakkeen auki, kun se oli latautunut. Valitsin alatäpän “Levykuva” ja etsin ladatut tiedot-kansiosta Xubuntun levykuvan. USB-asema oli automaattisesti määrätty. Sen jälkeen aloitin asennuksen. Kun asennus oli valmis tuli ilmoitus “After rebooting, select the USB boot option in the BIOS boot menu”.

img_20170823_220750480.jpg

img_20170823_222358477.jpg

Pienen etsimisen jälkeen löysin tavan avata Xubuntun USB-tikulta Windows 8.1 käyttöjärjestelmällä menemällä settings>change PC setting>update and recovery>recovery>advanced startup>restart now. Käynnistyksen jälkeen valitsin *Use a device>USB Drive (UEFI). Ohjeet löytyivät https://www.youtube.com/watch?v=XZcYbxOcPV0 videosta.

img_20170823_224805044.jpg

Sen jälkeen valitsin Try Xubuntu vaihtoehdon ja Xubuntu käynnistyi onnistuneesti. Ainoa ongelma oli vääränlainen näppäimistö, mutta vaihdoin sen asetuksista suomalaiseksi. Tämä tehtävävaihe tuli päätökseen kello 22:49.

IMG_20170823_224922137

c) Kolmen uuden ohjelman asennus

Kello 23:49 avasin http://terokarvinen.com/2008/commands-for-admin-4 sivun komentojen avuksi. Ajoin “$ sudo apt-get update” ensimmäiseksi päivitysten saamiseksi.

img_20170823_234939992.jpg

Seuraavaksi ajoin “$ sudo apt-get vlc” ja VLC Media Player asentui onnistuneesti.

GIMP ohjelman asensin komennolla “$ sudo apt-get gimp” ja viimeiseksi asensin Supertux 2 pelin “$ sudo apt-get install supertux”, jotka myös toimivat hyvin. Päätin työvaiheen kello 00:31.

 

d) Asennettujen ohjelmien lisenssit

Kaikki asentamani ohjelmat ovat GNU General Public Licensen alaisia eli ne ovat vapaita ohjelmia. Kertasin https://www.gnu.org/philosophy/free-sw.html sivulta sen määritelmää ja se tarkoittaa sitä, että niitä saa käyttää, muokata (pääsy source codeen), uudelleenlevittää ja uudelleenlevittää muokattua ohjelmaa. Näin kaikki saavat mahdollisten parannusten edut käytettäväksi. GNU GPU ehtona on, että kaikilla on samat edut ohjelmaan eli esimerkiksi saat myydä ohjelma millä hinnalla tahansa, mutta ostaja saa myös myydä sen eteenpäin.

Käyttämiäni ohjelmia vs vapaat Linux-ohjelmat

  • Microsoft Word – Tekstinkäsittely – LibreOffice Writer
  • BSplayer – Mediasoitin – VLC Player
  • CCleaner – Puhdistustyökalu – Stacer
  • Microsoft Excel – taulukkolaskentaohjelma – LibreOffice Calc
  • Freedome – VPN – Tor
  • uTorrent – BitTorrent ohjelma – qBittorrent

Lähteet

Muuta

Tätä dokumenttia saa kopioida ja muokata GNU General Public License (versio 2 tai uudempi) mukaisesti. http://www.gnu.org/licenses/gpl.html