MariaDB

Install MariaDB on Ubuntu 18.04 (new MySQL) and create table/s with information (see the material)

Asennus:

sudo apt-get install software-properties-common sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xF1656F24C74CD1D8

sudo add-apt-repository ’deb [arch=amd64,arm64,ppc64el] http://mirror.netinch.com/pub/mariadb/repo/10.1/ubuntu bionic main’

sudo apt update sudo apt install mariadb-server

sudo mysql_secure_installation

mysql -u root -p

 

maria

lähde:

https://downloads.mariadb.org/mariadb/repositories/#mirror=netinch&distro=Ubuntu&distro_release=bionic–ubuntu_bionic&version=10.1

Create tables:

create database testi;

use testi;

CREATE TABLE autot(id INT AUTO_INCREMENT PRIMARY KEY, nimi VARCHAR(50), malli varchar(50), hinta FLOAT);

Insert into kilpailija(nimi,tulos) values(”Matti”,”80 metriä”);

Insert into kilpailija(nimi,tulos) values(”Seppo”,”75 metriä”);

Insert into kilpailija(nimi,tulos) values(”Teppo”,”85 metriä”);

CREATE TABLE kilpailija(id INT AUTO_INCREMENT PRIMARY KEY, nimi VARCHAR(50), tulos varchar(50));

Insert into autot(nimi, malli, hinta) values(”Porche”,”Cayman s”,100000.0);

Insert into autot(nimi, malli, hinta) values(”Audi”,”a5″,30000.0);

Select * from kilpailija;

Select * from autot;

mariadb

Update tables:

update autot set hinta=75000 where nimi=”Porche”;

update

Remove tables:

Drop table kilpailija, autot;

Apache2

Asenne apache2

sudo apt install apache2

Tutustu /etc/apache2 -hakemiston rakenteeseen

 

apache

 

Luo joku www-sivu /var/www/html

Esimerkiksi nano editorilla testaus.html

Ota käyttöön userdir-moduuli

sudo a2enmod userdir

Tee kotihakemisto public-html alihakemisto ja laita sinne jokin www_sivu

nano.JPG

Testaa sivu

html.JPG

 

Määrittele salasanasuojaus public_html -hakemistoon

Hakemiston luomisen jälkeen luodaan esim. nanolla .htaccess tiedosto. Tiedostoon tulee:

AuthName ”something”
AuthType Basic
AuthUserFile /home/jarkko/public_html/.htpasswords
Require user tiko

Tiedoston luomisen jälkeen tehdään komento sudo htpasswd -c .htpasswords tiko, missä luodaan salasana.

Määritele salasanasuojaus /var/www/html -hakemiston sivuille.

mene kansioon /etc/apache2

sudo nano

sudo nano sites-enabled/000-default.conf

sudo service apache2 restart

sudo htpasswd -c .httpasswords vieras

 

Capture12

 

sala

Tee määritykset SSL/TLS-sivustolle.

sudo a2enmod ssl

Luo “snake oil” certifikaatti sivustoa varten. Netistä löytyy ohjeita.

Kaksitiedostoa: julkinen ja salainen avoin

Nano sites-enabled/default-ssl.conf

SSLcertificateFile   /etc/ssl/certs/ssl-cert-snakeoil.pem

SSlcertificateKeyFile   /etc/ssl/private/ssl-cert-snakeoil.key

https://www.digitalocean.com/community/tutorials/how-to-create-a-self-signed-ssl-certificate-for-apache-in-ubuntu-18-04

/etc/apache2/sites-available

nano 000-default-ssl

secure error.JPG

 

Etsi Internetistä tietoa, miten voit hankkia kaupallisen sertifikaatin.

