Linux palvelimet kurssi – Kotitehtävä 6

Tehtävänanto:

h6

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)

Tehtävän toteutus:

a) “Hei maailma” kolmella kielellä:

1.Bash

Asentaakseni bash kielen ajoin komennon:

sudo apt-get install bash

Tämän jälkeen seilasin netissä muistin virkistykseksi. Löysin Bash kielellä tehdyn esimerkin, joten tein saman ja se myös toimi:

Loin tiedoston nanolla käyttäjän kotikansioon:

nano moikka.sh

Huom. tiedoston loppu oltava .sh bashia varten. Kirjoitin seuraavan kodin pätkän tiedostoon, jonka löysin mainitsemaltani nettisivulta:

Screenshot_2017-10-08_17-32-28

Oheisessa kaapauksessa on kolme esimerkkiä komentoa, jotka myös löysin kyseiseltä nettisivulta, jolla voi ajaa kyseisen tiedoston bash kielellä:Screenshot_2017-10-08_17-31-50

2.Python

Asentaakseni pyhtonin ajoin komennon:

sudo apt-get install python3-flask

Löysin jälleen kerran netistä hyvän sivun, jossa on ohjeet pyhton skriptin luomiseen. Loin nanolla taas käyttäjän kotihakemistoon tiedoston komennolla:

nano moikka.py

Tiedostoon kirjoitin seuraavan koodipätkän:

Screenshot_2017-10-08_17-46-05

Tämän jälkeen ajoin komennon:

pyhton moikka.py

3.PHP

Ajoin komennon:

sudo apt-get install php7.0-cli

Loin tiedoston komennolla:

nano moikka.php

Kirjotin seuraavan koodipätkän tiedostoon:

<?php
echo "Hi, I'm a PHP script!";
?>

(http://php.net/manual/en/intro-whatis.php)

Ajoin komennon:

php moikka.php

 

b) Linkki kotitehtäviin

 

Advertisements

Linux palvelimet kurssi – Kotitehtävä 5

Tehtävänanto:

h5

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?

 

Ryhmä 4-tiistai pakolliset messutehtävän lisäksi

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öä.
Vapaaehtoisena lisätehtävänä voit tehdä h4 LAMP ja WordPress -harjoituksia.

Tehtävien toteutus:

d4) Asenna LAMP ja lue tietokantaa PHP-ohjelmalla.

Alustus:

LAMP eli Linux, Apache, Mysql ja php. Tässä tehtävässä tulen toteuttamaan kaikki asennukset ja tehtävät vuokraamani virtuaalipalvelimeen (VPS), jossa on käyttöjärjestelmänä 64 bittinen Ubuntu 16.04.3.
Tulen asentamaan palvelimeeni vain Mysql tietokannan sekä php skritikielen, sillä Linuxin olen jo ensimmäisessä kotitehtävässä asentanut ja apachen asennusohjeet löytyy kolmannesta kotitehtävästä.

Mysql ja php asennus:

Asentaakseni kaikki yhtä aikaa ja tekemällä päivityksen samalla ajoin seuraavan komennon:

sudo apt-get update && sudo apt-get install mysql-client mysql-server libapache2-mod-php php-mysql curl lynx

Asennuksen aikana mysql pyytää rootille salasanaa:screenshot_2017-10-02_16-52-54.png

