Linux Palvelimena: Harjoitus 1

Tehtävänanto:

  • ratkaise valitsemasi Työasemat ja tietoverkot koe. Raportoi.
  • Opiskele kertauspaketti aikataulusivulta.
  • Tee Live-USB tikku (suositus: Xubuntu 16.04 LTS amd64 desktop). Pidä tikku mukana tunnilla.

Johdanto

Ensimmäisenä tehtävänä oli Työasemat ja tietoverkot kurssin nro 25 kokeen tehtävät raportoituna. Lisäksi Live-tikku tehtiin osana kokeen tehtävän toteutusta.

Tehtävänanto
Karttakatu Oy

Me Karttakatu Oy:ssä teemme karttoihin liittyviä weppisovelluksia. Olemme muutaman hengen yritys.

Asenna työasema, jolla tavallisimmat toimistotyöt onnistuvat (weppisurffailu, tekstinkäsittely).

Työntekijämme ovat Einari Vähäkäähkä, Pekka Winha, Åke Andersson ja Leila Laila. He haluavat kehittää PHP-kotisivuja etäkäyttöyhteydellä. Asenna tarvittavat palvelut ja tee esimerkkisivut.

Asenna kaikkien käyttäjien käyttöön skripti (shell script) nimeltä “mystatus”, joka näyttää vapaan levytilan (df -h) ja koneen ip-osoitteen.

Tähtäätkö huipputulokseen? Pekka Winha haluaa käyttää MySQL tietokantaa. Asenna hänelle MySQL-tietokanta ja siihen PhpMyAdmin-weppiliittymä.

Harjoitus

Ympäristö
Harjoituksessa käytetään Työaseman ja palvelimen kombinaationa Xubuntu versio 16.04.1 (tiedosto xubuntu-16.04.1-desktop-amd64.iso) ladattuna osoitteesta http://se.archive.ubuntu.com/mirror/cdimage.ubuntu.com/xubuntu/releases/16.04/release/ joka on lähellä Suomea oleva peilipalvelin. Latauksessa käytettiin Google Chrome selainta. Ladattava tiedosto oli kooltaan 1,27GB. Koneena käytettiin Macbook Air (13-inch, Mid 2011) työasemaa, jossa on 1,8GHz Intel Core i7 prosessori, 4GB 1333 MHz DDR3 muistia ja Flash kiintolevy. Asennusmedia ladataan ja luodaan OS X El Capitano käyttöjärjestelmässä. Asennusmediana käytetään Kingston Data Traveler G4 8GB muistitikkua.
Asennusmedian luonti
Asennuspaketin lataus käynnistettiin Elokuun 25. päivänä klo 22:34 ja se valmistui klo 22:46.
Asennusmediasta piti tehdä versio, joka toimii Mac-tietokoneissa, joten normaali Windows asennusmedia ei tullut kyseeseen. Apuna asennuksessa käytin ohjetta joka löytyi täältä https://help.ubuntu.com/community/How%20to%20install%20Ubuntu%20on%20MacBook%20using%20USB%20Stick. Asennus tapahtui vaiheissa:

  1. 22:50Asetin USB tikun asemaan
  2. 22:51Avasin terminaalin Dashboard – Other – Terminal
  3. Vaihdon kansioksi Downloads antamalla komennon CD Downloads
  4. Annoin terminaalissa komennon hdiutil convert xubuntu-16.04.1-desktop-amd64.iso -format UDRW -o xubuntu.img joka muutti ladatun iso tiedoston OS X:n ymmärtämään img-formaattiin, tämän sai varmistettua ajamalla komennon ls -la
  5. 22:58Koska OSX lisäsi tiedoston päätteeseen .dmg, piti vielä antaa komento mv xubuntu.img.dmg xubuntu.img
  6. Seuraavaksi varmistin muistitikun levyosoitteen syöttämällä komennon diskutil list
    /dev/disk2 (external, physical):
       #: TYPE NAME        SIZE       IDENTIFIER
       0: KINGSTON        *7.8 GB     disk2
    

    Saadun vastauksen perusteella osoite on /dev/disk2

  7. 23:00Sitten unmounttasin muistitikun, jotta se vapautui seuraavia vaiheita varten komennolla diskutil unmountDisk /dev/disk2, johon tuli vastaukseksi
    Unmount of all volumes on disk2 was successful
    
  8. 23:02seuraavaksi siirsin luodun levykuvan muistitikulle komennolla sudo dd if=xubuntu.img of=/dev/disk2 bs=1m. Komennon lisäksi jouduin syöttämään salasanani kopioinnin käynnistämiseksi. Kopioinnista saatu vastaus:
    $ sudo dd if=xubuntu.img of=/dev/disk2 bs=1m
    Password:
    1206+1 records in
    1206+1 records out
    1265106944 bytes transferred in 658.265200 secs (1921880 bytes/sec)
    

    Lisäksi kopioinnin valmistuttua tuli ilmoitus “The disk you inserted was not readable by this computer.” Valitsin vaihtoehdon Eject vaihtoehdoista Initialize…, Ignore ja Eject.

  9. Tämän jälkeen asennusmedia oli valmis ja asentamisen pystyi aloittamaan, se kuitenkin jäi seuraavaan päivään.