Eri yritykset tarjoavat ssl sertifikaatteja esim. GoDaddy, RapidSSL, Telia ja Nebula. Kaupallisia sertifikaatteja on erilaisia ja eri hintaisia. Telia tarjoaa kolmea erilaista SSL sertifikaattia. Ne ovat SSL certificate, Multi SSL certificate ja Wildcard SSL certificate. SSL certificate maksaa 99€ vuodessa ja tarjoaa yhden sivun suojaamiseen. Kun taas Multi ja Wildcard tarjoavat monen sivun suojauksen ja ovat kalliimpia.

Tutustu Let’s Encrypt -sertifikaatteihin.

Monet eri sivustot tarjoavat letsencrypt sertifikaatteja esim. Linode, Hackernoon ja certbot. Letsencrypt sertifikaatit ovat ilmaisia ja luotettavia.

 

Administrative exercises

1. Find a suitable package and install Nethack.

sudo apt-get install nethack-console

nethack.JPG

 
2. Create a user group and two new users. Add the new users to the new group. Give also the other user permission to use sudo.

sudo groupadd testigroup

sudo adduser testi testigroup

sudo adduser aaa testigroup

sudo usermod -a -G sudo aaa

sudo usermod -a -G sudo testi

grouppi.JPG

 
3. Do other users have permission to list contents of your home directory?

Muut käyttäjät eivät pysty laittamaan tiedostoa toisen kotihakemistoon.

mkdir.JPG

 
4. Create a new file (touch command is handy). What permissions of the file in number format?

touch file1 – luo uuden tiedoston

-rw-rw-r–

R = 4
W = 2
X = 1

664

 
5. What means that a directory has only x permission?

x = execute

Käyttäjä voi ainoastaan liikkua hakemistossa (cd komennolla).

 
6. Write a shell script that prints Hello world

echo ”Hello world”

echo.JPG

 
7. How can you run a command once a week?

Voin ladata komennon joka viikko käyttämällä crontab komentoa.

/etc/crontab

Esimerkiksi:

0 0 1 * * root MyScript

Komento tekee komennon joka kuukauden ensimmäinen päivä.

 

Kotitehtävä6

1. Which shell are you using? How did you get the information?

Käytän bash versiota.

bash

 

2. Which other shells you could use?

  • ksh
  • tcsh
  • zsh
  • fish

3. Explain shell/komentotulkki

Shell on ympäristö, missä voidaan kirjoittaa komentoja. Esimerkiksi bash shellissä komento mkdir luo tiedoston.

Shellejä on erilaisia kuten bash, ksh ja fish. Näillä jokaisella on sama tarkoitus, mutta komennot kirjoitetaan hieman eri tavalla. Henkilö voi itse valita mieleisensä Shellin.

https://www.tutorialspoint.com/unix/unix-what-is-shell.htm

4. How could you change it? Tell the commands but do not change 😉

shell.JPG

 

Komennolla cat /etc/shells saadaan näkyviin, mitä shellejä on käytössä. Tämän jälkeen voidaan kirjoittaa shellin nimi esim. dash, mikä muuttaa shellin dashiksi. echo $0 komennolla voidaan tarkistaa, mikä Shell on tällä hetkellä käytössä.

 

Password

1. How could you change your password? Tell the
command

passwd komennolla voidaan muuttaa salasanaa.

 
2. Where are the passwords of all users?

Salasanat ovat /etc/shadow kansiossa.

 
3. Are you able to read the file?

Shadow kansiota voi tutkia komennolla sudo cat shadow. Salasanat ovat siellä kryptattuna.

 

Permissions

1. Create the directory ”minunt” to your home directory

minunt.JPG

 

2. Add file ”salainen” to this directory (vi text editor) with the text ”Tämän tiedoston sisältö on salainen”.

vied.JPG

 
3. Change the permission so that YOU CAN only read and write to the file.

salainen

 

4. Create also file ”julkinen”, add text and change
permissions: all have r, w, x rights to this file.

julkinen.JPG

Tehtävä2

Desktop exercises

1. Add a new normal user account.

adduser (käyttäjä)

adduser.JPG

 

