Yhteenveto kurssin opeista

LAMPn asennus

LAMPn avulla saadaan Linuxille palvelin ympäristö minkä avulla voidaan tehdä kotisivuja ja tietokantoja. Asennus tapahtui asentamalla apache2, libapache2-mod-php5, mysql-server ja mysql-client -paketit.

$ sudo apt-get update  #pakettivarastoiden päivitys
$ sudo apt-get install apache2 libapache2-mod-php5 mysql-server mysql-client

Seuraavaksi pitää tehdä ja laittaa kaikille näkyviin kansio public_html.

$ mkdir public_html #kansion teko
$ sudo a2enmod userdir #kaikille näkyviin edellä tehty kansio

Ja jotta muutetut asetukset tulevat toimimaan käynnistämme apachenuudestaan.

$ sudo service apache2 restart

Php toimimaan

Sitten jotta php saadaan toimimaan käydään muokkaamassa tiedostoa /etc/apache2/mods-enabled/php5.conf.

$ sudo nano /etc/apache2/mods-enabled/php5.conf
</FilesMatch>
  # Commented out 4 lines Thu,06.09.12 jokela.anttiville
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

Seuraavaksi kokeili, että php toimii tekemällä etusivun minkä tiedostopäätteenä oli .php eikä .html.

Sain tulostettua php käyttäen painoindeksilaskurini, joten hommat toimi.

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

- Antti-Ville Jokela

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

SSH-yhteys apuvälineenä monen työaseman käytössä

Monen työaseman käyttö voi tuntua pitkästyttävältä esimerkiksi kun kaikki pitäisi päivittää tai kun samalla koneelle pitäisi tehdä useampikin käyttäjä. Ssh-yhteyden avulla tähän on tarjolla nopeampi ja helpompi keino.

Käyttäjien teko

Käyttäjien teko tapahtuu adduser-komennolla. Tähän on myös muitakin komentoja olemassa, mutta tämä on ainakin minun mielestäni helpoin vaihtoehto. Käyttäjien tekeminen edellyttää pääkäyttäjän oikeuksia.

Kun tekee useamman käyttäjän,ja jos haluaa että jokaisella käyttäjällä on esimerkiksi public_html -kansio, kannattaa muokata /etc/skel/ -kansion sisältöä sillä uusien käyttäjien kansiot kopioidaan sieltä. Käyttäjien salasana kannattaa kirjoittaa lapulle ja viedä käyttäjälle henkilökohtaisesti tietoturvaongelmien välttämiseksi. Käyttäjien kansioita ja tiedostoja saa muokata ilman käyttäjän lupaa siihen asti, että käyttäjällä on oma salasanansa.

Aloitin tekemällä käyttäjän matti.

$ sudo adduser matti 
Adding user `matti' ... 
Adding new group `matti' (1002) ... 
Adding new user `matti' (1002) with group `matti' ... 
Creating home directory `/home/matti' ... 
Copying files from `/etc/skel' ... 
Enter new UNIX password: 
Retype new UNIX password: 
passwd: password updated successfully 
Changing the user information for matti 
Enter the new value, or press ENTER for the default 
	Full Name []: matti 
	Room Number []: 
	Work Phone []: 
	Home Phone []: 
	Other []: 
Is the information correct? [Y/n] y

Jos ylläpitää isompaakin yhteisöä, voi olla hyödyllistä pistää sähköpostiosoite ja/tai puhelinnumero, koska silloin on ainakin yhteystieto käyttäjälle mahdollisissa ongelmatilanteissa. Tämän jälkeen otin ssh-yhteyden matti -käyttäjälle ja katoin onko siellä mitään kansioita. ls-komento antoi vastaukseksi tyhjää, joten siellä ei ole kansioita. Kirjauduin ulos exit-komennolla.

$ ssh matti@localhost 
matti@localhost's password: 
$ ls 
$ exit 
logout 
Connection to localhost closed.

Uuden käyttäjän hakemiston tekeminen

Ulos kirjautumisen jälkeen menin /etc/skel hakemistoon jatein pääkäyttäjä oikeuksilla kansiot public_html ja Omat_jutut. Kansioita tehdessä tulee muistaa että välilyöntiä ei kannata käyttää.