Tämän jälkeen muokkasin php7.0.conf tiedostoa, jotta kotikansiossa on sallittua käyttää php kieltä:
Tiedosto löytyi seuraavasta kansiosta: /etc/apache2/mods-available
Komennolla: sudoedit php7.0.conf pääsin muokaamaan tiedostoa, jossa laitoin ohjeiden mukaisesti viiden viimeisen rivin eteen risuaidan.Screenshot_2017-10-02_16-52-54
Kokeilin php:tä luomalla nanolla tekstitiedoston (index.php) käyttäjäni public_html kansioon. Tiedostoon kirjoitin php koodia ja kävin tarkistamassa sivuiltani näkyykö koodi oikein. Nettisivut eivät näyttäneet samaa, mitä kirjotin index.php nimiseen tiedostoon. Tajusin kuitenkin, että apache pitää uudelleenkäynnistää, jotta php näkyy, joten ajoin komennon:
sudo service apache2 restart. 
Tämän jälkeen kirjauduin sisään mysql komennolla: mysql -u root -p, jonka jälkeen kysytään salasanaa, jonka loimme mysql latauksen yhteydessä.
Seuraavaksi loin tietokannan komennolla:
CREATE DATABASE oscar CHARACTER SET utf8;
Tämän jälkeen loin käyttäjän ja käyttöoikeudet tälle komennolla:
GRANT ALL ON oscar.* TO oscar@localhost IDENTIFIED BY ‘salasana’;
(Loin myös samalla tietokannan wordpressiä varten kahden edellisen komennon avulla sain luotua rahtuwp nimisen tietokannan.)
Otin tietokannan käyttöön komennolla:
USE oscar;
Tein taulukon komennolla:
CREATE TABLE autot(id INT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(1024);
Lisäsin taulukkoon arvoja komennoilla:
INSERT INTO autot(name) VALUES (‘porsche’);
INSERT INTO autot(name) VALUES (‘ford’);
INSERT INTO autot(name) VALUES (‘lamborghini’);
INSERT INTO autot(name) VALUES (‘lada’);
Tarkistin löytyykö arvot taulukosta komennolla:
SELECT * FROM autot;
Kaikki syöttämäni arvot löytyivät.
Seuraavaksi menin muokkaamaan index.php tiedostoa (olen luonu tiedoston seuraavaan hakemistoon :/home/”käyttäjä”/public_html/index.php) (HUOMIO! oltava .php päätteinen tiedosto), jotta saan taulukon näkyviin. Otin seuraavan koodin pätkän Tero Karvisen sivuilta ja muutin sinne oman käyttäjänimen mysqllään sekä salasanan ja taulukon nimen:
<?php
// public_html/index.php – Read MySQL from PHP
// (c) 2016 Tero Karvinen http://TeroKarvinen.com// MySQL Login
$user=’terohat‘;
$password=’9nl3jhIInex9)83.23uu‘;// Data Source Name i.e. connection details
$database=$user;
$dsn=”mysql:host=localhost;charset=UTF8;dbname=$database”;

// Open Connection, create new object of PDO class
$pdo=new PDO($dsn, $user, $password);

// Perform SQL Query
$pdoStatement=$pdo->prepare(‘SELECT * FROM hats;’);
$pdoStatement->execute();
$hits=$pdoStatement->fetchAll();

// Print the $hits Array
foreach($hits as $row) {
echo “<p>”.$row[‘id’].” “.$row[‘name’].”</p>\n”;
}
?>

Kohdat, jotka eivät ole paksunnettu tulee vaihtaa. Tarkistin omilta sivuilta toimiiko koodi:

Screenshot_2017-10-04_10-54-56

(http://terokarvinen.com/2016/mysql-install-and-one-table-database-sql-crud-tutorial-for-ubuntu)

e4) Asenna WordPress ja luo esimerkkisisältöä.

Asensin wordpressin käyttäjäni public_html kansioon komennolla:

wget https://wordpress.org/latest.tar.gz

WordPress asentui, jonka jälkeen purin tiedoston samaan kansioon komennolla:

tar -xf latest.tar.gz

Poistin asennus tiedoston komennolla:

rm latest.tar.gz

Poistin myös index.php tiedoston komennolla:

rm index.php

Siirsin vielä luomani wordpress kansion kokonaan public_html kansioon komennolla:

mv wordpress/* ../public_html/

Menin sivuilleni ja avautui seuraavanlainen näkymä:

screenshot_2017-10-04_11-16-19-e1507115857931.png

Painoin Let’s go nappia ja avautui seuraavanlainen näkymä:Screenshot_2017-10-04_11-26-21

Täytin tarvittavat tiedot eli tietokannan nimen, jonka loin edellisessa mysql tehtävässä sekä salasanan. Painoin Submit ja avautui seuraavanlainen näkymä:

screenshot_2017-10-04_11-31-31.png

Ajoin seuraavan komennon kansioon (/home/rahtu/public_html/), jotta sain luotua tiedoston, jonne kopioin sivulla olevan php koodin:

nano wp-config.php

Tämän jälkeen painoin Run the install nappia ja avautui seuraavanlainen näkymä:

Screenshot_2017-10-04_11-41-38

Täytin tiedot ja painoin Install WordPress. Näin ollen wordpress oli asennettu.

a) Messuraportti

Kävin Cyber Security Nordic messuilla tiistaina 26.07.2017. Messuista ei minulle jäännyt kauheesti mitään käteen, sillä esitykset olivat minun käsitykseni mukaan maksullisia tuona päivänä ja kun itse en ole ikinä opiskellut tietotekniikkaa tai tietoturvaa, niin koko aihe oli ja on edelleen minulle vähän vieras.

Kiertelin messujen aikana kolmen yrityksen ständillä, josta paras oli Bittiumin ständi, jossa oli yrityksen edustaja esittelemässä Bittiumia ja heidän tuotteitaan. Ennen ständille menoa Bittium oli selvästi minulle tutuin firma, vaikka en oikeastaan tiennyt mikä on Bittiumin pääliiketoiminta. Olin myös aikasemmin kuullut Bittiumista pörssin kautta, sillä aikoinaan minulla oli elektrobitin osakkeita (vanha Bittium).

Kysyin yrityksen edustajalta, että miten nykyinen Bittium eroaa entisestä elekrobitista ja vastatus oli: Entisessä elekrobitissa oli kaksi eri pääliiketoimea eli elektrobit Automotive ja tietoliikenne turvallisuuspuoli. Automotive myyntiin pari vuotta sitten pois toiselle yritykselle ja nykyiselle tietoliikenne turvallisuuspuoli jäi elekrobittiin, jonka nimeksi tuli muutoksen myötä Bittium.

Kysyin edustajalta myös heidän tuotteista ja sain käsityksen, että heillä on erittäin laaja valikoima tuotteita sekä palveluita, joita he tarjoavat pelkästään toisille yrityksille. Ständillä oli esillä kolme eri Bittiumin tekemää alypuhelintä: perus android puhelin kuluttajille, android puhelin, jossa oli paremmat tietoturva suojat eli kehitetty viranomaisia varten kuten poliiseja sekä palomiehiä sekä löyty vielä kolmas, joka oli turvallisin ja tällä hetkellä ilmeisesti maailman ensimmäinen älypuhelin, jossa on vastaavanlainen turvaluokitus. Lisätietoja löytyy osoitteesta: (https://www.bittium.com/tuotteet_ja_palvelut/public_safety__security/bittium_tough_mobile)

Toka ständi oli F-securen ständi, jossa kaksi nuorta oli edustamassa yritystä. Tulin ständille kysymään heidän tuotteista, jolloin molemmat kertoivat, että netistä löytyy tietoa heidän tuotteista ja sain ison esitteen mukaani. Vierailu oli siis hyvin lyhyt ja en siitä saannut mitään irti, sillä minulla lopu aika kesken, enkä ehtinyt perehtyä yrityksen tuotteisiin sen kummemmin.

Kolmas ständi oli Nixu, jossa oli kaksi alan asiantuntijaa puhumassa (toinen oli ulkopuolinen ja toinen yrityksen edustaja) Nixun palveluista. Itse kuuntelin keskustelun, mutta postauksen kirjotus hetkellä oli jo kulunut lähes kaksi viikkoa keskustelusta, joten en muista siitä juuri mitään ja aikaa minulla ei ollut jäädä kysymään yrityksen edustajalta lisäkysymyksiä ständille.

Linux palvelimet kurssi – kotitehtävä 4

Tehtävänanto:

h4

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

Tehtävän toteutus:

Lähtökohta: Tein tehtävät omalla koneellani (HP ENVY 15 NOTEBOOK), jossa käytin linux käyttöjärjestelmää livetikun avulla.

r) Kokeile julkista virtuaalipalvelinta (VPS).

Vuokrasin virtuaalipalvelimeni DigitalOceanista, sillä GitHub Education -packin avulla sain 50$ ilmaiseksi. Menin ihan ensimmäiseksi DigitalOceanin kotisivuille. Rekisteröidyin kotisivuilla. Tämän jälkeen valitsin create Droplets, jonka jälkeen avautui seuraavanlainen näkymä:Screenshot_2017-09-24_08-26-50.png

Valitsin linuxia varten Ubuntu 16.04.3 ja 64 bittisen version ja otin toiseksi halvimman kokoluokan. (Kannattaa ottaa mielummin liian pieni kokoluokka, kuin liian suuri, sillä liian pientä saa helposti suurennettua, mutta toisin päin on haastavempaa).Screenshot_2017-09-24_08-42-13.png

Tämän jälkeen valitse maa, josta halusin datasenterin sekä palvelimelle nimeksi (hostname) oscar. Nimellä ei ole suurta merkitystä, sillä nimi näkyy ainostaan minulle, jotta erittaisin eri palvelimet, jos minulla olisi niitä monta. Tämän jälkeen painoin Create-nappia ja noin minuutin kuluttua palvelin oli luotu:Screenshot_2017-09-24_09-07-15.png

Tämän jälkeen avasin komentokehotteen ja ajoin seuraavan komennon: ssh root@46.101.219.201 (Ensimmäisen kirjautuminen tapahtuu rootin kautta, mutta tulevat kirjautumiset tapahtuu käyttäjän kautta). Seuraavaksi laitoin salasanan, jonka sain sähköpostitse sekä vaihdoin salasanan. Nyt olin tehnyt ja kirjautunut ensimmäistä kertaa virtuaalipalvelimeen.

Seuraavaksi laitoin palomuurin kuntoon seuraavilla komennoilla: sudo ufw allow 22/tcp & sudo ufw enable. (http://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean)

Tämän jälkeen tein käyttäjän palvelimeen: sudo adduser oscar. Tämä ei vielä riitä, sillä kyseisen käyttäjän tulee olla sudo sekä admin eli ajoin komennot: sudo adduser oscar sudo & sudo adduser oscar ad & sudo adduser oscar admin. (http://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean)

Seuraavaksi kokeilin (toisella komentokehotteella) toimiiko kyseinen käyttäjä (oscar) ja loin salasanan käyttäjälle. Totesin, että toimii, jonka jälkeen suljin rootin: sudo usermod –lock root sekä kielsin kirjautumisen roottina: sudoedit /etc/ssh/sshd_config , jonka jälkeen aukesi tekstitiedosto, josta muutin seuraavaa riviä seuraavanlaiseksi: PermitRootLogin no. (http://terokarvinen.com/2017/first-steps-on-a-new-virtual-private-server-an-example-on-digitalocean)

Tämän jälkeen komento: sudo service ssh restart. Nyt palvelin on valmiina käyttöön ja siihen voi asentaa esimerkiksi apachen komennolla: sudo apt-get install apache2.

x) Laita julkinen domain-nimi osoittamaan koneeseesi

Hankin itselleni domainin namecheap.comista, sillä GitHub Education packillä saa vuodeksi ilmaisen .me domainin namecheapistä.

Tein käyttäjätunnukset namecheapin. Etsin vapaana olevan domainin ja otin/ostin sen käyttööni (rahtu.com). Jotta sain domainin liitettyä palvelimeeni, katsoin ohjeet namecheapistä. Namecheapissä valitsin Domain List ja painoin haluamani domainin kohalla MANAGE- nappia, jonka jälkeen Advanced DNS. Tein toimenpiteet namecheapin ohjeitten mukaan ja tämän jälkeen domaini ohjautui palvelimen nettisivuille.https://oscarrahtu.files.wordpress.com/2017/09/screenshot_2017-09-24_10-04-22.png?w=1332&h=732SieppaaScreenshot_2017-09-24_10-04-22.png

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

Kirjautuneen palvelimeen (ja apache jo valmiiksi ladattuna palvelimeen) loin käyttäjäni kansioon uuden kansion public_html komennolla: mkdir public_html. Loin tähän kansioon uuden tekstitiedoston nanolla, jonka nimeksi annoin index.html (komenolla: nano index.html). Tämän jälkeen loin uuden tekstitiedoston: sudoedit /etc/apache2/sites-available/oscar.conf, johon kirjoitin seuraavan kooin/tekstin ohjatakseen nettisivujen oletussivu käyttäjän public_html:llään:

<VirtualHost *:80>
DocumentRoot /home/oscar/public_html/

<Directory /home/oscar/public_html/>
Require all granted
</Directory>
</VirtualHost>

Seuraavaksi otin käyttöön juuri luomani tiedoston oletukseksi ja poistin pois käytöstä nykyisen oletus tiedoston komennoilla:

sudo a2ensite oscar.conf
sudo a2dissite 000-default.conf

Tämän jälkeen käynnistin uudelleen apachen komennolla: sudo service apache2 restart. (http://terokarvinen.com/2016/new-default-website-with-apache2-show-your-homepage-at-top-of-example-com-no-tilde).

y) Etsi julkisen palvelimesi lokeista esimerkkejä murtautumisyrityksistä.

Menin palvelimessa seuraavaan tiedostoon: /var/log, jonne ajoin komennon: sudo tail -f auth.log. Huomasin lokeista, että murtautumisia tapahtui lähes joka sekuntti ja valitsin yhden IP-osoitteen ja ajoin komennon: whois (IP-osoite). Oheisesta kuvakaappauksesta voidaan huomata, että hyökkäys tuli kiinasta.Screenshot_2017-09-24_10-25-34.png

Screenshot_2017-09-24_10-25-51.png

Linux palvelimet kurssi – kotitehtävä 3

Tehtävänanto:

h3:

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

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

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

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

Tehtävän toteutus:

a)

  1. Avasin ensimmäiseksi komentokehotteen ( CTRL + ALT + T)
  2. Suoritin ekana päivityksen (sudo apt-get update)
  3. Asensin apache 2 (sudo apt-get -y install apache2)
  4. Ajoin komennon: hostname -I. Saadakseen tietää IP osoitteeni.
  5. Kopioin IP osoitteeni nettiselaimeen ja huomasin, että apache toimii.Screenshot_2017-09-11_16-25-28.png
  6. Loin komennolla: mkdir public_html, uuden kansion käyttäjäni (xubuntu livetikulla) tiedostoihin -> /home/xubuntu. Kyseiseen kansioon loin tekstinkäsittely ohjelmalla (nano) tiedoston nimeltä index.html, johon kirjoitin: moikka.
    Tämän jälkeen ajoin komennon: sudo a2enmod userdir ja, jonka jälkeen ajoin komennon: sudo service apache2 restart.
    Kijoitin selaimeen IP osoitteeni perään: /~xubuntu/. Sivu avautui ja siellä näkyi sama teksti, jonka kirjoitin nano tekstinkäsittelyohjelmalla.Screenshot_2017-09-11_16-44-36

b) Epäonnistunut loki:

Etsin apache2 lokit ja löysin ne: /var/log/apache2 ja siellä oli kolme eri kansiota. Epäonnistuneet lokit löytyivat error.log nimisestä lokikansiosta. Ajoin komennon: sudo service apache2 stop eli pysäytin apachen ja ajoin myös komennon: tail error.log kansioon /var/log/apache2, jotta löysin lokin, joka kuvaa apachen error lokeja.
Screenshot_2017-09-11_17-12-45

Oheisesta kuvakaappauksesta voidaan huomata, että viimeinen loki kuvaa apachen sulkemista. Ensimäisenä rivillä on päivämäärä ja aika, joka on GMT aika eli Lontoon aikavyöhyke. Seuraavista kirjain ja numero yhdistelmistä en ole varma mitä ne tarkoittavat, mutta itseäni kiinnosti lähinä rivin viimeiset kaksi sanaa eli shutting down, joka viittaa siihen, että apache2 sulkeutui.

Onnistunut loki:

Menin luomille nettisivuille ja päivitin sivun. Avasin komennolla: tail access.log nettisivuihin kohdistuneet käyttölokit:screenshot_2017-09-11_17-25-03.png

Viimeinen lokirivi on minun aiheuttama sivunpäivitys nettisivulle. Huomasin myös, että joku toinen IP-osoite on testailuni aikana käynnyt nettisivuilla, joka on mielestäni hieman outoa, sillä käyttäjällä pitäisi järkeni mukaan olla IP-osoitteeni tiedossa, jotta hän pääsisi nettisivuille.

Ensimmäisenä lokissa on IP-osoite, jonka jälkeen on päivämäärä ja aika (GMT aika). Tämän jälkeen löytyy osoite sivulle, jonka latasin (/~xubuntu) ja koodi, joka kuvaa toimenpidettä. Seuraavaksi tulee tietoja käyttäjän selaimesta, käyttöjärjestelmästä ja selaimen versiosta.

h) Ensimmäiseksi yritin etsiä kansiota, jossa on kaikki nano ohjelmalla kirjoitetut tekstit, joita apache käyttää oletuksena kotisivujen näyttämiseen. Löysin kyseisen kansion pienen etsimisen jälkeen paikasta: /etc/apache2/sites-available/. Loin kyseiseen kansioon komennolla: sudoedit oscar.conf, uuden tiedoston, johon kirjoitin oheisen tekstin:Screenshot_2017-09-11_17-50-47

Apache käyttää oletuksena: 000-default.conf. Laitoin sen pois päältä komennolla: sudo a2dissite 000-default.conf. Ja laitoin juuri luomani tiedoston oletuskäyttöön komennolla: sudo a2ensite oscar.conf. Tämän jälkeen apachen uudelleenkäynnistys komennolla: sudo service apache2 restartscreenshot_2017-09-11_17-52-02.png

 

Linux palvelimet kurssi – Kotitehtävä 2

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

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

c) 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)

Tehtävän toteutus:

a) Kävimme edellisellä tunnilla läpi mitä komentokehotteen lokeissa tapahtuu, kun otetaan internet-yhteys pois päältä, joten ajattelin toteuttaa saman tehtävää varten.

Aloitin tehtävän avaamalla komentokehotteen. Muistin virkistykseksi kävin myös katsomassa mitä komentoja minun tulee tehtävää varten käyttää kurssin sivuilta (http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op). Muistin tunnilta, että minun pitää päästä kansioon nimeltä var/log/ ja sieltä saan syslogista kaikki loki tiedot. Etsin tiedoston käyttämällä komentoa ls (näytä kansiossa olevat tiedostot/kansiot) ja cd komennolla (mene kansioon).Screenshot_2017-09-03_17-42-50

Onnistunut lokitapahtuma:

Seuraavaksi laitoin netin pois päältä, jonka jälkeen laitoin komentokehotteeseen komennon: sudo tail syslog. Tällä komennolla saan syslogista 10 viimeisintä lokia näkyviin.Screenshot_2017-09-03_18-14-46

Jokainen rivi kuvaa yhtä lokitapahtumaa. Jokaisessa lokitapahtumassa on seuraavanlainen “ilmaisujärjestys”: 1. päivämäärä ja aika, 2. käyttäjä, 3. demoni, 4. koodi, 5. lokin tapahtuman kuvailu.

b) Tunnilla käytimme monen tiedoston luomiseen seuraavanlaista menetelmää: ensimmäisenä komento esim. tiedoston luomiseen (mkdir), jonka jälkeen kaikki tiedoston nimet, jotka halutaan tehdä (erotettuna välilyönillä). Ajattelin samalla periaatteella toteuttaa unelmien apt-get komennon. Päätin asentaa kaikki kolme ohjelmaa, jota käytin edellisessä kotitehtävässä. Laitoin siis komennon: sudo apt-get install vlc chromium-bsu xpaint.

Screenshot_2017-09-03_18-52-07.png

c) En tiennyt entuudestaan ohjelmia, jotka toimivat linuxin komentokehotteessa, joten jouduin googlettamaan, jotta löysin kolme sopivaa ohjelmaa. (https://linuxaria.com/article/10-programs-terminal)

Ensimmäiseksi otin ohjelman Terminator, jonka avulla pystyy avaamaan monia komentohehotteita samanaikaisesti ja muokkaamaan ne sen näköiseksi, kuin itse haluaa. Latasin ohjelman sekä kokeilin ohjelmaa avaamalla kaksi lisä komentokehotetta ja testasin toista komentokehotetta erilaisilla komennoilla:

Screenshot_2017-09-03_18-58-53.png

Toiseksi ohjelmaksi valitsin Mutt, joka on ohjelma, jonka avulla voi lähettää sähköposteja. Kokeilin lähettää omaan sähköpostiin viestin, mutta en onnistunut siinä.

Screenshot_2017-09-03_19-55-05.png

Kolmanneksi valitsin Vim. Vim on tekstinkäsittely ohjema, joka muistuttaa vähän nanoa, mutta en ihan päässyt ajan puutteen vuoksi perille miten ohjelma oikeasti toimii, mutta ensi kosketus ohjelmaan oli negatiivinen ja suosittelisin enemmän nanoa, kuin Vimmiä.

Screenshot_2017-09-03_20-00-13.png

Linux palvelimet kurssi – kotitehtävä 1

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.

Tehtävien toteutus:

a) Alkuvalmistelut

Kävin ihan aluksi ostamassa USB-tikun: San Disk USB 3.0 Flash Drive 32GB, sillä minulla ei USB-tikkua entuudestaan löytynyt. Mietin ostaessani tikkua, että pienempikin muisti olisi varmasti riittänyt tehtävää varten, mutta ostin varmuuden vuoksi vähän jykevämmän muistin, jos siitä joskus tulevaisuudessa olisi hyötyä.

Aloitin ottamalla selvää vähän miten Linuxin asennus tapahtuu USB-tikulle opettajan omilta kurssisivuilta (http://terokarvinen.com/2017/aikataulu-linux-palvelimet-ict4tn021-4-ti-ja-5-to-alkusyksy-2017-5-op). Katsoin myös muistin virkistämiseksi valmiiksi tehdyn selostuksen tehtävän toteutuksesta oppilaan blogista, josta opettaja oli linkannut linkin kaikille kurssin oppilaille.

Välineet, joita käytin tehtävän toteutukseen:

  • Kannettava tietokone (HP Envy), Käyttöjärjestelmä Windows 10
  • USB-tikku: San Disk USB 3.0 Flash Drive 32GB
  • Internet yhteys tietokoneeseen ethernet kaapelin välityksellä (10Mbit/s)

A-kohdan toteutus:

Aluksi avasin koneeni (HP, Windows 10) sekä laitoin USB-tikun kiinni koneeseen ja latasin opettajan kurssisivuilta Xubuntun xubuntu-16.04.3-desktop-amd64.iso. Tiedosto oli 1,2GB kokoinen ja lataus kesti (hitaalla 10 megan netillä) 17 minuuuttia (olisi todennäköisesti menny huomattavasti nopeemmin kännykän 4G netillä). Saman aikaisesti menin Unetbotin nettisivuille (linkki löytyi opettajan kurssisivuilta), josta latasin windowsille Unetbotin. Tiedosto oli 4,6MB kokoinen ja kesti pari sekunttia. Tämän jälkeen avasin Unetbotin tiedoston. Kone kysyi, että sallitaanko Unetbotin tehä muutoksia koneeseen. Painoin kyllä, jonka jälkeen avautui tälläinen näkymä:

Näyttökuva (30)

Valitsin Levykuva kohdan ja etsin Xubuntun ladatuista tiedostoista. Tarkistin myös, että Levykuva tulee varmasti USB-tikulle eli alhaalla lukee: Tyyppi: USB-asema. Vaihtoehtona on kiintolevy, joten kannattaa tarkistaa, että oikea vaihtoehto on valittuna. Tämän jälkeen painoin OK. Asennus kesti pari minuuttia ja, kun asennus on valmis ohjelma tiedottaa, että: After rebooting, select the USB boot option in the BIOS boot menu.

Tämän jälkeen menin Asetuksiin -> Päivittäminen ja suojaus -> Palauttaminen -> Käynnistyksen lisäasetukset -> Käynnistä uudelleen nyt. Käytin oheista Youtube-videota apunani, jotta pääsin Windows 10:llä BIOS valikkon (https://www.youtube.com/watch?v=UPIUkPGaGys). Tämän jälkeen kone päätyi tämän näköiseen näkymään:WhatsApp Image 2017-08-27 at 20.51.39

Painoin: Käytä laitetta, jonka jälkeen avautui seuraavanlainen näkymä:WhatsApp Image 2017-08-27 at 20.51.39(1)

Painoin USB Drive (UEFI), jonka jälkeen kone uudelleen käynnistyi. Heti ensimmäiseksi ilmestyi seuraavanlainen näkymä:

WhatsApp Image 2017-08-27 at 20.51.39(3).jpeg

Valitsin ensimmäisen eli: Try Xubuntu without installing. Seuraavaksi aukesi työpöytä:

WhatsApp Image 2017-08-27 at 20.51.38

Tämän jälkeen pystyi käyttämään konetta normaalisti Linux käyttöjärjestelmällä Live-tikun kautta. Kun sammutin koneen ja avasin sen uudestaan, Windows käynnistyi normaalisti. Selostamani menetelmän avulla, pystyy Windows 10 käyttöjärjestelmän avulla käyttämään Linuxia USB-tikun kautta, mutta menetelmä on ns. kertakäyttöinen eli aina, kun avaat koneen joudut joka kerta menemään asetuksiin ja muutaman klikkauksen kautta saat vaihdettua tikun käyttöjärjestelmään. (ei kovin tehokas keino ajallisesti) Testasin myös toimiiko kaikki oikealla tavalla: menin firefoxilla opettajan kotisivuille. Huomasin, että käytössä oli väärä näppäimistö, mutta en pitkän etsimisen jälkeen löytänyt miten se vaihdetaan, joten päätin käyttää englanninkielistä näppäimistöä (josta ei minun mielestä ollut kovinkaan paljoa haittaa). Tein myös lopuksi terminaaliin järjestelmän päivityksen eli komento: ‘sudo apt update’.

B) Koneen raudan sain terminalista. Laitoin terminaaliin komennon: ‘sudo lshw -short -sanitize’

whatsapp-image-2017-08-27-at-20-51-381.jpeg

C)Asensin seuraavat kolme ohjelmaa: VLC media player, Xpaint ja Chromium-bsu (peli). Asensin kaikki kolme ohjelmaa terminaalin kautta. Laitoin aina kommenon: ‘sudo apt install vlc’ eli ‘sudo apt install’ ja ohjelman nimi. Testasin kaikkia ja kaikki ohjelmat toimivat.WhatsApp Image 2017-08-27 at 20.51.38(2).jpegWhatsApp Image 2017-08-27 at 20.51.37(1).jpegWhatsApp Image 2017-08-27 at 20.51.37(2).jpeg

d) Kakki kolme ohjelmaa ovat vapaita ohjelmia. VLC oli GNU alainen eli vapaa-ohjelma ja Xpaint sekä Chromium olivat myös vapaita ohjelmia, mutta eri lisensseillä.

e) Tekstinkäsittely: MS Word (Windows), Libre Office Writer (Linux)

Taulukko-ohjelma: MS Excel (windows), Libre Office Calc (Linux)

Mediasoitin: Windows media player, VLC media player (Linux)

Piirtely ohjelma: Paint (windows), Xpaint (Linux)

Muita lähteitä:

(http://www.hackingsimplicity.com/best-apps-to-install-on-xubuntu-ubuntu-linux/)

(http://wiki.linuxquestions.org/wiki/Linux_software_equivalent_to_Windows_software#Multimedia)

(https://www.youtube.com/watch?v=IVquJh3DXUA)