2. Add a new administrative user account

sudo adduser (käyttäjä) sudo

sudoadduser

 

3. Create a file in your home directory. What are the permissions of the new file?

Mkdir komentoa käyttäen saadaan luotua tiedosto. Komentoa ls -l käyttämällä saadaan näkymään käyttäjän luvat.

permissions

Kuvasta katsoen luvat ovat rw, rw ja r. Rw tarkoittaa luettavissa ja muokattavissa. R tarkoittaa luettavissa.

 
4. Try to create a file in directory /etc. Why you cannot? Is there any other directory than your home directory where you can create files?

Ei pystynyt laittamaan tiedostoa, koska vain pääkäyttäjä voi laittaa sinne tiedoston.

Esimerkiksi tmp ja cdrom hakemistoon voi laittaa tiedoston.

5. Install Inkscape

Avasin Ubuntu Softwaren ja latasin Inkscapen.

 
6. Draw some picture in Inkscape and copy it to a LibreOffice Writer document using clipboard.

tikkuukko

 

7. Change settings so that you have four workspaces.

workspaces

Workspaceja voi lisätä painamalla activities kohtaa ja vetämällä aukinaisia ohjelmia oikealla olevaan workspace kohtaan. Eri workspaceja voi vaihtaa nopeasti painamalla ctrl + alt ja nuolinäppäintä ylös tai alas.

 
8. Start File manager with root privileges.

sudo nautilus

 
9. Change background.

background.JPG
10. Connect to your home directory in myy.haaga-helia.fi


11. Find and test applications for:

a. word processing
b. spreadsheet
c. pdf viewer
d. painting
e. text editing
f. email

Done

Kotitehtävä5

Linux exercises

1. Draw the directory tree: root directory and the next level.

20180902_153844.jpg

2. Add your home directory and all its subdirectories to the directory tree.

  • home
    • Jarkko
      • desktop
      • downloads
      • music
      • public
      • templates
      • videos
      • documents
      • pictures
      • snap
        • colibri
          • 7
          • common
          • current
      • this
        • directory
          • exercise
        • is
          • a

3. Explain shortly what mean absolute and relative directory paths. Give examples how to use them in commands.

Absolute path on hakemisto alusta loppuun. Esimerkiksi jos halutaan päästä jarkko kansioon niin: cd home, cd jarkko

Relative path:ssä haetaan heti tietty kansio tai hakemisto. Esimerkiksi cd ../../home/jarkko. Tämän avulla ei tarvitse hyppiä kansiosta kansioon päästäkseen loppuun.

4. Write a list of most common commands (you can find it in the lesson material). Add at least two commands that you think should be in the list.

ls – listaa hakemiston tiedostot

cd – voidaan siirtyä hakemistossa eteenpäin

cd ..  – voidaan siirtyä hakemistossa taaksepäin

nuoli näppäin ylös tai alas – etsii vanhat komennot, mitä on käyttänyt äskettäin

mkdir – luo tiedoston

pwd – näyttää hakemiston

cp – kopioi tiedoston

 

5. All global settings are in text files in directory /etc or its subdirectories. Find in which files is the name of the computer defined. Write the full command in your report.

grep -r computer /etc

grep1

 
6. The previous command gives many error messages. How can you change the command so that error messages are not shown? Write the full command in your report.

Käyttämällä sudo komentoa alussa saadaan error viestit pois tässä tapauksessa.

sudo grep -r computer /etc

sudogrep

 
7. Find out in which files in /etc (or its subdirectories) contain word ubuntu. Make a case insensitive search. Write the full command in your report.

sudo grep -ir computer /etc

sudo2

8. Find all files with name README in directory /usr. Write the full command in your report.

grep -rnw /usr -e README
9. ls /usr/bin lists the contents of the directory. How can you find out how many files (and subdirectories) are there in /usr/bin? Write the full command in your report.

ls -1 /usr/bin/ | wc -l