:/etc/skel$ mkdir public_html 
mkdir: cannot create directory `public_html': Permission denied 
:/etc/skel$ sudo mkdir public_html 
:/etc/skel$ sudo mkdir Omat_jutut

Tein seuraavaksi toisen käyttäjän, jotta voisin todeta yllätehtyjen kansioiden siirtymisen automaattisesti uudelle käyttäjälle. Käyttäjän teon jälkeen kirjauduin ssh-yhteydellä käyttäjälle ja suoritin komennon lsnähdäkseni käyttäjäkansion sisällön. Kansiot public_html ja Omat_jutut olivat siirtyneet onnistuneesti.

$ sudo adduser sisko 
$ ssh sisko@localhost 
$ ls 
Omat_jutut  public_html 
$ exit 
logout 
Connection to localhost closed.

Ssh-yhteyden automatisoiminen

Seuraavaksi automatisoin ssh-kirjautumisen, jotten joutuisi käyttämään salasanaa joka kerta kirjautuessani ssh-yhteydellä.

$ ssh-keygen #oletustallennus paikka käy,ja salasana kannattaa laittaa,
             #kunhan muistaa laittaa erittäin hyvän salasanan.

Seuraavaksi kopioin äskön tehdyt avaimet ja kokeilin kirjautumista. Nyt kirjautumisen yhteydessä ei kysytty salasanaa, joten automatisoiminen onnistui.

$ ssh-copy-id matti@localhost
matti@localhost's password: 
Now try logging into the machine, with "ssh 'matti@localhost'", and check in:

  ~/.ssh/authorized_keys

to make sure we haven't added extra keys that you weren't expecting.

$ ssh matti@localhost
Welcome to Ubuntu 12.04.1 LTS (GNU/Linux 3.2.0-30-generic-pae i686)

 * Documentation:  https://help.ubuntu.com/

14 packages can be updated.
9 updates are security updates.

Last login: Wed Sep 19 20:49:10 2012 from localhost
matti@localhost:~$ exit
logout
Connection to localhost closed.

Lähteet

-Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012
-Tero Karvinen, Control many computers with ssh – http://terokarvinen.com/2005/control-many-computers-with-ssh-4

- Antti-Ville Jokela

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

Ohjelmistokieliin tutustuminen

Ohjelmistokieliin tutustuminen

Tehtävänä oli tutustua kolmeen eri ohjelmistokieleen ja saada niiden avulla tulostettua “Hello World”. Tehtävän suorittamiseen käytin aikaisemmista artikkeleista tuttua ASUS-kannettavaa ja ajankohta oli 18.9.12 klo 19:00-23:00. Valitsin tehtävään Java, C++ ja Ruby-ohjelmistokielet.

Javan kokeilu

Aloitin tutustumisen päivittämällä pakettivarastot, ja sen jälkeen asensin Javan Development Kit:n.

$ sudo apt-get update
$ sudo apt-get install openjdk-6-jd

Seuraavaksi selkeyden vuoksi tein oman kansion mihin tallensin esimerkki ohjelman.

$ mkdir java #kansion teko
$ cd java    #tehtyyn java-kansioon siirtyminen
$ nano HelloWorld.java  #HelloWorld.java -tiedosto on siis java-kansiossa.

HelloWorld.java -tiedostoon tallensin seuraavanlaisen koodin. Javassa isoilla ja pienillä kirjaimilla on väliä,ja tiedostossa mainittu class -arvo tulee olla sama kuin tiedoston nimen.

class HelloWorld {
     public static void main(String[] args)
     {
           System.out.println("Hello World!");
     }
}   
#tallennus ctrl+x ,ja tallennuksen hyväksyminen y-näppäin, jonka lisäksi
 hyväksyin vielä tiedostonimen enter-näppäimellä.

Tallennuksen jälkeen javac-komennolla käänsin tiedoston javaksi,jotta seuraava java-komento osaa kääntää tiedoston oikein.

antti-ville@baana:~/code/java$ javac HelloWorld.java 
antti-ville@baana:~/code/java$ java HelloWorld 
Hello World!

C++  tutustuminen

C++ tutustumisen aloitin etsimällä suoraa ohjetta kielen käyttämiseen. Löysin ohjeen missä C++-kieltä käytettiin ubuntussa, joten ohjeet yksinkertaisen ohjelman tekemiseen löytyi helposti.

Asensin g++-ohjelman kääntämään ohjelman. Asennuksen jälkeen tein kansion cplusplus, ja kansioon tiedoston HelloWorld.cpp

$ sudo apt-get install g++
$ mkdir cplusplus
$ cd cplusplus
$ nano HelloWorld.cpp

Tiedoston sisällöksi kirjoitin:

#include <iostream>

int main()
{
    std::cout << "Hello, World!\n";
}
 #tallennus ctrl+x ,hyväksyin tallennuksen painamalla y-kirjainta ja 
 #enter-näppäimellä hyväksyin tiedoston nimen.

Seuraavaksi kokeilin ohjelman toimimista kääntämällä tiedoston HelloWorld.cpp ohjelmaksi HelloWorld.

$ g++ HelloWorld.cpp -o HelloWorld #g++ on kääntäjä "compiler",sen 
                                   #jälkeen tiedoston nimi missä 
                                   #ohjelma on.
                                   #-o -tarkoittaa output,jonka jälkeen
                                   #tulee komento millä ohjelma 
                                   #tulostetaan käyttäjän näkyville, 
                                   #tässä tapauksessa HelloWorld.
$ ./HelloWorld  #./ -tarkoittaa kansiota missä on (pwd-komennolla 
                #selviää olinpaikka), ja HelloWorld on kääntämiskomento.

Ruby

Rubya asentaessa tuli vastaan mielenkiintoinen ongelma. Nimittäin ruby-nimisiä paketteja löytyi jopa 277. Tutkailun jälkeen löysin ruby1.9.1.-full-paketin, jonka asensin.

$ sudo apt-get install ruby1.9.1-full

Kokeilin Rubya aluksi interaktiivisessa tulkissa.

$ irb
irb(main):001:0> "Hello World"
=> "Hello World"
irb(main):002:0> quit

Seuraavaksi tein tiedoston HelloWorld.rb.

$ nano HelloWorld.rb
puts "Hello world!" # tallennus ctrl+x, y -näppäimellä hyväksytään 
                      tallentaminen ja enter -näppäimellä hyväksytään 
                      tallennuksen nimi.

Tiedoston tekemisen jälkeen kokeilin ohjelman toimimista ajamalla ohjelman. Ohjelma tulosti onnistuneesti Hello World.

$ ruby HelloWorld.rb
Hello world!

Pythonin ja Bash:n yhdistäminen

Tarkoituksenani oli tehdä ohjelma, joka kertoo käyttäjälle muutaman hyödyllisen tiedon. Halusin, että ohjelma kertoo käyttäjänimen,tiedostopolun missä on, ip-osoitteen ja tietokoneen käyttäjät. Eli komentojen whoami, pwd, ifconfig, w.

Tein aluksi python-kansion mihin tein tiedoston nimeltään myinfo.py.

$ mkdir python
$ cd python
$ nano myinfo.py

Tiedostoon kirjoitin seuraavanlaisen ohjelman:

#!/usr/bin/python
#!/bin/bash
# -*- coding: utf-8 -*-
import subprocess

print("_________________________________") # alaviivoja selkeyttämään
print("Your username is:")                 # tulosteen lukemista. 
subprocess.call("whoami", shell=True)
print("_________________________________")
print("You are at:")
subprocess.call("pwd", shell=True)
print("_________________________________") 
print("Your ip-address is:")
subprocess.call("ifconfig| grep 'inet addr:' | cut -d: -f2 ", shell=True)
print("_________________________________")
print("These user(s) are using your computer:")
subprocess.call("w", shell=True)

# Tallensin tiedoston samaan tapaan kuin aikaisemminkin

Seuraavaksi kokeilin ajaa ohjelman ja sain tulosteeksi:

$ python myinfo.py
_________________________________
Your username is:
antti-ville
_________________________________
You are at:
/home/antti-ville/codes
_________________________________
Your ip-address is:
127.0.0.0  Mask
(tässä oli ip-osoitteeni)  Bcast
_________________________________
These user(s) are using your computer:
 22:06:41 up 1 day, 14:43,  1 user,  load average: 0.23, 0.35, 0.44
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
antti-vi tty7                      Mon08   38:42m 45:19   0.01s /bin/sh /etc/xd

Eli ohjelma toimi,hienoa! Seuraavaksi yritin saada toimimaan komennon missä vain päätteessä. Tai siis ettei aina tarvitse olla ~/codes/ -kansiossa, kun haluaa ajaa ohjelman.

Oman ohjelman käynnistäminen päätteessä

Tarkoituksena siis käynnistää python kielellä kirjoitettu myinfo.py ohjelma. Jos nyt kokeilee käynnistää ohjelmaa päätteessä tulee virheilmoitus.

bash: ./myinfo.py: Permission denied

Virheilmoituksen mukaan käyttöoikeudet eivät ole oikein, joten muokkasin niitä seuraavaksi.

Käyttöoikeuksien tarkistus tapahtuu ls -l tiedostonimi -komennolla. Ja tiedostolle annetaan ajo-oikeudet chmod ugo+x-komennolla.

$ ls -l myinfo.sh
-rw-rw-r-- 1 antti-ville antti-ville 551 Sep 18 22:11 myinfo.py
$ chmod ugo+x myinfo.sh
-rwxrwxr-x 1 antti-ville antti-ville 551 Sep 18 22:11 myinfo.py

Jotta ohjelman käynnistäminen onnistuu kaikkialta päätteessä, täytyy ohjelma kopioida yhteisiin asetuksiin.

$ sudo cp myinfo.py /usr/local/bin

Tämän jälkeen käynnistäminen onnistuu mistä vain päätteessä. Ennen muutoksia piti olla samassa kansiossa kuin tiedosto,mutta nyt ohjelman voi ajaa heti kun pääte aukeaa:

$ myinfo.py
_________________________________
Your username is:
antti-ville
_________________________________
You are at:
/home/antti-ville
_________________________________
Your ip-address is:
127.0.0.1  Mask
(ip-osoite)  Bcast
_________________________________
These user(s) are using your computer:
 22:49:39 up 1 day, 15:26,  1 user,  load average: 0.83, 0.44, 0.41
USER     TTY      FROM              LOGIN@   IDLE   JCPU   PCPU WHAT
antti-vi tty7                      Mon08   39:25m 47:23   0.01s /bin/sh /etc/xd

Lähteet

-Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

-Java http://en.wikipedia.org/wiki/Java_%28programming_language%29

-C++ http://www.ubuntugeek.com/how-to-install-c-and-c-compilers-in-ubuntu-and-testing-your-first-c-and-c-program.html

-Ruby – A Programmer’s best friend – http://www.ruby-lang.org/en/documentation/quickstart/

- Antti-Ville Jokela

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

Sähköpostin salaaminen

Sähköpostin salaaminen

Sähköpostin salaamisessa tarkoituksena on estää ja vähintäänkin vaikeuttaa sähköpostin lukemista salaa. Käytin kokeilussa OpenPGP-salausta, jonka pitäisi tällä hetkellä olla murtamaton. Se perustuu viestin salakirjoittamiseen yksilöllisen public keyn avulla, ja lukemiseen tarkoitettuun private key:hin. Public key:tä on nimensä mukaan tarkoitus jakaa ihmisille, jotka lähettävät viestiä sinulle, kun taas private key on nimensä mukaan tarkoitettu vain sinun tietouteen eikä sitä pidä antaa kenellekään muulle. Private key:n merkitystä voisi verrata vaikka kotiavaimiin:eihän kukaan anna omia kotiavaimia pois.

Testi on suoritettu samalla ASUS-kannettavalla kuin aikaisemmatkin kokeilut.

Tarvittavien ohjelmien asennus

Aloitin kokeilun päivittämällä pakettivarastot tuttuun tapaan.

$ sudo apt-get update

Tutustuin hieman käytettävään enigmail-lisäosaan etsimällä sen pakettivarastoista komennolla:

$ apt-cache search enigmail
enigmail - GPG support for Thunderbird and Debian Icedove
Tämän jälkeen asensin enigmail-lisäosan thunderbird ohjelmaan.
$ sudo apt-get install enigmail

Jos käyttää linuxia missä ei ole thunderbirdiä eikä enigmailia,komennolla voi asentaa kaiken. Kirjain “-y” tarkoittaa että asennuksen kysyessä yes/no -kysymyksiä vastaukset ovat “yes”.

$ sudo apt-get -y install thunderbird enigmail

Thunderbird:ssä enigman asennus ja salausavaimien teko

Thunderbirdissä asennus onnistui kätevästi ohjeita lukien. Asennus aloitettiin valitsemalla “OpenPGP”-valikosta “Setup Wizard”. Tämän jälkeen loin avainparin ohjelman avulla ja salasanalauseen vielä varmuuden vuoksi. “Passphrase” avulla salausavaimet voidaan etsiä ja palauttaa jos ne menee hukkaan.

Asentamisen jälkeen sähköpostin lähettäminen

Sähköpostin lähettäminen Thunderbirdissä onnistuu valitsemalla aluksi “write” -kohdan ja sitten kirjoittamalla vastaanottajan,otsikon ja tekstin. Tekstin kirjoittamisen jälkeen on salakirjoittamisen aika.

Salakirjoittaminen

Salauksen voi tehdä kahdella eri tavalla,joko klikkaamalla OpenPGP-kuvakkeesta “Encrypt message (Ctrl+Shift+E)” tai valitsemalla OpenPGP-valikosta “Encrypt message”. OpenPGP-valikosta löytyy myös kohta “Attach my public key”, jolloin sähköpostiin lisätään liitetiedostona oma henkilökohtainen public key,jonka avulla muut voivat siis lähettää sinulle viestiä. Mutta ennen kuin voit lähettää kenellekään salakirjoitettua viestiä, täytyy sinulla olla toisen henkilön public key. Testiä tehdessä pyysin kaveria kokeilemaan myös,joten lähetin testi sähköpostiviestin hänelle. Jotta lähettämisvaiheessa voidaan valita henkilö vastaanottajaksi,tulee tehdä “uusi vastaanottaja”. Tämä onnistui avaamalla OpenPGP-valikon Thunderbirdin alkuikkunasta ja valitsemalla “Key Management”. Sitten avautuvasta ikkunasta toisen public keyn voi tallentaa kahdella eri tavalla. Joko File-valikosta “Import keys from File” tai sitten Edit-valikosta “Import keys from Clipboard”. Jos haluaa tehdä uuden avainparin salausta varten,se onnistuu Key Management-ikkunan kautta klikkaamalla ensin “Generate” sitten “New key pair” ja lopuksi “Generate”. Halutessaan voi suojata avaimet vielä salasanalla tai -lauseella.

Painaessa “Send”-nappulaa Thunderbird pyytää valitsemaan vastaanottajan salakirjoutusta varten. Tässä kohtaa siis valitaan kenelle sähköpostin lukuoikeus annetaan. Kun listassa on oikean vastaanottajan public key,nimeä klikkaamalla viesti muutetaan tätä avainta vastaavaksi sähköpostiksi.

Lähteet

-Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

-Mozilla Thunderbird apusivusto https://support.mozillamessaging.com/en-US/kb/digitally-signing-and-encrypting-messages?s=enigmail&as=s

- Antti-Ville Jokela

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

OpenSSH:n kokeilu

SSH-yhteydellä on mahdollista ottaa yhteys tietokoneeseen,missä on ssh-palvelin asennettuna. Kokeilun ajankohta oli tiistai 11.9.2012 klo 16.00- ja ennen asennuksien aloittamista päivitin pakettivarastot komennolla:

$ sudo apt-get update

OpenSSH server:n asennus

Asensin OpenSSh serverin komennolla:

$ sudo apt-get install openssh-server

Asennuksen aikana kysyttiin sallitaanko levytilan muutos ja asentaminen,vastasin että y. Tämän jälkeen kokeilin ssh-yhteyden toimivuutta.

Salasanan vaihto

Ja muistutuksena että, ssh-yhteyksien kanssa on oltava erittäin hyvät salasanat!! Tässä vaiheessa ehtii vielä vaihtaa salasanan jos tuntuu siltä ettei se ehkä olekaan hyvä. Jos haluaa vaihtaa nykyisen käyttäjän salasanaa komento passwd riittää, mutta jos haluaa vaihtaa toisen käyttäjän salasanaa niin komento sudo passwd malli muuttaa käyttäjän malli salasanan. Esimerkiksi näin:

$passwd
Changing password for esimerkki.
(current) UNIX password:
Enter new UNIX password: 
Retype new UNIX password:

Ja sitten käyttäjän malli salasanan vaihto:

$sudo passwd malli
[sudo] password for esimerkki:   #Eli pääkäyttäjän salasana,jolla
Enter new UNIX password:         #on oikeus tehdä muutoksia koneeseen.
Retype new UNIX password:

Ssh-yhteydenotto omalle koneelle

Ja sitten kun on se turvallinen, vaikeasti arvattava salasana niin kokeilin yhteyden muodostamista.

$ ssh esimerkki@localhost
esimerkki@localhost's password:      #käyttäjän esimerkki salasana,ei
                                      koneen root salasana.

Tämän jälkeen kysyttiin jatketaanko yhteydenotto localhost-lähteestä,minkä avaintunnus on allamainittu. Vastasin kysymykseen yes, koska luotan localhost lähteeseen ja haluan yhdistää siihen kokeillaakseni toimiiko tämä.

The authenticity of host 'localhost (127.0.0.1)' can't be established.
ECDSA key fingerprint is e6:52:f3:65:4d:51:55:73:05:48:62:c2:23:7b:4a:26.
Are you sure you want to continue connecting (yes/no)? 
Warning: Permanently added 'localhost' (ECDSA) to the list of known hosts.

Avaintunnuksen hyväksymisen jälkeen varoitetaan etäyhteyden vaaroista ja toivotetaan tervetulleiksi käyttämään ssh-yhteyttä. Merkkinä toimivasta yhteydestä komentopäättestä näkyy samanlainen komentorivi kuin normaalistikin päätteessä. Yhteyden sulkeminen tapahtuu exit -komennolla.

antti-ville@baana:~$ exit
logout
Connection to localhost closed

Lähteet

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

- Antti-Ville Jokela

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

LAMP

LAMP koostuu sanoista Linux,Apache,MySQL ja PHP ja näitä käytetään maailmanlaajuisesti. Artikkeli on tehty kahtena eri päivänä,tarkemmat ajankohdat löytyvät artikkeleiden alusta.

LAMP:n asennus

Ajankohta 6.9.2012 klo 13.30-15.00

Asensin linuxin jo aikaisemmin ja sen jälkeen Apache2. Poistin Apache2 ensin koneelta sudo apt-get purge apache2 -komennolla, jotta saisin kerrata sen asennuksen sillä onhan kertaus opintojen äiti. Purge-komento poistaa ohjelman lisäksi myös ohjelman asetukset, joten pääsin asentamaan Apache2:n ns. puhtaaltapöydältä.

$ sudo apt-get update # pakettivarastojen päivitys
$ sudo apt-get install apache2

Sitten tein

$ sudo a2enmod userdir
$ sudo service apache2 restart
$ mkdir public_html
$ cd public_html
~:public_html$ nano index.html

Kirjoitin “Hei maailma” ja tallensin tiedoston. Kokeilin selaimen kautta http://localhost/ ,ja hyvin toimi kotisivu. Seuraavaksi asensin PHP:n.

PHP:n asennus

$ sudo apt-get install libapache2-mob-php5
$ sudoedit /etc/apache2/mods-enabled/php5.conf # Kommentoi ulos ohjeen mukaisesti
 </FilesMatch>
  # Commented out 4 lines Thu,06.09.12 jokela.anttiville
    # To re-enable php in user directories comment the following lines
    # (from <IfModule ...> to </IfModule>.) Do NOT set it to On as it
    # prevents .htaccess files from disabling it.
    #<IfModule mod_userdir.c>
    #    <Directory /home/*/public_html>
    #        php_admin_value engine Off
    #    </Directory>
    #</IfModule>
</IfModule>

$ sudo service apache restart # Aina kun tehdään muutoksia asetuksiin
                                niin pitää käynnistää ohjelma uudestaan.

Seuraavaksi tein nettisivun PHP:tä käyttäen. Aloitin nimeämällä index.html uudestaan .php muotoon.

$ cd public_html
~:public_html$ mv index.html index.php

Nettisivujen teko PHP:tä käyttäen

Nettisivuissa on kaksi lomaketta, nimi ja ikä. Ensimmäinen sivu kysyy kohdat ja seuraava sivu näyttää täytetyt kohdat ja tervehtii käyttäjää.

index.php

<!DOCTYPE HTML>  #Nämä ovat kommentteja,eivät vaikuta sivun toimintaan
<html><meta charset="utf-8" > #utf-8 on merkistökoodi,åäö-toimii
     <head> <title>Hei! </title></head> #Otsikko joka lukee selainpalkissa
  <body>
        <h1>Hyvää päivää! </h1> #h1= otsikko,lihavoitu ja isommalla fontilla
        <p>Täyttäisittekö ystävällisesti seuraavat kohdat: </p> # <p> </p> väliin tulee teksti
         <form action="action.php" method="post">               # ,näillä myös saadaan uusi rivi 
         <p>Nimenne: <input type="text" name="name" /></p>      # tehtyä. <form> </form> väliin lomakkeet.
         <p>Ikänne: <input type="text" name="age" /> vuotta</p> # "form action"-kohdassa on määritelty 
         <p><input type="submit" /></p>                         # sivu mikä näytetään klikkauksen jälkeen.
         </form>
  </body>
</html>

action.php

<!DOCTYPE HTML>
<html><meta charset="utf-8"> # merkistökoodaus
        <head><title>Hei! </title></head> # selainpalkin teksti
  <body>                                  #<p> </p> välissä teksti, joka näytetään.
        <p>Hyvää päivää <?php echo htmlspecialchars($_POST['name']); ?>. </p>
        <p>Olette <?php echo (int)$_POST['age']; ?> vuotta vanha. </p>
  </body>
</html>

Painoindeksilaskurin tekeminen

Ajankohta 9.9.2012 klo 16.30-17.45

Painoindeksilaskurin tekeminen olikin sitten jo haastavampi juttu. Tarkoituksenani oli tehdä sivu 1 ,jossa kysytään nimi,pituus ja paino. Ja sivu 2 joka näyttää painoindeksin ja kertoo onko ali-, normaali- vai ylipainoinen.

Ensimmäisen sivun lomakkeet saadaan tehtyä edellisen esimerkin index.php -sivun avulla, mutta toisen sivun laskukaavakkeen tuloksen näyttämiseen ja painoindeksin tulkitseminen oli vaikeampi

Ensimmäiselle sivulle lisäsin vain paino ja pituus -lomakkeet,muuten sivu on aivan samanlainen.

<!DOCTYPE HTML>
<html><meta charset="utf-8" >
     <head> <title>Hei! </title></head>
  <body>
        <h1>Hyvää päivää! </h1>
        <p>Saadaksenne tietää painoindeksinne täyttäkää seuraavat tiedot:: </p>

         <form action="action.php" method="post">
         <p>Nimenne: <input type="text" name="name" /></p>
         <p>Ikänne: <input type="text" name="age" /> vuotta</p>
        <p>Pituutenne: <input type="text" name="pituus" /> cm</p>
        <p>Painonne: <input type="text" name="paino" /> kg </p>
<p><input type="submit" /></p>
        </form>
  </body>
</html>

Toisen sivun tekemiseen käyttiin apuna Roger Douglass:n PHP BMI Calculator -koodia. Sivulla annetaan lupa käyttää ja muokata koodia: “…If anyone would like to modify it and give it fancy bells and whistles, be my guest.” Syy minkä takia jouduin etsimään apua koodin muodostamiseen oli laskukaavojen käyttö ja edellisen sivun lomakkeiden tietojen käyttö laskua laskettaessa.

<!DOCTYPE HTML>
<?php
$paino = $_POST['paino'];
$pituus = $_POST['pituus'];
$painoindeksi = $paino / (($pituus / 100) * ($pituus / 100));
?>

<html><meta charset="utf-8">
        <head><title>Hei! </title></head>
  <body>
        <h1>Hyvää päivää <?php echo htmlspecialchars($_POST['name']); ?>. </h1>
        <p>Olette <?php echo (int)$_POST['age']; ?> vuotta vanha </p>
        <p>ja teidän painoindeksinne on <?php echo round ($painoindeksi, 2); ?> </p>
<?php
// alipaino = <18.5, normaalipainoinen = 18.5-24,9 , ylipainoinen = 25> //
if ($painoindeksi <= 18.5) {
echo "Saat syödä hymyhuulilla lisää ruokaa! ";
}elseif (($painoindeksi > 18.5) && ($painoindeksi <= 24.9)){
echo "Hienoa! Jatka terveellistä elämääsi samaan malliin!" ;
}elseif (($painoindeksi > 24.9 && $painoindeksi <=29.9)){
echo "Olet lievästi ylipainoinen,yritä syödä terveellisemmin." ;
}else{
echo "Suosittelen tarkastamaan ruokavaliota,ja jos tarvetta on niin rohkeasti ulos. Sitä ei ikinä tiedät kenet lenkillä ollessa tapaa.";}?>
        <p>Hyvää päivänjatkoa ! </p>

</body>
</html>

Ja valmis sivu näytti sitten tältä. Jos laskimen julkistaisi kaikille nähtäväksi, kannattaisi vaihtaa myös fonttien tyyliä.

MySQL

Ajankohta 9.9.2012 klo 18-19.30

MySQL:n kanssa työskentely ei onnistunut niin kuin toivoin vaan päättyi aina samaan virheilmoitukseen mihin löytänyt suoraa vastausta internetistä. Mutta asennus ja sisäänkirjautuminen onnistui loistavasti.

$ sudo apt-get update 
$ sudo apt-get install mysql-server mysql-client

# Asennuksen aikana hyväksyin levytila muutoksen ja asennuksen puole-
  ssa välissä kysyttiin käytetäänkö apache2-ohjelmaa MySQL:n kanssa
  johon vastasin myös myöntävästi. Asennuksessa kysyttiin myös root-
  käyttäjälle salasanaa. Salasana ei saa olla sama kuin tietokoneen 
    pääkäyttäjän salasana.

MySQL:n käynnistäminen ja sisäänkirjautuminen root-tunnuksilla:

$ sudo mysql -u root -p    # -u ,tarkoittaa käyttäjää (user)
                           # -p ,että salasanaa kysytään,eikä kirjoi-
                             teta näkyvästi.

Ja sitten ongelma mihin törmäsin. Vaikutti aivan kuin olisi ollut jotkut asetukset väärin, mutta en muistanut mistä niitä lähtä etsimään. Error.log -tiedostossa ei ollut viitteitä ongelmista, joka häiritsi minua erittäin paljon.

You have an error in your SQL syntax; check the manual that corresponds
to your MySQL server version for the right syntax to use near

Tämä tuli aivan sama mitä tein, CREATE DATABASE, CREATE TABLE,GRANT ALL. Mutta onneksi voin esittää ainakin yhden kysymyksen opettajalle.

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

Tero Karvinen, Build web interface to database lamp Linux Apache MySQL PHP http://terokarvinen.com/2007/build-web-interface-to-database-lamp-linux-apache-mysql-php-4#mysql

Roger Douglass, PHP BIM Calcular – http://www.dzone.com/snippets/php-bmi-calculator

- Jokela Antti-Ville

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

Apache – maailman suosituin palvelinohjelma

Tero Karvisen Työasemat ja tietoverkot -kurssilla oli vuorossa Apachen asennus ja tutustuminen. Apacheen en ollut aikaisemmin tutustunut, mutta oppitunnin jälkeen sen helppokäyttöisyys sai jopa pienen hymyn huulille.

Artikkelissa on käytetty samaa ASUS -kannettavaa kuin aikaisemmissakin. Asennuksen ajankohta oli maanantai 3. syyskuuta 2012 kello 21.10 – 23.00.

Artikkelissa kaikki esimerkki -sanat komentopäätteessä on oman koneenne nimen tilalla. Älkää ikinä asentako oman koneenne nimeksi esimerkkiä tai muuta yhtä mielikuvituksetonta, ja muistakaa hyvät,hankalasti arvattavat salasanat!

Apachen asennus

Asennuksen aloitin päivittämällä pakettivarastot ja sitten asentamalla paketin apache2.

$ sudo apt-get update
$ sudo apt-get install apache2

Asennuksen aikana kysyessä levytilan muutoksesta vastasin kyllä “y“.

Apachen testikäyttöä

Asennuksen jälkeen kokeilin toimivuutta. Localhost on testi sivu missä näkee toimiiko sivu. Käynnistin Firefox -selaimen ja kirjoitin osoitekenttään localhost ja onnistuneesta asennuksesta merkkinä oli “It works!This is the default web page for this server.The web server software is running but no content has been added, yet.” -viesti. Testien suorittaminen suositeltavaa jokaisen muutoksen jälkeen, ettei vahingossa käy niin että kahden tunnin työ menee hukkaa yhden virheen takia.

Jotta voin kertoa kavereilleni palvelimestani, selvitin komennon ifconfigavulla oman ip-osoitteeni. Ip-osoitteen kirjoittaessa siis pääsee samalle sivulle.

Julkisen kansion teko ja sen määrittäminen käyttöön

Kaikki tiedostot public_html -kansiossa kotihakemistossa näkyvät internettiin. Joten teemme kansion kotihakemistoon ja määritämme sen apachen käyttöön. Ensin määritetään ja sen jälkeen käynnistetään palvelin uudestaan, jotta muutokset tulevat voimaan:

$ sudo a2enmod userdir
$ sudo service apache2 restart

Varmistin seuraavaksi pwd-komennolla, että olen kotihakemistossa. Jos ei ole niin kotihakemistoon pääsee tutulla cd-komennolla. Sitten tein kansion public_html ,alaviivaa ei saa unohtaa.

$ mkdir public_html

Seuraavaksi yritin päästä kansiooni selaimen kautta kirjoittaen käyttäjätunnukseni localhostin perään näin localhost/~esimerkki/. Sivu ilmoitti että 403 Forbidden error. Tämä ilmoitus tuli sen takia, koska minulla onkin kryptattu kotihakemisto en päässyt sivuille. Joten ei muuta kuin käyttöoikeuksia muuttamaan.

Käyttöoikeuksien muuttaminen

Käyttöoikeudet tarkistetaan ls -l-komennolla, ja koska on tarkoitus vain vaihtaa public_html -kansion käyttöoikeuksia, kirjoitin näin:

Ensin mennään public_html -kansioon,katsotaan oikeudet ja muutetaan niitä.

$ cd public_html
~:public_html$ ls -l
total 12
-rw-rw-r-- 1 esimerkki esimerkki 38 Sep  3 21:39 index.html

Tulosteesta huomasin, ettei käyttöoikeudet olleet oikein,joten muutin viimeisen väliviivan tilalle ajokomennon x komennolla:

$chmod ugo+x /home/esimerkki /home/esimerkki/public_html

Tämän jälkeen kun yritin samalla sivulle kuin hetki sitten, pääsin onnistuneesti sivulle.

Etusivun luonti

Jotta localhost/~esimerkki -sivustolle mentäessä näkisin jonkinlaisen sivun, tein public_html -kansioon tekstitiedoston. Ensin siis public_html -kansioon ja sitten tekstitiedoston luominen, jonka nimeksi annoin index.html.

$ cd public_html
:~public_html$ nano index.html

Kirjoitin tiedostoon “Hei maailma!”  ja painoin ctrl+x ja tallensin tiedoston. Avasin selaimen ja sivu toimi hienosti.

Apachen lokitiedosto

Apachen lokitiedostot sijaiset /var/log/apache2/ -kansiossa. Access.log -loki kertoo nimensä mukaan onnistuneet yhdistykset ja error.log -loki puolestaan epäonnistuneet. Esimerkkinä epäonnistuneesta lokitiedosta on tässä artikkelissa mainittu virheilmoitus 403 Forbidden error. Lokitiedoissa lukee selvästi että pääsy evätty (Permission denied). Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

[Mon Sep 03 21:46:37 2012] [error] [client 127.0.0.1] (13)Permission denied: access to /~esimerkki/ denied

Onnistuneesta lokitiedosta voidaan ottaa huomioon vaikka käyttöoikeuksien muuttamisen jälkeinen lokitieto /var/log/apache2/access.log -lokista.Lokissa on kerrottu mistä yhteys on otettu,milloin,syy ja käytetty selain.

127.0.0.1 - - [03/Sep/2012:22:01:31 +0300] "GET /~antti-ville/ HTTP/1.1" 200 394 "-" "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:15.0) Gecko/20100101 Firefox/15.0"

Telnet

Otin Telnetillä yhteyden Apachiin komennolla:

$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

Tämän jälkeen on mahdollisuus kirjotella kaikenlaista turhaa, mutta myös mahdollisuus ottaa yhteys vaikka omiin sivuihin, jotka tein tämän artikkelin aikana.

esimerkki@xubuntu:~$ telnet localhost 80
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
GET /~esimerkki/index.html
Hei maailma!
Connection closed by foreign host.
esimerkki@xubuntu:~$

Eli komento näytti mitä tiedostossa luki. Näistä tuli lokitiedostoihin merkintä onnistuneesta yhdistyksestä.

127.0.0.1 - - [03/Sep/2012:22:18:43 +0300] "GET /~esimerkki/index.html" 200 13 "-" "-"

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012

Telnet, Wikipedia http://en.wikipedia.org/wiki/Telnet

- Jokela Antti-Ville

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

Ylläpitoa,asentamista ja ohjelmien päivittämistä

Tietokonetta käyttäessä täytyy huolehtia myös järjestelmän päivittämisestä ja tietoturvan päivittämisestä. Linuxisssa järjestelmän päivittämisen voi tehdä joko graafista käyttöliittymää käyttäen tai komentopäätteessä. Ohjelmien asentaminen onnistuu myös molempia tapoja käyttäen. Tässä ohjeessa tutustuin myös ohjelmien etsimiseen komentopäätteessä.

Järjestelmän päivittäminen

Jos haluaa päivittää graafista käyttöliittymää käyttäen päivitys onnistuu valikosta järjestelmä (system) -> päivitysten hallinta (update manager). Tällöin järjestelmä päivittää automaattisesti pakettivarastot ja hakee päivitykset.

Komentopäätteessä päivittäessä kannattaa aloittaa päivittämällä pakettivarastot.

esimerkki@xubuntu:~$ sudo apt-get update

Pakettivarastoiden päivittämisen jälkeen järjestelmä voidaan päivittää. Samalla myös päivittyy tietoturvapäivitykset. Ja vaikka Linuxille ei ole viruksia,niin käyttöjärjestelmän päivittäminen on erittäin suositeltavaa. Tietoturvaan kun vaikuttaa yksittäiset ohjelmatkin eikä vain se onko viruksia.

esimerkki@xubuntu:~$ sudo apt-get upgrade

Ohjelmien etsiminen ja asentaminen päätteessä.

Micropolis

Komentopäätteessä on mahdollista etsiä ohjelmia hakusanojen mukaan. Esimerkiksi jos haluaisi pelata kaupungin rakennus peliä, voisi hakusanat olla city ja games.

esimerkki@xubuntu:~$ apt-cache search city games
libopenbabel-dev - Chemical toolbox library (development files)
libopenbabel-doc - Chemical toolbox library (documentation)
libopenbabel4 - Chemical toolbox library
junior-games-text - Debian Jr. Text Games
libchemistry-openbabel-perl - Chemical toolbox library (perl bindings)
micropolis - real-time city management simulator
micropolis-data - real-time city management simulator - data
openbabel - Chemical toolbox utilities (cli)
opencity - 3D city simulator game
python-openbabel - Chemical toolbox library (python bindings)

Hakutuloksissa ennen viivaa “-” oleva nimi on paketin nimi, jolla saa asennettua pelin. Paketin nimen perässä on lyhyt kuvaus paketista. Asensin micropolis -nimisen pelin, koska kuvaus oli kaikista paras. Toinen vaihtoehto olisi voinut olla opencity.

esimerkki@xubuntu:~$ sudo apt-get install micropolis

FreeCAD

Halusin etsiä linuxille suunnitteluohjelmaa, joka vastaisi mahdollisimman hyvin AutoCAD-ohjelmaan. Olin jo aikaisemmin kuullut FreeCAD -nimisestä ohjelmasta, joten halusin löytää ko. ohjelman. Etsiessäni suoraan ohjelman nimellä vastauksia tuli kolme.

antti-ville@baana:~$ apt-cache search freecad
freecad - Extensible Open Source CAx program (alpha)
freecad-dev - FreeCAD development files
freecad-doc - FreeCAD documentation

Asensin siis freecad-paketin ja ohjelma asentui onnistuneesti.

Bootchart

Boothchart ohjelmalla on mahdollisuus katsoa missä vaiheessa käynnistystä mikäkin ohjelma käynnistyy ja kuinka kauan tietokoneen käynnistys kestää. Ohjelma tuli vastaan kun etsin keinoa nopeuttaa Xubuntun käynnistymistä. Bootchartin loki löytyy /var/log/bootchart.

esimerkki@xubuntu:~$ apt-cache search bootchart
esimerkki@xubuntu:~$ sudo apt-get install bootchart

Lokitiedostoista tietoa tietokoneen tapahtumista

Tietokone tallentaa lokeihin muun muassa sisäänkirjautumiset ja niiden yritykset. Tarkastelin lokia, johon tallennetaan käyttöoikeuksien muutokset. Siis jos ajaa komentoa järjestelmäkäyttäjänä (sudo). Loki löytyi /var/log/auth.log sijainnista.

Lokista näkee edellä tehdyt asennukset:

xubuntu sudo:esimerkki :TTY=pts/0;PWD=/home/esimerkki;USER=root;COMMAND=/usr/bin/apt-get update
xubuntu sudo:pam_unix(sudo:session):session opened for user root by (uid=1000)
xubuntu sudo:pam_unix(sudo:session):session closed for user root

Ensimmäisenä lokitiedostosta näkee koneen nimen,xubuntu, seuraavana on pääkäyttäjän nimi, jonka jälkeen tulee sijainti ja komennon sijainti. Seuraavilla riveillä on maininta, että istunto on aloitettu pääkäyttäjälle ja että se on suljettu. Rivien alussa on myös aikaleimat, joista näkee kuinka kauan istunnot ovat kestäneet.

Jos joku muu yrittää tehdä pääkäyttäjän oikeuksia tarvittavia tehtäviä,ja laittaa salasanan väärin edes kerran niin lokiin tulee merkintä. Esimerkkinä yritin ajaa komennon sudo apt-get install nethack.Ja kun kysyttiin salasanaa painoin enter-painiketta ja lopuksi ctrl+c ,jotta salasanojen kysely loppuisi. Tässä vaiheessa tuli sitten ilmoitus, että yksi virheellinen salasana yritys. Lokissa tämä tapahtuma näkyy seuraavanlaisesti:

xubuntu sudo:pam_unix(sudo:auth):authentication failure;logname=uid=1000euid=0tty=/dev/pts/1 ruser=esimerkki rhost=  user=esimerkki
xubuntu sudo:pam_unix(sudo:auth):conversation failed
xubuntu sudo:pam_unix(sudo:auth):auth could not identify password for [esimerkki]
xubuntu sudo:esimerkki:1 incorrect password attempt;TTY=pts/1;PWD=/home/esimerkki;USER=root;COMMAND=/usr/bin/apt-get install nethack

Lokissa näkyy myös paljon muita tietoja, joiden näkyvyyttä en ollut edes ajatellut. Esimerkkinä näistä on ajoitetut ohjelmat, joita cron ajaa. Mutta löytyi myös yksi rivi,jonka tarkoitusta en saanut aivan kokonaan avattua.

Sep  2 17:19:54 xubuntu polkitd(authority=local): Registered Authentication Agent 
for unix-session:/org/freedesktop/ConsoleKit/Session112 (system bus name :1.512 [/usr/
lib/policykit-1-gnome/polkit-gnome-authentication-agent-1], 
object path /org/gnome/PolicyKit1/AuthenticationAgent, locale en_US.UTF-8)

Tästä sain selville sen verran, että polkitd -ohjelma/muu on tehnyt jotain, mutta mitä? No onneksi olen Tero Karvisen Työasemat ja tietoverkot-kurssilla niin voin kysyä häneltä tähän vastausta.

Lähteet:

Tero Karvinen, Työasemat ja tietoverkot -kurssi – http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012
                          Commands for Admin – http://terokarvinen.com/2008/commands-for-admin-4

- Jokela Antti-Ville

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

Muutama hyödyllinen komento aloittelijalle

Aloittelijalle tulee Xubuntua ja yleensäkin Linuxia käyttäessä komentopääte jossain vaiheessa tutuksi. Seuraavaksi yritän selventää muutamalla esimerkillä komentopäätteen toimintaa ja näyttämään samalla pari kätevää komentoa.

Komentopäätteen perusteet

Päätteen avulla tietokoneelle voi tehdä mitä vain, niin hyvää kuin erittäin pahaa.
Linuxissa kaikki tiedostot on juuressa ” / “, jossa on kansiot asennuksille,lokeille ja muille tiedostoille. Tässä on havainnollistava kuva tiedostojärjestelmästä (sis. vain tärkeimmät hakemistot aloittelevalle käyttäjälle) :

/  #ns. juuri
    home/     # käyttäjien kotihakemistot,eli esim. /home/esimerkki
         esimerkki/
           Documents/ # eli jos asiakirjat tallennetaan Documents-
                        kansioon polku on /home/esimerkki/Documents

    media/    # usb-muistit ja vastaavat löytyvät täältä
    etc/      # järjestelmän asetustiedostot tulevat tänne
    bin/      # ohjelmien binäärit löytyvät täältä, jos joskus 
                tarvii muokata niitä

Oman sijainnin päätteessä saa selville pwd-komennolla. Pääte avautuu oletusarvoisesti /home/esimerkki. Eri kansioihin mennään cd -komennolla, ja edelliseen kansioon pääsee cd .. -komennolla. Kansioiden sisällön saa näkyviin ls -komennolla.

esimerkki@xubuntu:~$ pwd
/home/esimerkki
esimerkki@xubuntu:~$ ls
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
Videos
esimerkki@xubuntu:~$ cd Documents
esimerkki@xubuntu:~/Documents$ cd ..
esimerkki@xubuntu:~$ pwd
/home/esimerkki

Kansioiden teko ja uudelleen nimeäminen

Kansioiden teko päätteessa tapahtuu komennolla mkdir.Uudelleen nimeäminen tapahtuu mv -komennolla. Samalla komennolla tapahtuu tiedostojen ja kansioiden siirto. Tiedostojen poisto tapahtuu rm -komennolla, mutta poistamisessa täytyy olla erityisen varovainen, koska mitään varmistuksia ei kysytä eikä ns. roskakoria ole olemassa. Rm -komento ei oletusarvoisesti poista kansioita, mutta kirjoittaessa rm -r komento poistaa myös kansion sisältöineen.

esimerkki@xubuntu:~$ mkdir uusikansio 
esimerkki@xubuntu:~$ ls
Desktop
Documents
Downloads
Music
Pictures
Public
Templates
uusikansio
Videos

Nimetään uusikansio uudestaan,esimerkiksi uudempikansio:ksi.

esimerkki@xubuntu:~$ mv uusikansio uudempikansio

Komennolla mv voi siis myös vaihtaa sijaintia. Siirretään uudempikansio Documents-kansioon.

esimerkki@xubuntu:~$ mv uudempikansio ./Documents
esimerkki@xubuntu:~$ cd Documents
esimerkki@xubuntu:~/Documents$ ls  #listaamalla sisällön huomaamme
uudempikansio                      #kansion siirtyneen onnistuneesti.

Tiedostojen kopioiminen tapahtuu komennolla cp.Kansioita kopioitaessa joudutaan lisäämään -r edellisen perään. Kopioimisen suhteen kannattaa myös olla varovainen, ja lukea vaikka komennon ohjesivu, man cp. Esimerkissä yllä siirretty uudempikansio kopioidaan varmuuskopio-kansioksi. Jos kansion sisällä olisi tiedostoja, nekin kopioitaisiin.

esimerkki@xubuntu:~/Documents$ cp -r uudempikansio ./varmuuskopio

 

 

Lähteet:

Tero Karvinen, työasemat ja tietoverkot -kurssi ja komentopäätteen perusteet http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat- ja-tietoverkot-ict1tn002-33-syksylla-2012
http://terokarvinen.com/2009/command-line-basics-4

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

- Jokela Antti-Ville

Avoimen lähdekoodin tarjonta suljetun lähdekoodin ohjelmien tilalle

Suljetun lähdekoodin ohjelmista avointen ohjelmien käyttöön

Windowsia melkein aina käyttäneenä Xubuntuun, ja yleensäkin avoimen lähdekoodiin, vaihtaessa tulee ennemmin tai myöhemmin vastaan tunnettujen suljetun lähdekoodin ohjelmien käyttö. Windowsissa totutut ohjelmat eivät toimikaan Xubuntussa suoraan ja Xubuntun ohjelmat ovat tuntemattomia,vähemmistön käyttämiä ohjelmia. Mutta jotta suljetusta lähdekoodista pääsisi koko eroon, ei auta muu kuin rohkeasti kokeilla uusia ohjelmia. Seuraavaksi listaan omat ohjelmani Windowsin puolella ja tutustun sitten Xubuntuun tarjolla olevan vastaavaan ohjelman käyttöön.

Testi on suoritettu 25.8.2012 klo 18.30 – 21.00 ja käytän samaa ASUS A52JT -kannettavaa kuin edellisessäkin.

Käytössä olevat suljetun lähdekoodin ohjelmat

Windowsia on tullut käytettyä eniten internetin käyttöön,musiikin kuunteluun ja asiakirjojen kirjoittamiseen. Pelejä on tullut myös pelattua hieman, mutta pelien toimivuus Linuxissa on erittäin heikkoa.

Windows Office Word 2007
Windows Office Excel 2007
Windows Office PowerPoint 2007

Mozilla Firefox
Google Chrome

VLC media player
Spotify

Adobe Photoshop CS4

Vastaavat ohjelmat avoimen lähdekoodin tarjoamana

Ohjelmia etsiessäni käytin hyväksi entuudesta tuttuja, mukana tulleita ohjelmia ja kahdelta eri sivustolta. Find Open Source Alternatives to commercial software ja Alternative.to.

Word                  —> LibreOffice Writer ( AbiWord )
Excel                 —> LibreOffice Calc
PowerPoint        —> LibreOffice Impress

Mozilla Firefox on oletusselaimena jo valmiiksi
Google Chromekin on mahdollista ladata ihan samanlaisena kuin Windowsissa,myös Chromium mahdollista ladata.

VLC media player toimii myös sellaisenaan avoimessa lähdekoodissa Ubuntu Software Centeristä ladattuna.

Spotify: Spotifyä ei löydy pakettivarastosta automaattisesti,joten asentaminen ei onnistu suoraan Ubuntun Software Centeristä, Spotifyn sivuilla annetaan kaksi vaihtoehtoa ohjelman käyttöön. Kerron jäljempänä keinot.

Adobe Photoshop CS4 —> GIMP Image Editor

Tietenkin useimpien ohjelmien käyttö virtuaali-Windowsissa, “Wine”ssä, mutta tarkoituksenani on ohjelmien käyttö ilman Wineä.

LibreOffice Writer – asentaminen ja käyttöönotto

LibreOffice Writer on mahdollisuus asentaa ohjelmakeskuksen (Ubuntu Software Center) kautta joko yksinään tai kaikki LibreOffice -ohjelmat LibreOffice-paketin valitsemalla.

Ubuntu Software Center haulla LibreOffice. Kuvassa näkyy yksittäiset ohjelmat ja alhaalla koko LibreOffice-paketti.

Klikkaamalla joko pelkkää Writer-pakettia tai koko LibreOffice -pakettia, paketin nimen tasolle ikkunan oikeaan reunaan tulee “Install” painike, josta painamalla asennus alkaa. Ensimmäiseksi joudut kirjoittamaan pääkäyttäjän salasanan, jolla on oikeus asentaa ohjelmia. Seuraavaksi asentaminen alkaa ja lopuksi asennus on valmis. Asennetut ohjelmat löytyvät valikosta.

Kuvassa kokeiltu yksinkertaisia toimintoja,Otsikko 1,Otsikko 2,leipäteksti jne.

LibreOffice Calc

LibreOffice Calc asennetaan samalla tavalla yksittäin tai koko paketin mukana. Calc:sta löytyi aika nopeasti funktiot, fonttien ja tyylien muokkaus, mutta solujen yhdistämis vaihtoehto oli jonkun aikaa hukassa. Kuvake löytyi loppujen lopuksi aivan nenän edestä,kuvakkeen nimi oli “Merge and Center Cells”.

LibreOffice Calcissa sai nopeasti kaavionkin tehtyä, ja tietoalueiden valinta tapahtui aivan samalla tavalla kuin Excelissäkin.

Kaavio saatiin klikkaamalla “Chart” -kuvaketta ja valitsemalla arvoalueet ja otsikoiden rivit ja sarakkeet.

LibreOfficen lisenssi on GNU Lesser General Public License version 3.

Spotify Linux Preview – asentaminen ja käyttö

Spotifyn asentamiseen oli siis kaksi eri vaihtoehtoa. Wine ja jonkin asteinen kokeilu-versio ,”Linux preview”. Asennan tässä Linux Preview:n päätteessä, koska Winessä käyttämiseen Spotifyn sivuilta löytyi erittäin kattava ohje englanniksi jo valmiiksi. Sivuilta löytyy myös ohje päätteessä asentamiseen (http://www.spotify.com/fi/download/previews/ ja sivun alaosassa kohta Spotify for Linux)

Eli aluksi täytyy lisätä yksi rivi lähdeluetteloon.

# 1. Add this line to your list of repositories by
#    editing your /etc/apt/sources.list
deb http://repository.spotify.com stable non-free

Asennuksessa olen käyttänyt gedit-ohjelmaa apuna,joten sen asentaminen
olla tarpeellista, jos se ei ole valmiiksi asennettu.

Avataan Apuohjelmat(Accessories)->Pääte(Terminal) ja kirjoitetaan
xubuntu@kone:~$ sudo gedit /etc/apt/sources.list ,laitetaan salasana
ja lisätään edellä mainittu rivi 
"deb http://repository.spotify.com stable non-free"
asiakirjan loppuun. Tallennetaan ja suljetaan gedit-ohjelma.

Seuraavaksi ohjeessa on mahdollisuus todentaa ladattavat paketit lisäämällä todennusavain.

# 2. If you want to verify the downloaded packages,
#    you will need to add our public key
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

Syötetään siis päätteeseen:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 94558F59

Tämän jälkeen päivitetään pakettivarastot ja asennetaan Spotify Preview

xubuntu@kone:~$ sudo apt-get update
xubuntu@kone:-$ sudo apt-get install spotify-client

Spotifyn käynnistäminen onnistuu valikosta multimedia-valikosta tai päätteessä komennolla

xubuntu@kone:-$ spotify

Käyttö onnistuu aivan samalla tavalla kuin Windowssissakin, joten käyttäminen on luonnollista käyttöjärjestelmän muuttumisesta huolimatta.

Spotify Preview toimi näillä ohjeilla asennettuna 22.8.2012 19:00-20:15 ilmaiseksi ilman ongelmia. Spotifyn asentaminen oli ohjeilla helppo, eikä missään nimessä pitäisi olla kompastuskivi Xubuntuun vaihtaessa.

Spotify Previewin tarkempi versio on 0.8.4.103.g9cb177b4 ja lisenssit löytyvät asennuksen jälkeen /usr/share/spotify/licenses.xhtml. Tiedosto oli niin pitkä ettei sitä kannattanut kopioida tähän.

GIMP

GIMP tulee Xubuntu 12.04 LTS:n mukana automaattisesti,mutta tarvittaessa sen saa myös Ubuntu Software Centeristä. Ubuntu löytyy valikosta Graphics->GIMP.

Eri työkalujen käyttöohjeita näkyy työkaluja klikkaamalla työn alapalkissa. Esimerkiksi kynää (Pencil) käyttäessä ohjeeksi tulee: “Try shift for a straight line, Ctrl to pick a color”.

Kuvanmuokkauksen tai oman taideteoksen teon jälkeen työ tallennetaan pääikkunan “File”-valikosta valitsemalla “Save as”, ja valitsemalla tiedostonimi ja tallennuspaikka.

Yhteenveto

Avoimen lähdekoodin ohjelma vaihtoehdot ovat jo nyt kattavat, mutta jotta avointa lähdekoodia saataisiin vielä paremmin esille täytyisi ohjelmavarastoiden vielä kasvaa entisestään. Ohjelmat joita kokeilin olivat niin hyviä, että voisin siirtyä käyttämään niitä päivittäin. Erittäin mukava oli huomata kuinka helposti VLC player ja Spotify asentui ja toimi Xubuntussakin.

Lähteet:

Tero Karvinen,Työasemat ja tietoverkot http://terokarvinen.com/2012/aikataulu-%E2%80%93-tyoasemat-ja-tietoverkot-ict1tn002-33-syksylla-2012
Spotify Preview for Linux http://www.spotify.com/fi/download/previews/
Find Open Source Alternatives to commercial software http://www.osalt.com
Alternative.to – Power of Choise http://www.alternative.to

-Jokela Antti-Ville

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

Previous

Xubuntu 12.04 LTS asennus ASUS A52J kannettavaan

Tehtävänäni oli ladata Xubuntu ja levyn polton jälkeen kokeilla Xubuntun toimivuutta kannettavassa. Live-CD kokeilun jälkeen päätin myös asentaa Xubuntun koneelle Windows 7 rinnalle. Asennuksen kohteena olevan A52J kannettavan ominaisuudet lyhyesti:

käyttöjärjestelmä: Windows 7 Home Premium
prosessori: Intel Core i5 460M, 2,53 GHz
keskusmuisti: 4 Gb
kiintolevy: 640 Gb
näytönohjain: ATI Radeon HD 6370M 1 Gb

Tarkemmat tiedot tästä.

Linux Xubuntun lataaminen ja asentaminen

Latasin Xubuntun Suomen Ubuntu yhteisön sivuilta 20.08.2012 klo 18:30 eikä latauksen aikana ilmennyt ongelmia. Levykuvan poltin Windowsin mukana tulevalla ohjelmalla ja käynnistyminen CD-levyltä onnistui ilman käynnistymisjärjestyksen muuttamista.

Aluksi Live-CD:ltä kokeilu ja lopputulos Windows 7 & Xubuntu 12-04 LTS rinnakkain

Käynnistettyäni kannettavan CD-levyltä kokeilin Xubuntun toimimista ennen asentamisen aloittamista. Hiiri,näppäimistö ja jopa sisäänrakennettu langaton reititin toimi heti ennen kuin olin edes asentanut käyttöjärjestelmää. Asentaminen sujui hieman hitaasti, mutta onneksi pystyin samalla lukemaan uutisia netistä. Asennuksen loppupuolella valitsin asennustavaksi rinnakkaisasennuksen, eli jätin Windows 7 vielä varmuuden vuoksi taustalle. Tämä sujui ongelmitta ja Windowsikin vielä käynnistyy. Rinnakkainasennus valikossa jouduin vain päättämään miten kovalevy jaetaan. Päädyin jättämään Windowsille vielä tässä vaiheessa enemmän levytilaa.

Jälkipyykit

Vajaan tunnin (50 min) aikana valikkoja ja internettiä selaillessani ei ilmennyt ongelmia. Jotta käyttöjärjestelmän toimivuudesta saisi paremman kuvan, pitäisi käyttöä jatkaa lisää ja kokeilla asentaa ohjelmia ja päivityksiä.

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