Linuxin käynnistäminen ja asennus

  1. 27.8.2016 11:25 Käynnistin työaseman uudelleen pitäen Alt painiketta pohjassa (MAC-työaseman boot menu)
  2. Valitsin EFI Boot valinnan
  3. Valitsin Try Xubuntu without installing it
  4. Avautuneelta xubuntu työpöydältä valitsin Install Xubuntu 16.04.1 LTS
  5. Avautuneesta valikosta valitsin kielen English ja Continue
  6. Seuraava ikkuna kysyi Wireless yhteyden muodostamisesta. Valitsin oman langattoman verkkoni (suojattu) ja Password: kenttään syötin langattoman verkkoni salasanan jonka jälkeen valitsin Connect painiketta (Salasanan oikeinkirjoituksen olisi pystynyt varmistamaan laittamalla ruksin Show password-laatikkoon
  7. Hetken miettimisen jälkeen kone ilmoitti yhteyden muodostuneen ja Connect-nappula muuttui Continue-nappulaksi, jota painamalla pääsin etenemään
  8. 11:29 Preparing to Install Ubuntu valikosta laitoin ruksit ruutuihin Download updates while installing Xubuntu ja Install third-party software for graphics and Wi-Fi hardware, Flash, MP3 and other media ennen kuin valitsin Continue
  9. 11:31Seuraava valintaikkuna kertoi, ettei koneella ole tunnistettuja käyttöjärjestelmiä. Koska tarkoitus oli asentaa xubuntu ainoaksi käyttöjärjestelmäksi, valitsin Erase disk and install xubuntu. En valinnut mitään muita valintoja ennen kuin painoin Install Now
  10. 8:36 write changes to disk valintaikkunaan valitsin vain Continue
  11. Where are you?-valintaikkunassa oli valmiiksi teksti Helsinki, joten riitti kun painoin Continue
  12. Keyboard layout-valintaikkunassa valintana oli Finnish, vaihdoin kuitenkin käyttöön Finnish - Finnish (Macintosh) vaihtoehdon, koska koneena oli Macbook. Tämän jälkeen valitsin Continue
  13. 11:40 Who are you?-valintaikkunassa kirjoitin:
    Your name: Matti
    Your computer's name: thumbcrown
    pick a username: matto
    Password:
    Confirm your password:
    

    viimeiset kaksi kenttää eivät olleet tyhjiä, vaan niihin kirjoitin monimutkaisen salasanan. Lisävalintoja en muuttanut, joten ainoa valittu ruutu oli Require my password to login. Lopuksi valitsin Continue

  14. Asennus käynnistyi 11:44 ja valmistui 11:49
  15. Sain ilmoituksen, että asennus on valmis (Installation has finished.). Valitsin vaihtoehdoista Restart Now
  16. Xubuntu-tekstin lisäksi kone ilmoitti Please remove the installation medium, then press ENTER:, joten poistin USB-tikun koneesta ja painoin Enter-näppäintä.
  17. Kone käynnistyi uudelleen ja pyysi salasanaani, jonka syötin ruutuun ja painoin Log In-painiketta
  18. Nyt käytössäni oli Xubuntun-perusasennus

Ohjelmat
Tehtävän mukaisesti työasemalla täytyy pystyä selaamaan internettiä ja käyttämään tekstikäsittely-ohjelmaa.

  1. Avasin vasemman yläkulman painikkeesta avautuvan valikon ja sieltä internet-selaimen varmistaakseni sen toiminnan. Avautuneen Firefox selaimen osoiteriville kirjoitettu yle.fi toimi, joten tämä varmisti internet selailun onnistuvan.
  2. Seuraavaksi avasin vasemman yläkulman painikkeesta avautuvasta valikosta LibreOffice Writer nimisen ohjelman, varmistaakseni tekstinkäsittelyn onnistuvan.

Kehitystyö
Seuraavaksi oli vuorossa tehtävän osa: Työntekijämme ovat Einari Vähäkäähkä, Pekka Winha, Åke Andersson ja Leila Laila. He haluavat kehittää PHP-kotisivuja etäkäyttöyhteydellä. Asenna tarvittavat palvelut ja tee esimerkkisivut.

Jotta käyttäjät saavat etäyhteyden koneeseen, täytyy siihen asentaa ssh-palvelinohjelmisto:

  1. 12:02Avasin terminaalin valitsemalla työpöydän tyhjän osan päällä hiiren oikealla painikkeella avautuvasta valikosta Open Terminal Here
  2. Annoin terminaalissa komennon sudo apt-get install ssh ja painoin enter
  3. Komennon sudo osuus edellytti, että kirjoitan salasanani, joten kirjoitin salasanani. Tässä vielä kuva tapahtuneesta:
    matto@thumbcrown:~/Desktop$ sudo apt-get install ssh
    [sudo] password for matto: 
    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    The following additional packages will be installed:
      ncurses-term openssh-client openssh-server openssh-sftp-server ssh-import-id
    Suggested packages:
      ssh-askpass libpam-ssh keychain monkeysphere rssh molly-guard
    The following NEW packages will be installed:
      ncurses-term openssh-server openssh-sftp-server ssh ssh-import-id
    The following packages will be upgraded:
      openssh-client
    1 upgraded, 5 newly installed, 0 to remove and 76 not upgraded.
    Need to get 643 kB/1 230 kB of archives.
    After this operation, 5 244 kB of additional disk space will be used.
    Do you want to continue? [Y/n] 
    

    Tästä valitsin Y ja painoin ENTER, jolloin tapahtui seuraavaa:

    Get:1 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-sftp-server amd64 1:7.2p2-4ubuntu2.1 [38,8 kB]
    Get:2 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssh-server amd64 1:7.2p2-4ubuntu2.1 [338 kB]
    Get:3 http://fi.archive.ubuntu.com/ubuntu xenial-updates/main amd64 ssh all 1:7.2p2-4ubuntu2.1 [7 070 B]
    Get:4 http://fi.archive.ubuntu.com/ubuntu xenial/main amd64 ncurses-term all 6.0+20160213-1ubuntu1 [249 kB]
    Get:5 http://fi.archive.ubuntu.com/ubuntu xenial/main amd64 ssh-import-id all 5.5-0ubuntu1 [10,2 kB]
    Fetched 643 kB in 0s (1 161 kB/s)         
    Preconfiguring packages ...
    (Reading database ... 188043 files and directories currently installed.)
    Preparing to unpack .../openssh-client_1%3a7.2p2-4ubuntu2.1_amd64.deb ...
    Unpacking openssh-client (1:7.2p2-4ubuntu2.1) over (1:7.2p2-4ubuntu1) ...
    Selecting previously unselected package openssh-sftp-server.
    Preparing to unpack .../openssh-sftp-server_1%3a7.2p2-4ubuntu2.1_amd64.deb ...
    Unpacking openssh-sftp-server (1:7.2p2-4ubuntu2.1) ...
    Selecting previously unselected package openssh-server.
    Preparing to unpack .../openssh-server_1%3a7.2p2-4ubuntu2.1_amd64.deb ...
    Unpacking openssh-server (1:7.2p2-4ubuntu2.1) ...
    Selecting previously unselected package ssh.
    Preparing to unpack .../ssh_1%3a7.2p2-4ubuntu2.1_all.deb ...
    Unpacking ssh (1:7.2p2-4ubuntu2.1) ...
    Selecting previously unselected package ncurses-term.
    Preparing to unpack .../ncurses-term_6.0+20160213-1ubuntu1_all.deb ...
    Unpacking ncurses-term (6.0+20160213-1ubuntu1) ...
    Selecting previously unselected package ssh-import-id.
    Preparing to unpack .../ssh-import-id_5.5-0ubuntu1_all.deb ...
    Unpacking ssh-import-id (5.5-0ubuntu1) ...
    Processing triggers for man-db (2.7.5-1) ...
    Processing triggers for systemd (229-4ubuntu7) ...
    Processing triggers for ureadahead (0.100.0-19) ...
    ureadahead will be reprofiled on next reboot
    Processing triggers for ufw (0.35-0ubuntu2) ...
    Setting up openssh-client (1:7.2p2-4ubuntu2.1) ...
    Setting up openssh-sftp-server (1:7.2p2-4ubuntu2.1) ...
    Setting up openssh-server (1:7.2p2-4ubuntu2.1) ...
    Creating SSH2 RSA key; this may take some time ...
    2048 SHA256:JvULrCXjbmN4454Wv+14lyWh0qoMptXtac1ceNWEGvQ root@thumbcrown (RSA)
    Creating SSH2 DSA key; this may take some time ...
    1024 SHA256:fkkPVG0FI6FHJR5HNO+jQNdFDI0OvXXyzljHJWNSxL4 root@thumbcrown (DSA)
    Creating SSH2 ECDSA key; this may take some time ...
    256 SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E root@thumbcrown (ECDSA)
    Creating SSH2 ED25519 key; this may take some time ...
    256 SHA256:VIe1KkgbgkqGOcd149Mwv5Aydvbg9WtswVsesC42CDk root@thumbcrown (ED25519)
    Setting up ssh (1:7.2p2-4ubuntu2.1) ...
    Setting up ncurses-term (6.0+20160213-1ubuntu1) ...
    Setting up ssh-import-id (5.5-0ubuntu1) ...
    Processing triggers for systemd (229-4ubuntu7) ...
    Processing triggers for ureadahead (0.100.0-19) ...
    Processing triggers for ufw (0.35-0ubuntu2) ...
    
  4. Seuraavaksi selvitin koneen ip-osoitteen antamalla komennon ip addr
    matto@thumbcrown:~/Desktop$ ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
        inet 127.0.0.1/8 scope host lo
           valid_lft forever preferred_lft forever
        inet6 ::1/128 scope host 
           valid_lft forever preferred_lft forever
    2: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
        link/ether 60:c5:47:00:ac:1c brd ff:ff:ff:ff:ff:ff
        inet 192.168.1.163/24 brd 192.168.1.255 scope global dynamic wlp2s0
           valid_lft 2404sec preferred_lft 2404sec
        inet6 2001:14ba:4e3:8300::46/128 scope global dynamic 
           valid_lft 56sec preferred_lft 26sec
        inet6 2001:14ba:4e3:8300:7cb3:edba:83b8:90ad/64 scope global temporary dynamic 
           valid_lft 17979sec preferred_lft 11229sec
        inet6 2001:14ba:4e3:8300:7284:2698:3184:4097/64 scope global mngtmpaddr noprefixroute dynamic 
           valid_lft 17979sec preferred_lft 11229sec
        inet6 fe80::5f50:5207:d37f:8c9c/64 scope link 
           valid_lft forever preferred_lft forever
    
    
  5. Saadun tuloksen perusteella ip-osoite on 192.168.1.163 joten testasin ssh palvelimen toimintaa komennolla ssh 192.168.1.163. Fingerprint kyselyyn vastasin yes ja salasanakyselyyn kirjoitin oman salasanani. Yhteys onnistui:
    matto@thumbcrown:~/Desktop$ ssh 192.168.1.163
    The authenticity of host '192.168.1.163 (192.168.1.163)' can't be established.
    ECDSA key fingerprint is SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added '192.168.1.163' (ECDSA) to the list of known hosts.
    matto@192.168.1.163's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    77 packages can be updated.
    31 updates are security updates.
    
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
  6. Kirjauduin ulos komennolla exit ja näkymässä lukeneiden päivitysilmoitusten vuoksi päivitin kaikki päivitykset seuraavaksi komennoilla:
    sudo apt-get update
    sudo apt-get upgrade ja lisäksi kun kysyttiin, haluatko päivittää, vastasin Y.
  7. 12:21 Päivitysten jälkeen tuli aika asentaa käyttöön kehityspalvelin PHP-ohjelmointia varten. Tämä onnistui helpoiten antamalla komennon sudo apt-get install lamp-server^. Kysymykseen, haluatko asentaa vastasin Y (Kyllä). Asennuksen aikana esiin tuli ikkuna, joka kysyi MySQL palvelimelle annettavaa salasanaa. Tähän kirjoitin todella monimutkaisen salasanan ja seuraavaan ikkunaan jossa salasana pyydettiin toistamaan, kirjoitin saman salasanan uudelleen.
  8. Asennuksen valmistuttua, sain testattua www-palvelimen (Apache) toiminnan avaamalla internet selaimen (kts. kohta ohjelmat) ja kirjoittamalla selaimen osoitteeksi localhost. Sivu kertoi, että asennus oli onnistunut ja internet sivut toimivat koneella.
  9. Jotta kaikille käyttäjille saatiin käyttöön omat kehitysympäristönsä, piti internet sivuille antaa käyttäjäkohtainen oikeus komennolla sudo a2enmod userdir ja tämän jälkeen käynnistää apache palvelin uudelleen komennolla service apache2 restart, näistä jälkimmäinen edellytti myös salasanan kirjoittamista avautuneeseen ikkunaan.
  10. seuraavaksi www-palvelimen toimintaa saatiin testattua luomalla html-tiedosto oman kotihakemiston public_html-kansioon. Koska kansiota ei vielä ollut, loin sen ensin komennolla mkdir public_html
    matto@thumbcrown:~/Desktop$ cd ..
    matto@thumbcrown:~$ mkdir public_html
    
  11. Seuraavaksi tein kansioon tiedoston index.html ja sen sisällön.
    matto@thumbcrown:~$ cd public_html/
    matto@thumbcrown:~/public_html$ nano index.html
    
    <html>
    <head>
    <title>Matto</title>
    </head>
    <body>
    <p>Hello World!</p>
    </body>
    </html>
    

    Tallennus CTRL-O ja lopetus CTRL-X

  12. Kotihakemiston testaus onnistui avaamalla selaimesta sivu http://localhost/~matto/
  13. Seuraavaksi piti mahdollistaa php-koodin suorittaminen käyttäjien kotihakemistojen public_html kansiossa. Tätä varten Ubuntu-distroissa täytyy muuttaa PHP määrityksiä tiedostossa /etc/apache2/mods-enabled/php7.0.conf lisäämällä #-merkki kaikkien viimeisen kappaleen rivien eteen.
    # Running PHP scripts in user directories is disabled by default
    #
    # To re-enable PHP in user directories comment the following lines
    # (from  to .) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_flag engine Off
    #    </Directory>
    #</IfModule>
    
  14. Muutoksen jälkeen Apache täytyy taas uudelleen käynnistää komennolla sudo service apache2 restart
  15. Toiminnallisuus saatiin testattua luomalla php-tiedosto public_html kansioon ja lisäämällä siihen koodia.
    matto@thumbcrown:/etc/apache2/mods-enabled$ cd /home/matto/public_html/
    matto@thumbcrown:~/public_html$ nano test.php
    

    Tiedoston sisältö:

    <?php
    print "Hello World!";
    ?>
    

    Testaus onnistui taas avaamalla internet-selain ja menemällä osoitteeseen localhost/~matto/test.php

  16. Lopuksi lisättiin käyttäjät tehtävänannon mukaan: Einari Vähäkäähkä, Pekka Winha, Åke Andersson ja Leila Laila. komennoilla:
    matto@thumbcrown:~/public_html$ adduser einari
    adduser: Only root may add a user or group to the system.
    matto@thumbcrown:~/public_html$ sudo adduser einari
    Adding user `einari' ...
    Adding new group `einari' (1001) ...
    Adding new user `einari' (1001) with group `einari' ...
    Creating home directory `/home/einari' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for einari
    Enter the new value, or press ENTER for the default
    	Full Name []: Einari Vähäkäähkä
    	Room Number []: 1
    	Work Phone []: 
    	Home Phone []: 
    	Other []: 
    chfn: name with non-ASCII characters: 'Einari Vähäkäähkä'
    Is the information correct? [Y/n] Y
    matto@thumbcrown:~/public_html$ sudo adduser pekka
    Adding user `pekka' ...
    Adding new group `pekka' (1002) ...
    Adding new user `pekka' (1002) with group `pekka' ...
    Creating home directory `/home/pekka' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for pekka
    Enter the new value, or press ENTER for the default
    	Full Name []: Pekka Winha
    	Room Number []: 2
    	Work Phone []: 
    	Home Phone []: 
    	Other []: 
    Is the information correct? [Y/n] Y
    matto@thumbcrown:~/public_html$ sudo adduser ake
    Adding user `ake' ...
    Adding new group `ake' (1003) ...
    Adding new user `ake' (1003) with group `ake' ...
    Creating home directory `/home/ake' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for ake
    Enter the new value, or press ENTER for the default
    	Full Name []: Åke Andersson
    	Room Number []: 3
    	Work Phone []: 
    	Home Phone []: 
    	Other []: 
    chfn: name with non-ASCII characters: 'Åke Andersson'
    Is the information correct? [Y/n] Y
    matto@thumbcrown:~/public_html$ sudo adduser leila
    Adding user `leila' ...
    Adding new group `leila' (1004) ...
    Adding new user `leila' (1004) with group `leila' ...
    Creating home directory `/home/leila' ...
    Copying files from `/etc/skel' ...
    Enter new UNIX password: 
    Retype new UNIX password: 
    passwd: password updated successfully
    Changing the user information for leila
    Enter the new value, or press ENTER for the default
    	Full Name []: Leila Laila
    	Room Number []: 4
    	Work Phone []: 
    	Home Phone []: 
    	Other []: 
    Is the information correct? [Y/n] Y
    matto@thumbcrown:~/public_html$ 
    
  17. lopuksi jokaisen käyttäjän kirjautuminen testattiin ssh yhteyden kautta
    matto@thumbcrown:~/public_html$ ssh einari@localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    einari@localhost's password: 
    Permission denied, please try again.
    einari@localhost's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    2 packages can be updated.
    0 updates are security updates.
    
    *** System restart required ***
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    einari@thumbcrown:~$ ssh pekka@localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    pekka@localhost's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    2 packages can be updated.
    0 updates are security updates.
    
    *** System restart required ***
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    pekka@thumbcrown:~$ ssh ake@localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    ake@localhost's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    2 packages can be updated.
    0 updates are security updates.
    
    *** System restart required ***
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    ake@thumbcrown:~$ ssh leila@localhost
    The authenticity of host 'localhost (127.0.0.1)' can't be established.
    ECDSA key fingerprint is SHA256:QTOVxb2Ji0+ylaB4SEIhPsuccb6rJONv+iRrmhf088E.
    Are you sure you want to continue connecting (yes/no)? yes
    Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.
    leila@localhost's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    2 packages can be updated.
    0 updates are security updates.
    
    *** System restart required ***
    
    The programs included with the Ubuntu system are free software;
    the exact distribution terms for each program are described in the
    individual files in /usr/share/doc/*/copyright.
    
    Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by
    applicable law.
    
    leila@thumbcrown:~$ exit
    logout
    Connection to localhost closed.
    ake@thumbcrown:~$ exit
    logout
    Connection to localhost closed.
    pekka@thumbcrown:~$ exit
    logout
    Connection to localhost closed.
    einari@thumbcrown:~$ exit
    logout
    Connection to localhost closed.
    matto@thumbcrown:~/public_html$ 
    
  18. Edellisessä harjoituksessa havaittiin, että tietokone pitää käynnistää uudelleen, joten seuraavaksi käynnistin tietokoneen uudelleen.

Skripti
Asenna kaikkien käyttäjien käyttöön skripti (shell script) nimeltä “mystatus”, joka näyttää vapaan levytilan (df -h) ja koneen ip-osoitteen.

  1. Tämä onnistui luomalla kansioon /etc/profile.d/ tiedosto jossa skripti sijaitsee
  2. matto@thumbcrown:~/Desktop$ cd /etc/profile.d/
    matto@thumbcrown:/etc/profile.d$ sudo nano 00-aliases.sh
    

    Koska taas ajettiin sudo-komento, täytyi antaa salasana.

  3. Tiedoston sisällöksi:
    function mystatus() {
    df -h;
    ip -f inet addr show wlp2s0 | grep -Po 'inet \K[\d.]+'
    }
    

    Ja tallennus CTRL-O ja lopetus CTRL-X

  4. Koska tämä tulee voimaan vasta kirjautumisen yhteydessä voitiin testaus tehdä joko käynnistämällä kone uudelleen, resetoimalla terminal ikkuna tai kirjautumalla ssh:n kautta uudelleen.
    matto@thumbcrown:/etc/profile.d$ ssh localhost
    matto@localhost's password: 
    Welcome to Ubuntu 16.04.1 LTS (GNU/Linux 4.4.0-34-generic x86_64)
    
     * Documentation:  https://help.ubuntu.com
     * Management:     https://landscape.canonical.com
     * Support:        https://ubuntu.com/advantage
    
    2 packages can be updated.
    0 updates are security updates.
    
    Last login: Sat Aug 27 12:14:43 2016 from 192.168.1.163
    matto@thumbcrown:~$ mystatus
    Filesystem      Size  Used Avail Use% Mounted on
    udev            1,9G     0  1,9G   0% /dev
    tmpfs           387M  6,3M  381M   2% /run
    /dev/sda2       226G  4,4G  210G   3% /
    tmpfs           1,9G  164K  1,9G   1% /dev/shm
    tmpfs           5,0M  4,0K  5,0M   1% /run/lock
    tmpfs           1,9G     0  1,9G   0% /sys/fs/cgroup
    /dev/sda1       511M  3,6M  508M   1% /boot/efi
    tmpfs           387M   40K  387M   1% /run/user/1000
    192.168.1.163
    matto@thumbcrown:~$ 
    

Mysql-tehtävä
Pekka Winha haluaa käyttää MySQL tietokantaa. Asenna hänelle MySQL-tietokanta ja siihen PhpMyAdmin-weppiliittymä.

  1. Itse Mysql ohjelmisto asennettiin jo aikaisemmin, joten tässä tapauksessa riitti Mysql kannan luominen ja Pekan oikeuksien lisääminen kantaan, sekä PhpMyAdmin työkalun asennus
  2. Ensin kirjauduttiin ‘root’-käyttäjänä ja luotiin tietokanta
    matto@thumbcrown:~$ mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or \g.
    Your MySQL connection id is 8
    Server version: 5.7.13-0ubuntu0.16.04.2 (Ubuntu)
    
    Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
    
    mysql> CREATE DATABASE PEKKA;
    Query OK, 1 row affected (0,00 sec)
    
    mysql> 
    
  3. Seuraavaksi luotiin käyttäjä Pekka ja annettiin Pekalle oikeudet luotuun tietokantaan.
    mysql> CREATE USER 'pekka'@'localhost' IDENTIFIED BY 'nda+2.%9q9y^_!%ZJ+2P';
    Query OK, 0 rows affected (0,01 sec)
    
    mysql> GRANT ALL PRIVILEGES ON PEKKA.* TO 'pekka'@'localhost';
    Query OK, 0 rows affected (0,00 sec)
    
  4. Seuraavaksi asennettiin phpMyAdmin-käyttöön kirjautumalla ulos Mysql-konsolista quit-komennolla ja kirjoittamalla terminaaliin sudo apt-get install phpmyadmin. Sudo-komennon vuoksi jouduttiin taas kirjoittamaan salasana ja asennus kysyi mitä http-palvelinta käytetään: valinnoista valisin Apache2. Asennus kysyi myös tietokantakonfiguraatiota ja kysymykseen Configure database for phpmyadmin with dbconfig-common vastasin kyllä (Yes). Seuraavaksi asennus kysyi vielä salasanaa tietokannalle, joka syötettiin kahteen kertaan.
  5. Lopuksi lisäosa piti ottaa käyttöön apache-palvelimella. Tämä onnistui komennoilla sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf-available/phpmyadmin.conf, sudo a2enconf phpmyadmin ja apachen uudelleenkäynnistämisellä service apache2 reload
  6. Toiminnallisuuden sai testattua avaamalla internet-selaimella osoitteen localhost/phpmyadmin

Lähteet

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

24 total views, 1 views today