maara

Kotitehtävä4

Command line exercises

1. Make your self a list of most common commands.

ls – listaa hakemiston tiedostot

cd – voidaan siirtyä hakemistossa eteenpäin

cd .. – voidaan siirtyä hakemistossa taaksepäin

mkdir – luo tiedoston

pwd – näyttää hakemiston

cp – kopioi tiedoston

nuoli näppäin ylös tai alas – etsii vanhat komennot, mitä on käyttänyt äskettäin

 

2. Which command lists files in directory /usr/bin?

cd usr – pääsee usr kansioon

cd bin – pääsee bin kansioon

ls – listaa tiedostot
3. Previous command prints a long list. How can you browse the list?

ls

Käyttämällä hiiren rullaa tai vierityspalkkia.

 

4. a. Which one command moves you to /usr/lib?

cd /usr/lib

b. Which one command moves you back to your home directory?

cd komennolla pääsee takaisin koti hakemistoon.
5. Which command searches the whole computer for file syslog?

Menemällä hakemistoon /var/log

Sitten käyttämällä ls komentoa.

syslog
6. How can you get help in using command grep?

grep –help

man grep

grep
7. Copy file /etc/popularity-contest.conf to your home directory without typing the whole file name
(use auto completion).

Käyttämällä tab näppäintä saadaan automaattinen täydennys.
8. What is your home directory?

/home/jarkko
9. Copy /etc/services to your home directory

cp -r /etc/services /home/jarkko
10. Copy directory /etc/X11 to your home directory. (Whole directory with contents)

cp -r /etc/X11 /home/jarkko
11. Find commands that list devices (block, USB, …).

/dev

/dev/bus

cd dev

cd bus

ls

kt

Kotitehtävä3

Commandline exercises

directories
Create following directory structure under your home directory:
~
this
is
a
directory
exercise
Move directory exercise.
Move to directory is.
Move to directory a.
Copy file /etc/services to directory exercise.

 

 

kotitehtava3

Mkdir komentoa käyttämällä pystyy luomaan tiedoston.

Komentoa cp /etc/services /home/jarkko/this/directory/exercise saadaan kopioitua services tiedosto etc kansiosta.

Using commands
Test command lshw.
Find an option which changes output to html format.
to file lshw.html

 

lshw

Lshw komento tuottaa pitkän listan tietokoneen tiedoista.

Lshw ulostulon voi muuttaa komennolla lshw > lshw.html

Wild cards
List all files in /usr/bin where the first character is z
List all files in /usr/bin/ where the name contains string ab

abz

Ensimmäiseksi pitää mennä /usr/bin kansioon. Tämän jälkeen käyttää komentoa ls | grep z. Tämän jälkeen tulee lista tiedostoista, missä on z kirjain.

 

pipe
How can you view listing of directory /usr/bin in a scrollable form?
command wc calculates lines, words and characters in a text. How can you use it to count number of files in
/usr/bin

Käyttämällä ls komentoa saadaan lista eri tiedostoista.

ls | wc -l komentoa käyttämällä saadaan näkymään kuinka monta tiedostoa on /usr/bin hakemistossa.

 

Kotitehtävä1

  1. Search information about licenses:

1.1 What does GPL license mean?

GPL tulee sanoista General Public License. Se on vapaiden ohjelmistojen julkaisemiseen tarkoitettu lisenssi. Lisenssin tarkoituksen on antaa henkilölle oikeuden käyttää, kopioida, muuttaa ja jakaa ohjelmia ja lähdekoodia.

https://fi.wikipedia.org/wiki/GNU_General_Public_License

1.2 What are the differences between GPL and LGPL?

GPL ja LPGL lisenssit ovat melkein samanlaisia. LPGL lisenssi mahdollistaa ettei kaupallisten ohjelmistojen tarvitse julkaista lähdekoodia.

https://fi.wikipedia.org/wiki/GNU_Lesser_General_Public_License

1.3. What does CC-license mean and what are the license rules?

CC tulee sanoista Creative Commons. Sen tarkoituksena on jakaa osa tekijänoikeuksista käyttäjälle. CC lisenssiin liittyy 4 eri ehtoa. Nämä ehdot ovat ByAttribution (BY), NonCommercial (NC), NoDerivatas (ND) ja ShareAlike (SA). BY lisenssissä käyttäjät saavat kopioida, levittää ja esittää tekijänoikeuksiin kuuluvaa teosta, mikäli he mainitsevat teoksessa alkuperäisen tekijän. NC lisenssissä käyttäjät voivat kopioida, välittää, levittää ja esittää tekijänoikeuksiin kuuluvaa teosta vain ei kaupallisessa käytössä. ND lisenssissä käyttäjät saavat kopioida, välittää ja levittää teosta, mutta he eivät saa tehdä muokattua versiota siitä. SA lisenssissä käyttäjät saavat muokata teosta samalla lisenssillä, millä teos on julkaistu.

https://creativecommons.fi/lisenssit/

  1. Install VirtualBox (or use the one installed); and Fedora workstation (64 bit) in VirtualBox.

2.1 What differences are there compared to Ubuntu in installation phase and in desktop? A few examples.

Fedoran ja Ubuntun lataukset ovat melko samanlaisia. Esimerkiksi ensimmäiseksi voidaan valita koikeillaanko fedoraa vai ladataanko fedora ja sitten valitaan kieli jne. Kuitenkin tämän jälkeen fedoraan tulee “installation summary”, mistä voi valita paikallistamisen ja koneiston asetukset. Sitten tulee autentikointi ja lopuksi päästään itse käyttämään fedoraa. Ubuntussa taas mennään järjestelmällisestä, missä tulee aloituksen jälkeen ”Updates and other software”, ”Installation type”, location, autentikointi ja Ubuntun lataus.

2.2 Take a screen shot of the screen/desktop and compare the “views”

fedora1ubuntu1

Työpöydät näyttävät hyvin samanlaisilta, koska Fedora ja Ubuntu käyttävät samaa työpöytäympäristöä.

Kotitehtävä 2:

a) Asenna jollekin toiselle koneelle VirtualBox, jos mahdollista (ja jos sovellus ei ole jo koneella)

virtualbox

 

VirtualBoxin voi ladata osoitteesta https://www.virtualbox.org/

b) Asenna ko. virtuaalikonelle Ubuntu desktop 18.04.01 LTS

– Mieti distron asetuksia (valintavaihtoehtoja/oletuksia). Kerro miten ne käsität.

Distron asetuksina kannattaa käyttää, mitä Ubuntu ehdottaa. Tällöin saadaan Ubuntu helposti ja nopeasti toimimaan.

asetukset

c) Listaa testaamasi koneen rauta (‘sudo lshw -short -sanitize’). Mitä saat tuloksena?

koneenrauta

Tietokoneen rauta

 

d) Asenna itsellesi yksi uusi ohjelmaa Linuxille. Kokeile kutakin ohjelmaa sen pääasiallisessa käyttötarkoituksessa. Kerro minkä asensit.

Avasin Ubuntu Software sovelluksen. Sitten hain haku palkista Chromium web browser ja latasin sen.

chromium

e) Mitä lisenssiä tämä ohjelma käyttää? Selitä lyhyesti, mitä oikeuksia ja velvollisuuksia tuosta lisenssistä seuraa.

Ohjelma käyttää vapaata lisenssiä. Eli ohjelmaa voidaan käyttää, jakaa ja parantaa vapaasti.

f) Listaa 2 käyttämääsi ohjelmaa (Esim. Windows-käyttöjärjestelmässä) ja 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.

Selain:                                                                                         Musiikki:

Windows: Google Chrome                                                     Windows: Spotify

Linux: Chromium web browser                                           Linux: Spotify